国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

什么是歐拉角?

2019-11-08 18:45:45
字體:
供稿:網(wǎng)友

什么是歐拉角?用一句話說,歐拉角就是物體繞坐標系三個坐標軸(x,y,z軸)的旋轉(zhuǎn)角度。在這里,坐標系可以是世界坐標系,也可以是物體坐標系,旋轉(zhuǎn)順序也是任意的,可以是xyz,xzy,yxz,zxy,yzx,zyx中的任何一種,甚至可以是xyx,xyy,xzz,zxz等等等等。。。。。。

所以說歐拉角多種多樣。歐拉角可分為兩種情況:1,靜態(tài):即繞世界坐標系三個軸的旋轉(zhuǎn),由于物體旋轉(zhuǎn)過程中坐標軸保持靜止,所以稱為靜態(tài)。2,動態(tài):即繞物體坐標系三個軸的旋轉(zhuǎn),由于物體旋轉(zhuǎn)過程中坐標軸隨著物體做相同的轉(zhuǎn)動,所以稱為動態(tài)。對于分別繞三個坐標軸旋轉(zhuǎn)的情況,下述定理成立:物體的任何一種旋轉(zhuǎn)都可分解為分別繞三個軸的旋轉(zhuǎn),但分解方式不唯一。如:

假設(shè)繞y軸旋轉(zhuǎn)為heading,繞x軸旋轉(zhuǎn)為pitch,繞z軸旋轉(zhuǎn)為bank,則先heading45°再pitch90°等價于先pitch90°再bank45°。

前面曾提到過,heading-pitch-bank系統(tǒng)不是惟一的歐拉角系統(tǒng),繞任意三個互相垂直軸的任意旋轉(zhuǎn)序列都能定義一個方位。所以,多種選擇導(dǎo)致了歐拉角約定的多樣性:     1)heading-pitch-bank系統(tǒng)有兩個名稱,當然,不同的名字并不代表不同的約定,這其實并不重要,一組常用的術(shù)語是roll-pitch-yaw,其中的roll對應(yīng)與bank,yaw對應(yīng)于heading,它定義了從物體坐標系到慣性坐標系的旋轉(zhuǎn)順序     2)任意三個軸都能作為旋轉(zhuǎn)軸,不一定必須是笛卡爾軸,但是用笛卡爾軸最有意義     3)也可以選用右手坐標規(guī)則     4)旋轉(zhuǎn)可以以不同的順序進行3,優(yōu)點:1)容易使用;2)表達簡潔;3)任意三個角都是合法的4,缺點:1)給定方位的表達方式不唯一;2)兩個角度間求插值非常困難采用限制歐拉角的方法來避免以上問題的出現(xiàn):heading限制在+-180,pitch為+-90。    以上為歐拉角的定義。旋轉(zhuǎn)的方法如下:從歐拉角矢量轉(zhuǎn)換很容易,困難的部分是轉(zhuǎn)換回來。XNA提供了一個方法可以創(chuàng)建旋轉(zhuǎn)矩陣,但它并沒有提供轉(zhuǎn)換回來的方法,因此我們將不得不自己實現(xiàn)。首先,我們轉(zhuǎn)換為旋轉(zhuǎn)矩陣,Matrix.CreateFromYawPitchRoll()方法可以做到這一點。如果這里使用歐拉角,我們需要以以下順序提供坐標:Yaw(偏航):歐拉角向量的y軸Pitch(俯仰):歐拉角向量的x軸Roll(翻滾): 歐拉角向量的z軸想象一下飛機,yaw指水平方向的機頭指向,它繞y軸旋轉(zhuǎn)。Pitch指與水平方向的夾角,繞x軸旋轉(zhuǎn)。Roll指飛機的翻滾,繞z軸旋轉(zhuǎn)。

除歐拉角以外,常用的還有四元素法和旋轉(zhuǎn)矩陣法。簡而言之,三種方法的特點如下:

1)歐拉角最直觀、最容易理解、存儲空間少,但是歐拉角存在萬向節(jié)死鎖現(xiàn)象、插值速度不均勻等缺點,而且不可以在計算機中直接運算;

2)四元素不存在萬向節(jié)死鎖問題、利用球面插值可以獲得均勻的轉(zhuǎn)速、存儲空間也較少,但是不好理解、不直觀;

3)旋轉(zhuǎn)矩陣法是最便于計算機處理的,但不可以直接插值、冗余信息多、費存儲空間,同樣不直觀。所以,在機器人學中,一般人機交互端會用歐拉角,插值等用四元素,正逆運動學運算中用矩陣表示法。

1. C++標準模板庫從入門到精通 

http://edu.csdn.net/course/detail/3324

2.跟老菜鳥學C++

http://edu.csdn.net/course/detail/2901

3. 跟老菜鳥學python

http://edu.csdn.net/course/detail/2592

4. 在VC2015里學會使用tinyxml

http://edu.csdn.net/course/detail/2590

5. 在Windows下SVN的版本管理與實戰(zhàn) 

 http://edu.csdn.net/course/detail/2579

6.Visual Studio 2015開發(fā)C++程序的基本使用 

http://edu.csdn.net/course/detail/2570

7.在VC2015里使用PRotobuf協(xié)議

http://edu.csdn.net/course/detail/2582

8.在VC2015里學會使用MySQL數(shù)據(jù)庫

http://edu.csdn.net/course/detail/2672


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 凤阳县| 乌拉特中旗| 雷山县| 洛宁县| 英山县| 吉隆县| 苏尼特右旗| 当雄县| 嵊泗县| 灯塔市| 仁寿县| 玛纳斯县| 吴堡县| 疏附县| 黔南| 陆河县| 定远县| 长岛县| 龙泉市| 伊川县| 天台县| 富宁县| 河津市| 石首市| 洛浦县| 商南县| 旺苍县| 海林市| 安乡县| 岳阳县| 河池市| 隆安县| 垣曲县| 越西县| 江陵县| 迁西县| 确山县| 于田县| 壶关县| 南召县| 科技|