人工智能:智能机器人
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3 通用旋转变换

我们已经在前面研究了绕xyz轴旋转的旋转坐标变换。下面来研究最一般的情况,即研究某个绕着从原点出发的任一向量(轴)旋转角度θ时的旋转坐标变换。

2.3.1 通用旋转变换公式

f为坐标系{C}的z轴上的单位向量,即:

绕向量f旋转等价于绕坐标系{C}的z轴旋转,即:

如果已知以参考坐标系表示的坐标系{T},那么能够求得以坐标系{C}表示的另一坐标系{S},因为

式中,S表示坐标系{T}相对于坐标系{C}的位置。对S求解得:

Tf旋转等价于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=axfy=ayfz=azf=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)求得,即: