尤拉角的詳解

2022-09-11 17:12:09 字數 1109 閱讀 1045

關於旋轉永遠是做遊戲的難點和混亂點。我們知道表示乙個旋轉有多種方式,簡單的尤拉角,複雜點的四元數,再複雜點的矩陣。之前接觸unity可以用四元數和尤拉角兩種方式表示旋轉,最近一直研究虛幻引擎,目前只看到了尤拉角這一種旋轉方式。

尤拉角是表達旋轉的最簡單的一種方式,形式上它是乙個三維向量,其值分別代表物體繞座標系三個軸(x,y,z軸)的旋轉角度。這樣的話,很容易想到,同樣的乙個三維向量,代表了繞x,y,z的旋轉值,先進行那個旋轉是否對結果有影響呢?顯然是有影響的,可以拿著你的手機試一下,不同的旋轉順序會代表不同的旋轉結果。所以,一般引擎都會規定自己的旋轉順序。 

下面三張**形象的表示了尤拉角的旋轉方式。第一張是繞x軸旋轉pitch,第二張繞y軸旋轉yaw,第三張是繞z軸旋轉roll。

繞三個軸的旋轉值pitch,yaw,roll來自航空界的叫法,翻譯為俯仰角,偏航角,翻滾角,非常形象。它們不一定如上所述,一定分別代表繞x,y,z的旋轉值。 

從英文意思出發,roll:是卷;滾動,轉動;輾的意思; 

yaw是(火箭、飛機、宇宙飛船等)偏航的意思; 

pitch是傾斜;投擲;搭帳篷;墜落的意思; 

所以,roll:是翻滾的意思是,就是繞著機身所在的那個軸 a (z);

yaw:是偏航的意思,偏航就是繞著重力方向為軸 y ;

pitch:是偏航俯仰的意思,即傾斜、墜落的意思,墜落就是以翅膀所在的直線為軸(x)發生旋轉。

另外值得注意的是,pitch值是不能超過90度,這裡牽扯到了萬向鎖的知識,不再多說,網上很多討論。

下面這張圖是以攝像機的角度來闡述尤拉角的,可以加深理解。可以看到,pitch,yaw,roll在這裡並不是常見的代表繞x,y,z的旋轉值。 

尤拉角的詳解

關於旋轉永遠是做遊戲的難點和混亂點。我們知道表示乙個旋轉有多種方式,簡單的尤拉角,複雜點的四元數,再複雜點的矩陣。之前接觸unity可以用四元數和尤拉角兩種方式表示旋轉,最近一直研究虛幻引擎,目前只看到了尤拉角這一種旋轉方式。尤拉角是表達旋轉的最簡單的一種方式,形式上它是乙個三維向量,其值分別代表物...

尤拉角的概念理解和尤拉角旋轉矩陣推導

尤拉角用來計算空間中剛體的旋轉位置,目的是改變剛體的朝向.具體來說,空間中有乙個點p和一根軸k,點p繞軸k旋轉 角度到p 求p 的座標.這就是尤拉角要解決的問題.只不過,尤拉角將1個點繞1根軸旋轉1個角 轉化為 1個點繞3個軸連續旋轉3個角 尤拉角的最終目的是為了改變剛體的朝向,剛體可以看做向量的集...

尤拉角演示程式

2009 09 23 19 07 1836人閱讀收藏 舉報用尤拉角可以很方便直觀的表示方位的變換,他的三個引數 head,pitch,roll 分別表示三個方向的變換,如head變就相當於搖頭,pitch就相當於點頭。roll相對與側頭 尤拉角優點 1.容易使用,很直觀,容易理解 2.表示占用很少空...