Можно ли с помощью open3D отобразить нормаль на поверхности меша?
Я использую Open3D для создания сетки, и в официальной сети мы можем вычислить нормаль треугольника треугольной сетки, но как визуализировать нормаль поверхности?
Спасибо вам за помощь
1 ответ
Как только вы вычислили нормали, вы можете визуализировать нормали, нажав ctrl + 9
в визуализаторе, например
import open3d as o3d
mesh = o3d.io.read_triangle_mesh('path_to_mesh')
mesh.compute_vertex_normals()
o3d.visualization.draw_geometries([mesh])
Это даст вам что-то вроде этого: Если вы хотите видеть нормали вершин как линии, я не уверен, что это поддерживается в open3d для сеток. Но вы можете преобразовать сетку в облако точек:
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(np.asarray(mesh.vertices))
pcd.estimate_normals()
а затем визуализируйте нормали, нажав n
в визуализаторе. Это даст вам что-то вроде этого: