transform
方法用于对 open3d.geometry.PointCloud
进行仿射变换,包括旋转、平移和缩放等操作。
transform(transformation: np.ndarray) -> open3d.geometry.PointCloud
参数说明:
transformation
:4×4 的可逆变换矩阵,可以表示旋转、平移和缩放等操作。返回值:
open3d.geometry.PointCloud
:返回一个新的 open3d.geometry.PointCloud
对象,表示变换后的点云。以下示例演示如何对点云进行旋转并可视化:
import open3d as o3d
import numpy as np
# 创建一个点云对象
pcd = o3d.geometry.PointCloud()
pcd.points = o3d.utility.Vector3dVector(np.array([[1, 0, 0], [0, 1, 0], [0, 0, 1]]))
# 定义旋转矩阵
R = np.array([[0, -1, 0, 0], [1, 0, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]])
# 进行旋转操作,并可视化
pcd_rotated = pcd.transform(R)
o3d.visualization.draw_geometries([pcd, pcd_rotated])
输出结果如下图所示: