该功能为OrientedBoundingBox类提供设置缩放比例的方法。
def scale(self, scale: Union[float, np.ndarray], center: Optional[np.ndarray] = None)
该函数没有返回值,直接操作原始OrientedBoundingBox对象。
import open3d as o3d
import numpy as np
# 创建一个示例点云
points = np.array([
[0.0, 0.0, 0.0],
[0.0, 0.0, 1.0],
[0.0, 1.0, 0.0],
[1.0, 0.0, 0.0]
])
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(points)
# 计算点云的包围盒
obb = pcd.get_oriented_bounding_box()
# 缩放操作
obb.scale(2)
# 显示结果
o3d.visualization.draw_geometries([pcd, obb])
上述示例代码创建了一个简单的点云,计算出其包围盒并进行2倍缩放操作,最后将结果点云和包围盒可视化。