基于法向量的点云旋转

时间:2011-06-21 16:25:14

标签: rotation point-clouds

我希望根据地板的方向旋转三维点云。我检测到了地板并计算了它的法线向量。我想使用这个法线向量来确保地板上的所有点都具有相同的y值。

由于两个归一化向量的点积是它们之间角度的余弦,因此我首先归一化当前法向量(0.856,0.958,2.58)以及所需的法向量(0.0,0.958,0.0)。点积= 0.917,因此角度= 70.586,但是在3维中,这似乎没有用。我需要进行两次旋转吗?如果是这样,对最佳方法有任何建议吗?

1 个答案:

答案 0 :(得分:0)

如果您想要一个将法线向量A转换为所需法线向量A'的旋转,则会有无数个。 (给定一个这样的旋转,你可以应用它,然后用A'周围的旋转来组合它,以获得许多做同样事情的其他旋转。)

一种在3-D中运行良好的方法是计算叉积矢量V = A x A'(与包含AA'的平面垂直)然后围绕{ {1}} VA之间的角度。 (首先测试A'A是否已经重合,这一点非常重要。)

有关如何有效地完成所有这些工作的说明here