四旋翼飞行器旋转矩阵公式推导!
四旋翼飛行器旋轉(zhuǎn)矩陣公式推導(dǎo)!
方法一:
1.在二維平面中:如下圖所示,在xoy平面中有一向量op??=(x,y)T,旋轉(zhuǎn)?角后變?yōu)橄蛄?span id="ze8trgl8bvbq" class="MathJax_Preview" style="color:rgb(136,136,136)">op??′=(x′,y′)T。?
據(jù)圖可得: x=|op??|cosθ;y=|op??|sinθ ,經(jīng)旋轉(zhuǎn) ? 角后有:?
x′=|op??|cos(θ+?)=|op??|(cosθcos??sinθsin?)=xcos??ysin? ?
y′=|op??|sin(θ+?)=|op??|(sinθcos?+cosθsin?)=xsin?+ycos?; ?
寫成矩陣形式:?
(x′y′)=(cos?sin??sin?cos?)(xy) ?
2.在三維空間中:如下圖所示,若以坐標系的三個坐標軸X、Y、Z分別作為旋轉(zhuǎn)軸,則點實際上只在垂直坐標軸的平面上作二維旋轉(zhuǎn)。?
例:? op?? 繞X軸旋轉(zhuǎn) ? 角,有:?
旋轉(zhuǎn)前: ?
旋轉(zhuǎn)后: ?
寫成矩陣形式: ?
則繞X軸旋?角的旋轉(zhuǎn)矩陣為:? Rx(?)=(1000cos??sin?0sin?cos?) ?
同理可得繞X、Y、Z軸旋轉(zhuǎn)的不同角度的旋轉(zhuǎn)矩陣(方向余弦矩陣)分別為:?
最后,若 op??
繞某一定軸旋轉(zhuǎn),從歐拉定律中可知,繞著固定軸做一個角值的旋轉(zhuǎn),可以被視為分別以坐標系的三個坐標軸X、Y、Z作為旋轉(zhuǎn)軸的旋轉(zhuǎn)的疊加。
方法二:
一、先來個平面旋轉(zhuǎn)的分析:
兩角和(差)公式
推導(dǎo)
旋轉(zhuǎn)變換一般是按照某個圓心點,以一定半徑?r?旋轉(zhuǎn)一定的角度α,為了簡單起見我們給出下面的情景
假定點A(x,y)想經(jīng)過旋轉(zhuǎn)變換到達B(x',y'),已知旋轉(zhuǎn)角度α和點A坐標,計算出點B
要計算點B則分別計算他的x'和y'分量
根據(jù)矩陣乘法計算規(guī)則,可以推出?
只要給出旋轉(zhuǎn)角度,計算出矩陣,然后使用這個矩陣分別左乘每一個點,就能計算出這個點旋轉(zhuǎn)后的點坐標 這樣我們就可以通過矩陣變換坐標了?
二、延伸到三維坐標:
? ? 坐標的旋轉(zhuǎn)變換在很多地方都會用到,比如機器視覺中的攝像機標定、圖像處理中的圖像旋轉(zhuǎn)、游戲編程等。
任何維的旋轉(zhuǎn)可以表述為向量與合適尺寸的方陣的乘積。最終一個旋轉(zhuǎn)等價于在另一個不同坐標系下對點位置的重新表述。坐標系旋轉(zhuǎn)角度θ則等同于將目標點圍繞坐標原點反方向旋轉(zhuǎn)同樣的角度θ。若以坐標系的三個坐標軸X、Y、Z分別作為旋轉(zhuǎn)軸,則點實際上只在垂直坐標軸的平面上作二維旋轉(zhuǎn)。
假設(shè)三維坐標系中的某一向量,其在直角坐標系中的圖如圖1所示。其中點P在XY平面、XZ平面、YZ平面的投影分別為點M、點P、點N。 圖1 直角坐標系XYZ
1、繞Z軸旋轉(zhuǎn)θ角 繞Z軸旋轉(zhuǎn),相當于在XY平面的投影OM繞原點旋轉(zhuǎn),如下圖所示,OM旋轉(zhuǎn)θ角到OM'。 圖2 向量繞Z軸旋轉(zhuǎn)示意圖
? ?設(shè)旋轉(zhuǎn)前的坐標為,旋轉(zhuǎn)后的坐標為,則點M的坐標為,點M'的坐標為。由此可得: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 對于和進行三角展開可得: ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 且有;可得繞Z軸旋轉(zhuǎn)角的旋轉(zhuǎn)矩陣為:
2、繞X軸旋旋轉(zhuǎn)θ角
設(shè)旋轉(zhuǎn)前的坐標為,旋轉(zhuǎn)后的坐標為,則點N的坐標為,點N'的坐標為。由此可得:
? ? 對于和進行三角展開可得: 且有;可得繞X軸旋轉(zhuǎn)角的旋轉(zhuǎn)矩陣為:
3、繞Y軸旋旋轉(zhuǎn)θ角 繞Y軸旋轉(zhuǎn),相當于在XZ平面的投影OQ繞原點旋轉(zhuǎn),如下圖所示,OQ旋轉(zhuǎn)θ角到OQ'。 圖4 向量繞Y軸旋轉(zhuǎn)示意圖
設(shè)旋轉(zhuǎn)前的坐標為,旋轉(zhuǎn)后的坐標為,則點Q的坐標為,點Q'的坐標為。由此可得:
? ? 對于和進行三角展開可得: 且有;可得繞Y軸旋轉(zhuǎn)角的旋轉(zhuǎn)矩陣為:
4、繞X、Y、Z軸旋轉(zhuǎn)的旋轉(zhuǎn)矩陣分別為:
總結(jié)
以上是生活随笔為你收集整理的四旋翼飞行器旋转矩阵公式推导!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c++中new和delete的使用方法
- 下一篇: 各种符号读法