作用: 返回包围几何体的有向边界框。
语法:
get_oriented_bounding_box(relative_frame=False)
参数:
返回值:
函数说明:
get_oriented_bounding_box
函数计算并返回由几何体包围的有向边界框。 该函数返回 open3d.geometry.OrientedBoundingBox
对象,该对象表示有向边界框,并提供了有关边界框的有用信息。
该函数的 relative_frame
参数(默认为False)指定是否使用相对于几何体本身的框架(本地框架)或全局框架(默认)。
示例:
import open3d as o3d
# 创建点云
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector([[0, 0, 0], [1, 0, 0], [0, 1, 0], [0, 0, 1]])
pcd_tree = o3d.geometry.KDTreeFlann(pcd)
# 返回点云的有向边界框
obb = pcd.get_oriented_bounding_box()
print(obb)
输出结果为:
geometry::OrientedBoundingBox with center: (0.333333, 0.333333, 0.333333), extents: (0.288675, 0.288675, 0.288675), and R:
[[ 0.81649658 0.33333333 -0.47140452]
[-0.40824829 0.66666667 -0.62469505]
[ 0.40824829 0.66666667 0.62469505]]
说明:
该例子展示了如何计算点云的有向边界框并打印结果。点云包含4个点,这4个点构成了一个四面体。get_oriented_bounding_box
返回了具有居中和范围的有向边界框。此外,还返回了旋转矩阵,该矩阵描述了该框架相对于全局坐标系的定位。
注意:
此函数只能用于3D几何实体。
此函数目前不支持带有自定义坐标系的点云。
有向边界框的旋转矩阵采用是列主顺序。
'get_axis_aligned_bounding_box' 函数返回轴对齐的包围盒。