三维变换:
三维变换主要包括:平移、旋转、缩放
在open3d中,针对三维对象的变换主要有translate、rotate、scale和transform
Translate 平移

• Rotate 旋转

• Scale 缩放

• Transform 变换矩阵(4*4)

三维旋转:
旋转矩阵(最终都以此进行):用九个数来表示三个自由度,矩阵中的每一列表示旋转后的单位向量方向,缺点是有冗余性,不紧凑。
旋转向量:用一个旋转轴和一个旋转角来表示旋转,但是因为周期性,任何2nπ的旋转等价于没有旋转,具有奇异性。
欧拉角:将旋转分解为三个分离的转角,常用在飞行器上,但因为万向锁问题(Gimbal Lock) 而同样具有奇异性。
四元数:是一种紧凑、易于迭代、又不会出现奇异值的表示方法。它在程序中广为使用,例如ROS和几个著名的SLAM公开数据集、g2o等程序都使用四元数记录机器人的姿态
Open3D与numpy互转:
Numpy 转 open3d.pointcloud
主要借助Vector3dVector函数,对其进行直接赋值
pcd = o3d.geometry.PointCloud(

本文介绍了Open3D库中三维变换的实现,包括平移、旋转、缩放和变换矩阵,以及与numpy的互转操作,重点讲解了旋转向量、欧拉角和四元数在表示旋转时的优势与不足。
最低0.47元/天 解锁文章
384

被折叠的 条评论
为什么被折叠?



