주어진 점들을 모두 포함하는 최소 볼록 껍질. 고무줄로 점들을 감싼 것처럼 바깥쪽 경계를 형성.
복잡한 3D 형상을 단순화해서 충돌 감지, 부피 계산, 객체 경계 파악 등에 활용
import open3d as o3d
bunny = o3d.data.BunnyMesh()
mesh = o3d.io.read_triangle_mesh(bunny.path)
mesh.compute_vertex_normals()
pcl = mesh.sample_points_poisson_disk(number_of_points=2000)
hull, _ = pcl.compute_convex_hull()
hull_ls = o3d.geometry.LineSet.create_from_triangle_mesh(hull)
hull_ls.paint_uniform_color((1, 0, 0))
o3d.visualization.draw_geometries([pcl, hull_ls])

sample_points_poisson_disk(number_of_points) 함수에서 number_of_points 값을 낮출 경우, 아래와 같이 이전보다 섬세함이 떨어지는 것을 확인할 수 있다
pcl = mesh.sample_points_poisson_disk(number_of_points=100)

sample_points_poisson_disk(number_of_points)
number_of_points의 영향