C ++:围绕平面法线旋转矢量

时间:2012-03-20 16:03:10

标签: c++ rotation plane irrlicht

我正试图以一定的角度围绕平面法线旋转一个点(因此它会停留在平面上)。

例如:

  • Point =(0,0,1)(在飞机上)
  • 正常=(0,1,0)
  • 角度= 33度

但似乎无法弄明白该怎么做

编辑:

旋转轴始终穿过原点(0,0,0)

3 个答案:

答案 0 :(得分:2)

如果您正在寻找3空间的轴角旋转,Rodrigues的旋转公式非常有用。维基百科页面非常好:here

答案 1 :(得分:0)

可能不是最佳的,但是:找到平面的跨度向量(称为U和V),用U和V表示点P并应用2D旋转。 PS:法线没有完全定义一个平面;此外,你至少需要飞机上的一个点。

答案 2 :(得分:0)

要计算所需的旋转矩阵,您需要一些线性代数。 an article on Wikipedia解释了您需要做什么。