绕固定坐标轴旋转与绕自身坐标轴旋转一致性证明
??最近在看人頭姿態(tài)和視線方向檢測的東西,需要考慮坐標(biāo)系與坐標(biāo)系之間的旋轉(zhuǎn).用歐拉角表示坐標(biāo)系的旋轉(zhuǎn)時存在兩種旋轉(zhuǎn)方法,另外旋轉(zhuǎn)的順序也會對旋轉(zhuǎn)結(jié)果有影響,查了一些資料總結(jié)一下結(jié)果.
??描述坐標(biāo)系B\textbf{B}B相對于坐標(biāo)系A\textbf{A}A的姿態(tài)有兩種方式:第一種是繞固定坐標(biāo)軸旋轉(zhuǎn),第二種是繞自身坐標(biāo)軸旋轉(zhuǎn).假設(shè)坐標(biāo)系A\textbf{A}A為世界坐標(biāo)系(不動),坐標(biāo)系B\textbf{B}B為旋轉(zhuǎn)坐標(biāo)系,兩個坐標(biāo)系在開始時重合,則:
-
繞固定坐標(biāo)軸旋轉(zhuǎn):
先將B\textbf{B}B繞A\textbf{A}A的X\textbf{X}X軸旋轉(zhuǎn)α\alphaα,再將B\textbf{B}B繞A\textbf{A}A的Y\textbf{Y}Y軸旋轉(zhuǎn)β\betaβ,最后將B\textbf{B}B繞A\textbf{A}A的Z\textbf{Z}Z軸旋轉(zhuǎn)γ\gammaγ.旋轉(zhuǎn)過程中坐標(biāo)系A\textbf{A}A是不動的,其三個坐標(biāo)軸也是固定的,因此稱這種旋轉(zhuǎn)方法為繞固定軸旋轉(zhuǎn).注意這里的旋轉(zhuǎn)方向為先X\textbf{X}X軸,再Y\textbf{Y}Y軸,最后Z\textbf{Z}Z軸.
-
繞自身坐標(biāo)軸旋轉(zhuǎn):
先將B\textbf{B}B繞B\textbf{B}B的Z\textbf{Z}Z軸旋轉(zhuǎn)γ\gammaγ,再將B\textbf{B}B繞B\textbf{B}B的Y\textbf{Y}Y軸旋轉(zhuǎn)β\betaβ,最后將B\textbf{B}B繞B\textbf{B}B的X\textbf{X}X軸旋轉(zhuǎn)α\alphaα.旋轉(zhuǎn)過程中坐標(biāo)系B\textbf{B}B是變化的,其三個坐標(biāo)軸也是變化的,稱這種旋轉(zhuǎn)方法為繞固自身旋轉(zhuǎn).注意這里的旋轉(zhuǎn)方向為先Z\textbf{Z}Z軸,再Y\textbf{Y}Y軸,最后X\textbf{X}X軸.和第一種旋轉(zhuǎn)方式的旋轉(zhuǎn)順序不同,原因是后面要給出的結(jié)論.
-
結(jié)論:
以繞固定軸方式,先X\textbf{X}X軸轉(zhuǎn)α\alphaα,再Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ的旋轉(zhuǎn)和以繞自身軸方式,先Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ,再Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后X\textbf{X}X軸轉(zhuǎn)α\alphaα的旋轉(zhuǎn)是等效的,下面給出"僵硬"的數(shù)學(xué)證明.
-
證明:
我們知道,坐標(biāo)軸的旋轉(zhuǎn)可以用旋轉(zhuǎn)矩陣來表示,為了證明上述兩種旋轉(zhuǎn)方法是等效的,只需要證明兩種旋轉(zhuǎn)方法對應(yīng)的旋轉(zhuǎn)矩陣是相同的.
-
對于繞固定軸方式,先X\textbf{X}X軸轉(zhuǎn)α\alphaα,再Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ的旋轉(zhuǎn),其旋轉(zhuǎn)矩陣R\textbf{R}R容易得到:
RX(α)=[1000cos(α)?sin(α)0sin(α)cos(α)]R_X(\alpha) = \left [\begin{matrix} 1&0&0 \\ 0&cos(\alpha)&-sin(\alpha) \\0&sin(\alpha)&cos(\alpha)\end{matrix}\right ]RX?(α)=???100?0cos(α)sin(α)?0?sin(α)cos(α)????
RY(β)=[cos(β)0sin(β)010?sin(β)0cos(β)]R_Y(\beta) = \left [\begin{matrix} cos(\beta)&0&sin(\beta) \\ 0&1&0 \\-sin(\beta)&0&cos(\beta)\end{matrix}\right ]RY?(β)=???cos(β)0?sin(β)?010?sin(β)0cos(β)????
RZ(γ)=[cos(γ)?sin(γ)0sin(γ)cos(γ)0001]R_Z(\gamma) = \left [\begin{matrix} cos(\gamma)&-sin(\gamma)&0 \\ sin(\gamma)&cos(\gamma)&0 \\0&0&1\end{matrix}\right ]RZ?(γ)=???cos(γ)sin(γ)0??sin(γ)cos(γ)0?001????
R=RZ(γ)×RY(α)×RX(α)=[cos(β)cos(γ)sin(α)sin(β)cos(γ)?cos(α)sin(γ)cos(α)sin(β)cos(γ)+sin(α)sin(γ)cos(β)sin(γ)sin(α)sin(β)sin(γ)+cos(α)cos(γ)cos(α)sin(β)sin(γ)?sin(α)cos(γ)?sin(β)sin(α)cos(γ)cos(α)cos(γ)]\textbf{R} = R_Z(\gamma) \times R_Y(\alpha) \times R_X(\alpha) = \\ \\ \left [\begin{matrix} cos(\beta)cos(\gamma)&sin(\alpha)sin(\beta)cos(\gamma)-cos(\alpha)sin(\gamma)&cos(\alpha)sin(\beta)cos(\gamma)+sin(\alpha)sin(\gamma)\\cos(\beta)sin(\gamma)&sin(\alpha)sin(\beta)sin(\gamma)+cos(\alpha)cos(\gamma)&cos(\alpha)sin(\beta)sin(\gamma)-sin(\alpha)cos(\gamma)\\-sin(\beta)&sin(\alpha)cos(\gamma)&cos(\alpha)cos(\gamma)\end{matrix}\right ]R=RZ?(γ)×RY?(α)×RX?(α)=???cos(β)cos(γ)cos(β)sin(γ)?sin(β)?sin(α)sin(β)cos(γ)?cos(α)sin(γ)sin(α)sin(β)sin(γ)+cos(α)cos(γ)sin(α)cos(γ)?cos(α)sin(β)cos(γ)+sin(α)sin(γ)cos(α)sin(β)sin(γ)?sin(α)cos(γ)cos(α)cos(γ)????
-
對于繞自身軸方式,先Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ,再Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后X\textbf{X}X軸轉(zhuǎn)α\alphaα的旋轉(zhuǎn),其旋轉(zhuǎn)矩陣R\textbf{R}R.首先給出坐標(biāo)系繞任意以單位向量表示方向的定軸(x,y,z)(x,y,z)(x,y,z)旋轉(zhuǎn)θ\thetaθ的旋轉(zhuǎn)矩陣為:
r=[cos(θ)+(1?cos(θ))x2(1?cos(θ))xy?sin(θ)z(1?cos(θ))xz+sin(θ)y(1?cos(θ))xy+sin(θ)zcos(θ)+(1?cos(θ))y2(1?cos(θ))yz?sin(θ)x(1?cos(θ))xz?sin(θ)y(1?cos(θ))yz+sin(θ)xcos(θ)+(1?cos(θ))z2]\textbf{r} = \left [\begin{matrix} cos(\theta)+(1-cos(\theta))x^2&(1-cos(\theta))xy-sin(\theta)z&(1-cos(\theta))xz+sin(\theta)y\\(1-cos(\theta))xy+sin(\theta)z&cos(\theta)+(1-cos(\theta))y^2&(1-cos(\theta))yz-sin(\theta)x\\(1-cos(\theta))xz-sin(\theta)y&(1-cos(\theta))yz+sin(\theta)x&cos(\theta)+(1-cos(\theta))z^2\end{matrix}\right ]r=???cos(θ)+(1?cos(θ))x2(1?cos(θ))xy+sin(θ)z(1?cos(θ))xz?sin(θ)y?(1?cos(θ))xy?sin(θ)zcos(θ)+(1?cos(θ))y2(1?cos(θ))yz+sin(θ)x?(1?cos(θ))xz+sin(θ)y(1?cos(θ))yz?sin(θ)xcos(θ)+(1?cos(θ))z2????
則先Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ對應(yīng)的旋轉(zhuǎn)矩陣RZ(γ)R_Z(\gamma)RZ?(γ):
RZ(γ)=[cos(γ)?sin(γ)0sin(γ)cos(γ)0001]R_Z(\gamma) = \left [\begin{matrix} cos(\gamma)&-sin(\gamma)&0 \\ sin(\gamma)&cos(\gamma)&0 \\0&0&1\end{matrix}\right ]RZ?(γ)=???cos(γ)sin(γ)0??sin(γ)cos(γ)0?001????
旋轉(zhuǎn)后的Y\textbf{Y}Y軸由(0,1,0)(0,1,0)(0,1,0)變成了(?sin(γ),cos(γ),0)(-sin(\gamma),cos(\gamma),0)(?sin(γ),cos(γ),0),再按照繞任意軸的公式計算得到繞此時的Y\textbf{Y}Y軸旋轉(zhuǎn)β\betaβ對應(yīng)的旋轉(zhuǎn)矩陣為:
RY(β)=[cos(β)?sin2(γ)(cos(β)?1)cos(γ)sin(γ)(cos(β)?1)sin(β)cos(γ)cos(γ)sin(γ)(cos(β)?1)cos(β)?cos2(γ)(cos(β)?1)sin(β)sin(γ)?sin(β)cos(γ)?sin(β)sin(γ)cos(β)]R_Y(\beta) = \left [\begin{matrix} cos(\beta)-sin^2(\gamma)(cos(\beta)-1)&cos(\gamma)sin(\gamma)(cos(\beta)-1)&sin(\beta)cos(\gamma) \\ cos(\gamma)sin(\gamma)(cos(\beta)-1)&cos(\beta)-cos^2(\gamma)(cos(\beta)-1)&sin(\beta)sin(\gamma) \\-sin(\beta)cos(\gamma)&-sin(\beta)sin(\gamma)&cos(\beta)\end{matrix}\right ]RY?(β)=???cos(β)?sin2(γ)(cos(β)?1)cos(γ)sin(γ)(cos(β)?1)?sin(β)cos(γ)?cos(γ)sin(γ)(cos(β)?1)cos(β)?cos2(γ)(cos(β)?1)?sin(β)sin(γ)?sin(β)cos(γ)sin(β)sin(γ)cos(β)????
則兩步旋轉(zhuǎn)后的旋轉(zhuǎn)矩陣為RY(β)×RZ(γ)R_Y(\beta)\times R_Z(\gamma)RY?(β)×RZ?(γ):
RY(β)×RZ(γ)=[cos(β)cos(γ)?sin(γ)sin(β)cos(γ)cos(β)sin(γ)cos(γ)sin(β)sin(γ)?sin(β)0cos(β)]R_Y(\beta)\times R_Z(\gamma)=\left[\begin{matrix}cos(\beta)cos(\gamma)&-sin(\gamma)&sin(\beta)cos(\gamma)\\cos(\beta)sin(\gamma)&cos(\gamma)&sin(\beta)sin(\gamma)\\-sin(\beta)&0&cos(\beta)\end{matrix}\right]RY?(β)×RZ?(γ)=???cos(β)cos(γ)cos(β)sin(γ)?sin(β)??sin(γ)cos(γ)0?sin(β)cos(γ)sin(β)sin(γ)cos(β)????
旋轉(zhuǎn)后的X\textbf{X}X軸由(1,0,0)(1,0,0)(1,0,0)變成了(cos(β)cos(γ),?sin(γ),sin(β)cos(γ))(cos(\beta)cos(\gamma),-sin(\gamma),sin(\beta)cos(\gamma))(cos(β)cos(γ),?sin(γ),sin(β)cos(γ)),再按照繞任意軸的公式計算得到繞此時的X\textbf{X}X軸旋轉(zhuǎn)α\alphaα對應(yīng)的旋轉(zhuǎn)矩陣為RX(α)R_X(\alpha)RX?(α):
這個矩陣實在太長了我不想寫了,反正就是按照上面的任意軸公式,把x=cos(β)cos(γ),y=?sin(γ),z=sin(β)cos(γ)x=cos(\beta)cos(\gamma),y=-sin(\gamma),z=sin(\beta)cos(\gamma)x=cos(β)cos(γ),y=?sin(γ),z=sin(β)cos(γ)和θ=γ\theta=\gammaθ=γ往里一代就行了.
最后總的旋轉(zhuǎn)矩陣R=RX(α)×RY(β)×RZ(γ)\textbf{R} = R_X(\alpha)\times R_Y(\beta)\times R_Z(\gamma)R=RX?(α)×RY?(β)×RZ?(γ) ,把各部的結(jié)果代進去一算,就得到了最終結(jié)果:
R=[cos(β)cos(γ)sin(α)sin(β)cos(γ)?cos(α)sin(γ)cos(α)sin(β)cos(γ)+sin(α)sin(γ)cos(β)sin(γ)sin(α)sin(β)sin(γ)+cos(α)cos(γ)cos(α)sin(β)sin(γ)?sin(α)cos(γ)?sin(β)sin(α)cos(γ)cos(α)cos(γ)]\textbf{R} = \left [\begin{matrix} cos(\beta)cos(\gamma)&sin(\alpha)sin(\beta)cos(\gamma)-cos(\alpha)sin(\gamma)&cos(\alpha)sin(\beta)cos(\gamma)+sin(\alpha)sin(\gamma)\\cos(\beta)sin(\gamma)&sin(\alpha)sin(\beta)sin(\gamma)+cos(\alpha)cos(\gamma)&cos(\alpha)sin(\beta)sin(\gamma)-sin(\alpha)cos(\gamma)\\-sin(\beta)&sin(\alpha)cos(\gamma)&cos(\alpha)cos(\gamma)\end{matrix}\right ]R=???cos(β)cos(γ)cos(β)sin(γ)?sin(β)?sin(α)sin(β)cos(γ)?cos(α)sin(γ)sin(α)sin(β)sin(γ)+cos(α)cos(γ)sin(α)cos(γ)?cos(α)sin(β)cos(γ)+sin(α)sin(γ)cos(α)sin(β)sin(γ)?sin(α)cos(γ)cos(α)cos(γ)????
和第一種旋轉(zhuǎn)方法得到的結(jié)果相同.于是證明了前面給出的結(jié)論.之所以說這是一種很"僵硬"的證明辦法,是因為整個過程是用matlab強行代公式計算出來的,中間結(jié)果可能看起來很啰嗦式子很長,但是你把他們都乘起來,就能化簡出相同的結(jié)果.實際上應(yīng)該有更優(yōu)雅的立體幾何投影證明方法,但是空間想象能力實在太差,想不出來.如果有清楚的朋友請指點一下.
-
-
經(jīng)過和泡兒魚的討論,想出了比較簡潔的證明方法,寫在下面:
-
證明2:
旋轉(zhuǎn)矩陣可以用來表示坐標(biāo)系和坐標(biāo)系之間旋轉(zhuǎn)的變換關(guān)系,也可以用來表示同一個坐標(biāo)系下坐標(biāo)旋轉(zhuǎn)前后的變換關(guān)系,從后者的角度出發(fā)可以得到一個比較簡潔又清晰的證明方法.
我們的任務(wù)是證明:以繞固定軸方式,先繞X\textbf{X}X軸轉(zhuǎn)α\alphaα,再繞Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后繞Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ的旋轉(zhuǎn)和以繞自身軸方式,先繞Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ,再繞Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后繞X\textbf{X}X軸轉(zhuǎn)α\alphaα的旋轉(zhuǎn)是等效的.在上述僵硬的證明方法中,我們通過計算證明了兩種方式下坐標(biāo)系前后的變換矩陣是相同的.下面的方法中,我們證明A坐標(biāo)系中有一個向量,按照這兩種方式去旋轉(zhuǎn),旋轉(zhuǎn)后它們在原A坐標(biāo)系下轉(zhuǎn)到了同一個位置,即證明了上述結(jié)論.
假設(shè)有一個固定的世界坐標(biāo)系A\textbf{A}A,其中有一個向量a\textbf{a}a,它在A\textbf{A}A中的坐標(biāo)為Ra\textbf{Ra}Ra.
-
對于第一種方式的變換:
向量a\textbf{a}a先繞A\textbf{A}A的X\textbf{X}X軸轉(zhuǎn)α\alphaα,再繞A\textbf{A}A的Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后繞A\textbf{A}A的Z\textbf{Z}Z軸轉(zhuǎn)?γ\gammaγ,則三步旋轉(zhuǎn)過后它在坐標(biāo)系A\textbf{A}A中的坐標(biāo):
Ra’=RZ(γ)×RY(α)×RX(α)×Ra\textbf{Ra'}=R_Z(\gamma) \times R_Y(\alpha) \times R_X(\alpha) \times\textbf{Ra}Ra’=RZ?(γ)×RY?(α)×RX?(α)×Ra
其中:
RX(α)=[1000cos(α)?sin(α)0sin(α)cos(α)]R_X(\alpha) = \left [\begin{matrix} 1&0&0 \\ 0&cos(\alpha)&-sin(\alpha) \\0&sin(\alpha)&cos(\alpha)\end{matrix}\right ]RX?(α)=???100?0cos(α)sin(α)?0?sin(α)cos(α)????
RY(β)=[cos(β)0sin(β)010?sin(β)0cos(β)]R_Y(\beta) = \left [\begin{matrix} cos(\beta)&0&sin(\beta) \\ 0&1&0 \\-sin(\beta)&0&cos(\beta)\end{matrix}\right ]RY?(β)=???cos(β)0?sin(β)?010?sin(β)0cos(β)????
RZ(γ)=[cos(γ)?sin(γ)0sin(γ)cos(γ)0001]R_Z(\gamma) = \left [\begin{matrix} cos(\gamma)&-sin(\gamma)&0 \\ sin(\gamma)&cos(\gamma)&0 \\0&0&1\end{matrix}\right ]RZ?(γ)=???cos(γ)sin(γ)0??sin(γ)cos(γ)0?001????
-
對于第二種方式的變換:
假設(shè)除了不動的世界坐標(biāo)系A\textbf{A}A以外,還有一個和向量a\textbf{a}a固連在一起的向量坐標(biāo)系B\textbf{B}B.固連的向量坐標(biāo)系和向量a\textbf{a}a是固連的不會產(chǎn)生相對運動,即向量a\textbf{a}a怎么轉(zhuǎn)固連坐標(biāo)系B\textbf{B}B就怎么轉(zhuǎn).那么顯然,任何轉(zhuǎn)動后,向量a\textbf{a}a在固連坐標(biāo)系B\textbf{B}B下的坐標(biāo)都是不變的,且始終等于未發(fā)生任何轉(zhuǎn)動時向量a\textbf{a}a在世界坐標(biāo)系A\textbf{A}A下的坐標(biāo)Ra\textbf{Ra}Ra.
第二種方式的變換為:向量a\textbf{a}a先繞B\textbf{B}B的Z\textbf{Z}Z軸轉(zhuǎn)γ\gammaγ,再繞B\textbf{B}B的Y\textbf{Y}Y軸轉(zhuǎn)β\betaβ,最后繞B\textbf{B}B的X\textbf{X}X軸轉(zhuǎn)α\alphaα,將轉(zhuǎn)動步驟倒過來敘述更方便
-
對于第三步轉(zhuǎn)動,即向量a\textbf{a}a繞第二次轉(zhuǎn)動后的固連坐標(biāo)系B”\textbf{B''}B”的X\textbf{X}X軸轉(zhuǎn)α\alphaα,有:
Ra2=RX(α)×Ra3\textbf{Ra2} = R_X(\alpha) \times \textbf{Ra3}Ra2=RX?(α)×Ra3
其中Ra2\textbf{Ra2}Ra2為三次轉(zhuǎn)動后向量a\textbf{a}a在第二次轉(zhuǎn)動后的固連坐標(biāo)系B”\textbf{B''}B”中的坐標(biāo),Ra3\textbf{Ra3}Ra3為三次轉(zhuǎn)動后向量a\textbf{a}a在第三次轉(zhuǎn)動后的固連坐標(biāo)系B”’\textbf{B'''}B”’中的坐標(biāo).RX(α)R_X(\alpha)RX?(α)為第二次轉(zhuǎn)動后的固連坐標(biāo)系B”\textbf{B''}B”和第三次轉(zhuǎn)動后的固連坐標(biāo)系B”’\textbf{B'''}B”’之間的旋轉(zhuǎn)矩陣.由于第三次旋轉(zhuǎn)就是繞著B”\textbf{B''}B”的X\textbf{X}X軸轉(zhuǎn)了α\alphaα,因此RX(α)R_X(\alpha)RX?(α),或者說B”\textbf{B''}B”和B”’\textbf{B'''}B”’之間的變換矩陣就是:
RX(α)=[1000cos(α)?sin(α)0sin(α)cos(α)]R_X(\alpha) = \left [\begin{matrix} 1&0&0 \\ 0&cos(\alpha)&-sin(\alpha) \\0&sin(\alpha)&cos(\alpha)\end{matrix}\right ]RX?(α)=???100?0cos(α)sin(α)?0?sin(α)cos(α)????
-
同理對于第二步轉(zhuǎn)動,有:
Ra1=RY(β)×Ra2\textbf{Ra1} = R_Y(\beta) \times \textbf{Ra2}Ra1=RY?(β)×Ra2 ,各變量的意義類似第三步不再贅述.
RY(β)=[cos(β)0sin(β)010?sin(β)0cos(β)]R_Y(\beta) = \left [\begin{matrix} cos(\beta)&0&sin(\beta) \\ 0&1&0 \\-sin(\beta)&0&cos(\beta)\end{matrix}\right ]RY?(β)=???cos(β)0?sin(β)?010?sin(β)0cos(β)????
-
同理對于第一步轉(zhuǎn)動有:
Ra0=RZ(γ)×Ra1\textbf{Ra0} = R_Z(\gamma) \times \textbf{Ra1}Ra0=RZ?(γ)×Ra1,其中Ra0\textbf{Ra0}Ra0為三次轉(zhuǎn)動后向量a\textbf{a}a在第0次轉(zhuǎn)動后的固連坐標(biāo)系B”\textbf{B''}B”中的坐標(biāo),也就是在世界坐標(biāo)系中的坐標(biāo)Ra’\textbf{Ra'}Ra’,即:
Ra’=RZ(γ)×Ra1\textbf{Ra'} = R_Z(\gamma) \times \textbf{Ra1}Ra’=RZ?(γ)×Ra1,其中:
RZ(γ)=[cos(γ)?sin(γ)0sin(γ)cos(γ)0001]R_Z(\gamma) = \left [\begin{matrix} cos(\gamma)&-sin(\gamma)&0 \\ sin(\gamma)&cos(\gamma)&0 \\0&0&1\end{matrix}\right ]RZ?(γ)=???cos(γ)sin(γ)0??sin(γ)cos(γ)0?001????
-
把三步轉(zhuǎn)動穿起來看,有:
Ra’=RZ(γ)×Ra1=RZ(γ)×(RY(β)×Ra2)=RZ(γ)×(RY(β)×(RX(α)×Ra3))=RZ(γ)×RY(β)×RX(α)×Ra3\textbf{Ra'} = R_Z(\gamma) \times \textbf{Ra1} = R_Z(\gamma) \times(R_Y(\beta) \times \textbf{Ra2}) = R_Z(\gamma) \times(R_Y(\beta) \times (R_X(\alpha) \times \textbf{Ra3}))=\\R_Z(\gamma) \times R_Y(\beta) \times R_X(\alpha) \times \textbf{Ra3}Ra’=RZ?(γ)×Ra1=RZ?(γ)×(RY?(β)×Ra2)=RZ?(γ)×(RY?(β)×(RX?(α)×Ra3))=RZ?(γ)×RY?(β)×RX?(α)×Ra3
又因為Ra3\textbf{Ra3}Ra3是第三次轉(zhuǎn)動后向量a\textbf{a}a在第三次轉(zhuǎn)動后的固連坐標(biāo)系B”’\textbf{B'''}B”’的坐標(biāo),由于相對位置不變,這個值就等于未發(fā)生轉(zhuǎn)動時向量a\textbf{a}a在世界坐標(biāo)系A\textbf{A}A中的坐標(biāo),即:
Ra3=Ra\textbf{Ra3} = \textbf{Ra}Ra3=Ra,則有:
Ra’=RZ(γ)×RY(α)×RX(α)×Ra3=RZ(γ)×RY(α)×RX(α)×Ra\textbf{Ra'}=R_Z(\gamma) \times R_Y(\alpha) \times R_X(\alpha) \times\textbf{Ra3} = R_Z(\gamma) \times R_Y(\alpha) \times R_X(\alpha) \times\textbf{Ra}Ra’=RZ?(γ)×RY?(α)×RX?(α)×Ra3=RZ?(γ)×RY?(α)×RX?(α)×Ra與第一種方式的變換結(jié)果相同.即同一個向量經(jīng)過兩種方式的變換后在世界坐標(biāo)系中的坐標(biāo)相同,也證明了這兩種變換是等效的.
-
-
總結(jié)一下就是,如果是坐標(biāo)系或者向量繞著固定的坐標(biāo)軸旋轉(zhuǎn),相當(dāng)于每轉(zhuǎn)一次產(chǎn)生一個旋轉(zhuǎn)矩陣,然后按旋轉(zhuǎn)順序?qū)⑦@些旋轉(zhuǎn)矩陣左乘起來.如果是坐標(biāo)系或者向量繞著自身的坐標(biāo)軸旋轉(zhuǎn),相當(dāng)于每轉(zhuǎn)一次產(chǎn)生一個旋轉(zhuǎn)矩陣,然后按旋轉(zhuǎn)順序?qū)⑦@些矩陣右乘起來.要注意后者的每一步旋轉(zhuǎn)產(chǎn)生的旋轉(zhuǎn)矩陣,不要以世界坐標(biāo)系為基準(zhǔn)去算,而是以每次旋轉(zhuǎn)前的坐標(biāo)系去算,也就是每次旋轉(zhuǎn)矩陣只描述當(dāng)前這次旋轉(zhuǎn)前后的坐標(biāo)系之間的轉(zhuǎn)換矩陣!!!
費了半天勁希望把事情說明白了,我其實很擔(dān)心哪個地方有筆誤沒寫清楚,如果有的話請幫忙指出來.謝謝!
網(wǎng)上也找到了其他類似的證明方法,看起來似乎更簡潔也更容易理解,貼出來供參考:
blog.miskcoo.com/2016/12/rotation-in-3d-space
-
總結(jié)
以上是生活随笔為你收集整理的绕固定坐标轴旋转与绕自身坐标轴旋转一致性证明的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【转】MATLAB如何制作动画(动态图形
- 下一篇: 【转】IAR与Keil两款开发工具区别