绕任意向量旋转分解到坐标系旋转

856 阅读1分钟

如需转载请标明出处

QQ技术交流群:129518033

一、原理解析

假设向量为(a,b,c),旋转角度为θ。

绕任意向量旋转的过程分解如下:

1. 绕x轴旋转角度α使指定的旋转轴在xOz平面上
2. 绕y轴旋转角度β使指定的旋转轴与z轴重合
3. 绕z轴旋转角度θ
4. 绕y轴旋转角度-β
5. 绕x轴旋转角度-α

最终我们要做的就是根据(a,b,c)和θ确定出α和β

2、α和β的求解

注意:这里使用的坐标系为右手坐标系

上述问题的求解可以转化为下述问题

求变换AV,使过原点的向量V=(a,b,c)与z轴的正向一致。

求解过程:

(1)将V绕x轴旋转到xz平面上;

\

(2)再绕y轴旋转使之与z轴正向重合。

\

旋转角度的确定:绕x轴旋转的角度α等于向量V在yz平面上的投影向量与z轴正向的夹角。

其实就是V1和V组成的面上的所有经过原点的向量要想通过X轴旋转到XOZ都是转的角度α。

也就是说这里找了一个这个由V1和V组成的面比较好求的向量来计算角度α,也就是下图中的V1向量。

根据向量的点乘和叉乘可以计算出α:

**
**

同理,可以计算出β:

\

\

\

\

参考:

www.cnblogs.com/graphics/ar…

www.cnblogs.com/yiyezhai/p/…

wenku.baidu.com/link?url=0I…