![人工智能:智能机器人](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=1738973206-BiJ1PEcDRlISoMa5vn7jN3gQDqUvWbFo-0-12c28e076532049fdbda3d08ec8d139c)
绕向量f旋转等价于绕坐标系{C}的z轴旋转,即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_2.jpg?sign=1738973206-cZSr7inxNzFUPgDcWuFI4VNRjyLLdm0c-0-124bb25632ee612ba3a425e108bdfaae)
如果已知以参考坐标系表示的坐标系{T},那么能够求得以坐标系{C}表示的另一坐标系{S},因为
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_3.jpg?sign=1738973206-82qsRLWxZZsh4CWxfG1WTqYRTexC2HNr-0-21b5f77ca32194d9cfdd89b51a975869)
式中,S表示坐标系{T}相对于坐标系{C}的位置。对S求解得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_4.jpg?sign=1738973206-iyNuUEypbQTomH1FatEnBAZsuDvBzwRj-0-210f1ec143f143c0f409f747a2a677f4)
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=1738973206-kOH40ECkIlEiy7K08SlSQP1h1WoEwFyS-0-b01b44ffe764c8f3df2abd246c5dbdbf)
因为f为坐标系{C}的z轴上的单位向量,所以对式(2-34)加以扩展可以发现,Rot(z,θ)C-1仅仅是f的函数,因为
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_42_6.jpg?sign=1738973206-S9C6tpe0QCo0ymuurqWM9H683vvPjSYZ-0-dd71791f213a57d926681f7a67832c9d)
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_43_1.jpg?sign=1738973206-fl2SwfMMFNPfhJYGdCo7jY7DiG5S3H4K-0-90515289df97db9b31338a87102f1510)
根据正交向量点乘、向量自乘、单位向量和相似矩阵特征值等性质,并令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=1738973206-Cg3WJFjHw8aZSoYITakR0l9TIg9iGMn6-0-2a57f7ebc7cc5bfa04c01bccfe58ca92)
这是一个重要的结果。从上述通用旋转变换公式能够求得各个基本旋转变换。例如,当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=1738973206-xcbaYPQo359PaBNbCs4X5YXqV77p172B-0-48a31ef74c900d2e996141ad984b5f77)
这与式(2-24)一致。
2.3.2 等效转角与转轴
对于任一旋转变换,均能够由式(2-36)求得进行等效转角的转轴。已知旋转变换:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_1.jpg?sign=1738973206-xVoABfZKfNwkd9WGsulUNcHQRxi4fz4V-0-b03d597357a965d6374a7f862332bcdf)
令R=Rot(f, θ),即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_2.jpg?sign=1738973206-TXWaYHTnLskrb0hLDIVmoRgxnUgu9kZK-0-691841817860b6ba634185a83a563d72)
把式(2-37)右边除元素1以外的对角线项分别相加并进行化简,可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_3.jpg?sign=1738973206-VFt7B4sDd2cwjfpl3ynov6dMJ8MAbLrt-0-5eb2b6423fc788e53e04733cda304eb8)
以及
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_4.jpg?sign=1738973206-Sp9ffctVk8w7gpTxlqNJ0qCwaloAIpk9-0-7d2bc24717aee953484109bdd1ee4f09)
把式(2-37)中的非对角线项成对相减,可得:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_5.jpg?sign=1738973206-pPtVBLDLrUYy5wzkmoqvzNHEjndDE62n-0-deeb8b40c3d54ecc5e5d35cadf854d9b)
将式(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=1738973206-JfhgapeJrQt3cohmsW3t9TGEr2d0RKXs-0-1c277534d9a3819d057b632be7e42f4e)
把旋转规定为绕向量f的正向旋转,使得0≤θ≤180°[16]。这时,式(2-41)中的符号取正号。于是,角度θ被唯一地确定为:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_44_7.jpg?sign=1738973206-ofrv0sdSUediWeIAHz0TfJayNjTgoaNU-0-4ccb37fd67d219905d30424bc44b55da)
向量f的各分量可由式(2-40)求得,即:
![](https://epubservercos.yuewen.com/FD2240/17725770706724906/epubprivate/OEBPS/Images/38284_45_1.jpg?sign=1738973206-yAaHw9vgN3q8b4rWLEYdNQ5wamHdYgBi-0-4ace93380621e78177430348f48675e8)