![人工智能:智能机器人](https://wfqqreader-1252317822.image.myqcloud.com/cover/828/33114828/b_33114828.jpg)
2.3 通用旋转变换
我们已经在前面研究了绕x、y和z轴旋转的旋转坐标变换。下面来研究最一般的情况,即研究某个绕着从原点出发的任一向量(轴)旋转角度θ时的旋转坐标变换。
2.3.1 通用旋转变换公式
设f为坐标系{C}的z轴上的单位向量,即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_1.jpg?sign=1739624568-m1OqYQmu4suvmcwZioXvlVhs02sqS1VY-0-a3026f181f800becb7c6297e410ed86f)
绕向量f旋转等价于绕坐标系{C}的z轴旋转,即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_2.jpg?sign=1739624568-85AkBl4e9NFdF0fh8ZH3a3YU4zfItQMm-0-9a65a61275e446eab350a0dba511f464)
如果已知以参考坐标系表示的坐标系{T},那么能够求得以坐标系{C}表示的另一坐标系{S},因为
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_3.jpg?sign=1739624568-cD1L3zg6IHnV0ZQ1OTvDZS86hLRGzzRe-0-b0dffb5dedbcd5a71fc85b2c75e999b3)
式中,S表示坐标系{T}相对于坐标系{C}的位置。对S求解得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_4.jpg?sign=1739624568-wyGJwdUB3lklY7lc27RWnkCnNtXKKrwC-0-c88487394b11d20f46cdc7f2f8526554)
T 绕f旋转等价于S绕坐标系{C}的z轴旋转,即:
Rot(f,θ)T=CRot(z,θ)S
Rot(f,θ)T=CRot(z,θ)C-1T
于是可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_5.jpg?sign=1739624568-8Frpa2iexYvrXaPGeIA9AyZTw9obt0sD-0-cfd3c9ebdc9d2896ec35d7385ef590ba)
因为f为坐标系{C}的z轴上的单位向量,所以对式(2-34)加以扩展可以发现,Rot(z,θ)C-1仅仅是f的函数,因为
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_6.jpg?sign=1739624568-LwEeEChBkoMIAjWxxkwfMyvDluBtyKfJ-0-57c2112f25591d08a7abad0c07baa458)
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_43_1.jpg?sign=1739624568-15A2eXG9jSwjKdxYoo2rXKDrVz34kPaZ-0-1f37ba1194c4d13345503d0f149827af)
根据正交向量点乘、向量自乘、单位向量和相似矩阵特征值等性质,并令versinθ=1-cosθ,fx=ax,fy=ay,fz=az,f=fxi+fyj+fzk,对式(2-35)进行化简,可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_43_2.jpg?sign=1739624568-xydbnc53Joscmke3kJF4Uq7H4gUsMXiw-0-0014f1973dc212b0e7e4b7140644fa48)
这是一个重要的结果。从上述通用旋转变换公式能够求得各个基本旋转变换。例如,当fx=1、fy=0和fz=0时,Rot(f,θ)=Rot(x,θ)。若把这些数值代入式(2-36),可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_43_3.jpg?sign=1739624568-uC0IKVcko4jRUt5URJxndyxMHtpfK6hN-0-93a6f53317466fb3bb663383e53f69a9)
这与式(2-24)一致。
2.3.2 等效转角与转轴
对于任一旋转变换,均能够由式(2-36)求得进行等效转角的转轴。已知旋转变换:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_1.jpg?sign=1739624568-ku6YZhZr5BWYwhpPnyuwBkZ59cG5s4Y8-0-457839a4a10eb7c5a1c849e027c563a6)
令R=Rot(f, θ),即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_2.jpg?sign=1739624568-OP67UMCIksnLsXjwtZsOSAMpA0ZIfGfJ-0-1ffe29217fccb0cd13569210b56a683e)
把式(2-37)右边除元素1以外的对角线项分别相加并进行化简,可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_3.jpg?sign=1739624568-Exx3XDPq8w918XEhGiyZ7fvyG5MQkPG0-0-acf35f9d5eb26b2ee91245e13cac7dcd)
以及
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_4.jpg?sign=1739624568-dXCVY7HGacxGhEa5yTe66LEx8gqGXtqN-0-094bc7991c72e1163b11868eac3841f4)
把式(2-37)中的非对角线项成对相减,可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_5.jpg?sign=1739624568-WolqKKBNUfOjnYhVC43Z7G0dGcJEWUpe-0-8625512da9c1ae766220c2114007b017)
将式(2-40)各行平方相加后,可得:
(ox-ay)2+(ax-nz) 2+(ny-ox) 2=4sin2θ
以及
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_6.jpg?sign=1739624568-7pCmsDNWq0n4yilb7yuf16n5HOrTPk0d-0-b2837d07fd6a5532e1f22425715261ad)
把旋转规定为绕向量f的正向旋转,使得0≤θ≤180°[16]。这时,式(2-41)中的符号取正号。于是,角度θ被唯一地确定为:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_7.jpg?sign=1739624568-QTOAyoqQmHqHHMkHbm2IxwVGbQ7JnKjV-0-3e0cacc9ac3a106c6dd2b44a9a0af5d5)
向量f的各分量可由式(2-40)求得,即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_45_1.jpg?sign=1739624568-DrEje4daNlrtwyhd9YQZkxf676M7E3sY-0-0fce96c902c735c781f5d86905192154)