2.3 通用旋转变换
我们已经在前面研究了绕x、y和z轴旋转的旋转坐标变换。下面来研究最一般的情况,即研究某个绕着从原点出发的任一向量(轴)旋转角度θ时的旋转坐标变换。
2.3.1 通用旋转变换公式
设f为坐标系{C}的z轴上的单位向量,即:
绕向量f旋转等价于绕坐标系{C}的z轴旋转,即:
如果已知以参考坐标系表示的坐标系{T},那么能够求得以坐标系{C}表示的另一坐标系{S},因为
式中,S表示坐标系{T}相对于坐标系{C}的位置。对S求解得:
T 绕f旋转等价于S绕坐标系{C}的z轴旋转,即:
Rot(f,θ)T=CRot(z,θ)S
Rot(f,θ)T=CRot(z,θ)C-1T
于是可得:
因为f为坐标系{C}的z轴上的单位向量,所以对式(2-34)加以扩展可以发现,Rot(z,θ)C-1仅仅是f的函数,因为
根据正交向量点乘、向量自乘、单位向量和相似矩阵特征值等性质,并令versinθ=1-cosθ,fx=ax,fy=ay,fz=az,f=fxi+fyj+fzk,对式(2-35)进行化简,可得:
这是一个重要的结果。从上述通用旋转变换公式能够求得各个基本旋转变换。例如,当fx=1、fy=0和fz=0时,Rot(f,θ)=Rot(x,θ)。若把这些数值代入式(2-36),可得:
这与式(2-24)一致。
2.3.2 等效转角与转轴
对于任一旋转变换,均能够由式(2-36)求得进行等效转角的转轴。已知旋转变换:
令R=Rot(f, θ),即:
把式(2-37)右边除元素1以外的对角线项分别相加并进行化简,可得:
以及
把式(2-37)中的非对角线项成对相减,可得:
将式(2-40)各行平方相加后,可得:
(ox-ay)2+(ax-nz) 2+(ny-ox) 2=4sin2θ
以及
把旋转规定为绕向量f的正向旋转,使得0≤θ≤180°[16]。这时,式(2-41)中的符号取正号。于是,角度θ被唯一地确定为:
向量f的各分量可由式(2-40)求得,即: