已知旋转矩阵求角度_如何推导旋转矩阵
極坐標(biāo)系和直角坐標(biāo)系是等價(jià)的,在極坐標(biāo)系下,一個(gè)點(diǎn)可以表示為(r,θ),在直角坐標(biāo)系下,表示為(x,y)。選取哪種坐標(biāo)系是看哪種坐標(biāo)系比較方便,在直角坐標(biāo)系下處理直線、平移等非常方便;在極坐標(biāo)系下,旋轉(zhuǎn)操作非常方便。如果想在直角坐標(biāo)系下進(jìn)行旋轉(zhuǎn)操作,則需要旋轉(zhuǎn)矩陣進(jìn)行操作。
旋轉(zhuǎn)矩陣推導(dǎo),方式一:
在極坐標(biāo)系下一個(gè)點(diǎn)的坐標(biāo),用角度和長(zhǎng)度表示即可,在直角坐標(biāo)系下一個(gè)點(diǎn)的坐標(biāo),用x,y來(lái)表示
得出
所以旋轉(zhuǎn)矩陣為
旋轉(zhuǎn)矩陣的推導(dǎo),方式二:
A點(diǎn)相對(duì)于老坐標(biāo)系(黑色坐標(biāo)系)的方位與B點(diǎn)相對(duì)于新坐標(biāo)系(紅色坐標(biāo)系)的方位一致,因此
B點(diǎn)坐標(biāo),在新坐標(biāo)系下,坐標(biāo)值與 A點(diǎn)坐標(biāo),在老坐標(biāo)系下,坐標(biāo)值 一樣一樣的
那么A點(diǎn)在老坐標(biāo)系下的坐標(biāo)值(x,y)是已知的,因此只要知道,新坐標(biāo)系相對(duì)于老坐標(biāo)系的旋轉(zhuǎn)情況(旋轉(zhuǎn)矩陣)就能知道,B點(diǎn)在老坐標(biāo)系下的坐標(biāo)(x',y')了
即(x',y')=旋轉(zhuǎn)矩陣*(x,y)
(1) 老坐標(biāo)系下x軸(黑色)的單位基矢i可以表示為:
y軸的單位基矢j,相當(dāng)于x軸的單位基矢i逆時(shí)針旋轉(zhuǎn)90°,可以表示為:
(2)我們現(xiàn)在寫(xiě)出新坐標(biāo)系的旋轉(zhuǎn)情況,
新坐標(biāo)系的x軸相對(duì)于老的x軸旋轉(zhuǎn)了θ則
新坐標(biāo)系的y軸相對(duì)于老的y軸旋轉(zhuǎn)了θ則
新坐標(biāo)系相對(duì)于老坐標(biāo)系的旋轉(zhuǎn)可表示為(i',j'),即旋轉(zhuǎn)矩陣
(3)因此得出(x',y')=旋轉(zhuǎn)矩陣*(x,y)
方式一是他的代數(shù)解釋,方式二更像幾何圖像解釋,更直觀,兩者一致
P.S. 公式寫(xiě)法不專業(yè)(懶),大家領(lǐng)會(huì)意思就行!
總結(jié)
以上是生活随笔為你收集整理的已知旋转矩阵求角度_如何推导旋转矩阵的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 新建一列_python –
- 下一篇: 服务中没有listen_Go语言微服务框