C++ C++;:围绕平面法线旋转向量
我试着围绕平面法线旋转平面上的一个点,旋转角度一定(所以它保持在平面上) 例如:C++ C++;:围绕平面法线旋转向量,c++,rotation,plane,irrlicht,C++,Rotation,Plane,Irrlicht,我试着围绕平面法线旋转平面上的一个点,旋转角度一定(所以它保持在平面上) 例如: 点=(0,0,1)(在平面上) 正常=(0,1,0) 角度=33度 但似乎不知道怎么做 编辑: 旋转轴始终通过原点(0,0,0)可能不是最佳的,但是:找到平面的跨度向量(称为U和V),用U和V表示点p,并应用2D旋转。PS:法线不能完全定义平面;此外,平面上至少还需要一个点。要计算所需的旋转矩阵,需要一点线性代数。有一个公式可以解释你需要做什么。如果你在3空间中寻找轴角度旋转,罗德里格斯的旋转公式非常有用。维基
- 点=(0,0,1)(在平面上)
- 正常=(0,1,0)
- 角度=33度
旋转轴始终通过原点(0,0,0)可能不是最佳的,但是:找到平面的跨度向量(称为U和V),用U和V表示点p,并应用2D旋转。PS:法线不能完全定义平面;此外,平面上至少还需要一个点。要计算所需的旋转矩阵,需要一点线性代数。有一个公式可以解释你需要做什么。如果你在3空间中寻找轴角度旋转,罗德里格斯的旋转公式非常有用。维基百科页面非常好:我想你的意思是旋转轴通过原点?是的,它通过原点。它总是通过(0,0,0)那么是你需要帮助的数学,还是irrlichtapi,或者仅仅是什么?您尝试过什么?然后法线和该点唯一地确定平面,并且由于该点位于旋转轴上,因此旋转将为no-op。事实上,否。op声明(在编辑中)“旋转轴始终通过原点(0,0,0)”。要旋转的点在平面上,但不一定(事实上,不太可能)在该轴上。那么,我责怪OP对问题的描述不完整(我在他评论之前阅读了文本)。不过,我描述的方法仍然有效。