Bounding Volume이란?

3D 객체를 감싸는 단순한 기하학적 형태 (상자, 구 등). 복잡한 형상을 간단한 도형으로 근사화.

왜 필요한가?

3D 데이터의 공간 범위를 빠르게 파악하고, 충돌 감지, 객체 선택, 영역 분할 등에 활용

Bounding Box란?

포인트 클라우드나 메쉬를 감싸는 최소 상자

1. AABB (Axis-Aligned Bounding Box)

2. OBB (Oriented Bounding Box)

코드 예제


import open3d as o3d

demo_crop_data = o3d.data.DemoCropPointCloud()
pcd = o3d.io.read_point_cloud(demo_crop_data.point_cloud_path)
vol = o3d.visualization.read_selection_polygon_volume(demo_crop_data.cropped_json_path)
chair = vol.crop_point_cloud(pcd)

aabb = chair.get_axis_aligned_bounding_box()
aabb.color = (1, 0, 0)
obb = chair.get_oriented_bounding_box()
obb.color = (0, 1, 0)

o3d.visualization.draw_geometries(
    [chair, aabb, obb],
    zoom=0.7,
    front=[0.5439, -0.2333, -0.8060],
    lookat=[2.4615, 2.1331, 1.338],
    up=[-0.1781, -0.9708, 0.1608]
)

image.png