首页 > 解决方案 > 点云围绕任意轴的 3D 旋转

问题描述

我试图弄清楚点云围绕任意轴的 3d 旋转。我真的很接近理解它背后的整个数学,但还没有。

下面根据https://sites.google.com/site/glennmurray/Home/rotation-matrices-and-formulas/rotation-about-an-arbitrary-axis-in-3-dimensions
定义步骤(1)平移空间使旋转轴通过原点。
(2) 围绕 z 轴旋转空间,使旋转轴位于 ​​xz 平面内。
(3) 围绕 y 轴旋转空间,使旋转轴位于 ​​z 轴上。
(4) 围绕 z 轴执行所需的 θ 旋转。
(5) 应用步骤 (3) 的逆操作。
(6) 应用步骤 (2) 的逆操作。
(7) 应用步骤 (1) 的逆操作。

我应该对云中的所有点逐一应用这些步骤,还是应该为云中的点找到一个中心然后应用?还是两者都会给出相同的结果?

如果我从任意轴绘制一个向量到质心并应用上述步骤来找到变换矩阵,然后将所有点与该矩阵相乘,我会做对吗?

我认为的另一种方法是为每个点绘制矢量并为每个单独的点应用步骤。我猜这将导致每个点都有不同的转换矩阵。

我正在尝试将它们集成到 PCL C++ 中。

标签: 3drotationpoint-clouds

解决方案


推荐阅读