C++:围绕平面法线旋转向量
C++: Rotate vector around normal of plane
我试图将平面上的一个点围绕平面的法线旋转一定角度(使其保持在平面上)。
例如:
- 点=(0,0,1)(在平面上)
- 法线=(0,1,0)
- 角度=33度
但似乎不知道如何做到
编辑:
旋转轴始终通过原点(0,0,0)
如果您正在寻找3空间中的轴角旋转,Rodrigues的旋转公式非常有用。维基百科的页面非常好:这里是
可能不是最优的,但是:找到平面的跨度向量(称为U和V),用U和V表示点p,并应用2D旋转。PS:法线不能完全定义平面;此外,平面上至少需要一个点。
要计算所需的旋转矩阵,需要一些线性代数。维基百科上有一篇文章解释了你需要做什么
相关文章:
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 如何在 c++ 中旋转向量中的每个第 N 个元素
- 当表示为对象的一维向量时,有效地旋转 NxM 矩阵 (C++)
- 手动旋转向量
- C++向量的向量.阵列旋转 90 度
- 如何使用C++构建可以旋转的向量数组
- 旋转gluLookAt的LookAt向量
- 两组向量之间的四元旋转
- 旋转向量(数组)
- 旋转一个向量以达到与另一个向量的正交性
- 围绕具有3x3矩阵和平移向量的点旋转
- opencv:使用旋转和平移向量设置模型位置
- C++:围绕平面法线旋转向量
- 如何计算基于方向向量的旋转矩阵
- 向量旋转问题
- OpenGL -为glRotate()找到旋转向量
- 将整数的数字拆分为向量,旋转它们,然后转换回整数