找到旋转轴

时间:2012-03-20 13:57:26

标签: math eigen

我正在使用特征库来旋转平面以与地平面平行。 使用法向量(0,0,1)定义地平面 目标平面是一组3D点和法线 旋转角度是已知的 平面的法向矢量以及该平面上的每个点都必须旋转以平行于地平面

我想使用仿射变换 http://eigen.tuxfamily.org/api/TutorialGeometry.html 像这样的东西

变换t = AngleAxisf(a,axis);
在这种情况下,轴是表示任意轴的矩阵,沿着该矩阵发生旋转。 如何找到这个轴?

非常感谢

1 个答案:

答案 0 :(得分:4)

使两个平面平行可以通过使它们的法线平行来完成,因此您只需找到轴来旋转目标平面法线即可。这只是垂直于地平面法线和目标平面法线的轴,可以使用叉积找到。在您的情况下,如果目标平面的法线为[x,y,z],则旋转轴为[y,-x,0]。