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

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

歐拉角的萬(wàn)向節(jié)鎖

2019-11-08 18:36:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
Gimbal Lock

What's Gimbal Lock?

Gimbal lock is the phenomenon of two rotational axis of an object pointing in the same direction. Actually, if two axis of the object become aligned, then we say that there's a gimbal lock. In other Words, a rotation in one axis could 'override' a rotation in another, making you lose a degree of freedom.

前面已經(jīng)說(shuō)了,使用三個(gè)角度表示一個(gè)旋轉(zhuǎn)就可以理解為歐拉角了,這種定義未免太寬泛,并沒(méi)有多大的實(shí)際意義。所以使用歐拉角的時(shí)候需要很多的規(guī)定,我們的歐拉角:動(dòng)態(tài)定義,圍繞載體坐標(biāo)系旋轉(zhuǎn)旋轉(zhuǎn)順序,Z–>X–>Y(旋轉(zhuǎn)順序沒(méi)有統(tǒng)一規(guī)定,不過(guò)在不同的領(lǐng)域可能有不同的使用習(xí)慣)范圍:兩個(gè)0-2Pi,一個(gè)0-Pi如果不定義旋轉(zhuǎn)的順序,就會(huì)出現(xiàn)一組歐拉角對(duì)應(yīng)多個(gè)空間點(diǎn),也就是對(duì)應(yīng)多個(gè)旋轉(zhuǎn)(規(guī)定了順序也會(huì)出現(xiàn),下面會(huì)講到)。舉例:比如:(45,45,45)這個(gè)歐拉角組,大家可以拿一個(gè)物體試一下,將XYZ三個(gè)軸以不同的順序旋轉(zhuǎn)得到的最終位置是不一樣的。

萬(wàn)向節(jié)鎖的問(wèn)題,就出現(xiàn)在這個(gè)定了順序的轉(zhuǎn)動(dòng),因?yàn)閆軸為最高層次,接著是X軸,最后才Y軸。

萬(wàn)向節(jié)死鎖是指當(dāng)三個(gè)萬(wàn)向節(jié)其中兩個(gè)的軸發(fā)生重合時(shí),會(huì)失去一個(gè)自由度的情形,具體表現(xiàn)為:自由度的減少,多組歐拉角對(duì)應(yīng)一個(gè)位置。在三維下,載體可以圍繞自身坐標(biāo)系的三個(gè)軸旋轉(zhuǎn),也就是會(huì)有3個(gè)自由度,當(dāng)出現(xiàn)萬(wàn)向節(jié)死鎖的時(shí)候,會(huì)有一個(gè)軸無(wú)論怎樣旋轉(zhuǎn)都不會(huì)達(dá)到想要的位置,這時(shí)就是缺少了一個(gè)自由度。自由度減少也表現(xiàn)為,可以只通過(guò)兩個(gè)軸的旋轉(zhuǎn),達(dá)到三個(gè)軸旋轉(zhuǎn)出現(xiàn)萬(wàn)向節(jié)死鎖狀態(tài)的位置。

通常說(shuō)來(lái),萬(wàn)向節(jié)鎖發(fā)生在使用Eular Angles(歐拉角)的旋轉(zhuǎn)操作中,原因是Eular Angles按照一定的順序依次獨(dú)立地繞軸旋轉(zhuǎn)。讓我們想象一個(gè)具體的旋轉(zhuǎn)場(chǎng)景,首先物體先繞轉(zhuǎn)X軸旋轉(zhuǎn),然后再繞Y軸,最后繞Z軸選擇,從而完成一個(gè)旋轉(zhuǎn)操作,當(dāng)你繞Y軸旋轉(zhuǎn)90度之后萬(wàn)向節(jié)鎖的問(wèn)題就出現(xiàn)了,因?yàn)閄軸已經(jīng)被求值了,它不再隨同其他兩個(gè)軸旋轉(zhuǎn),這樣X(jué)軸與Z軸就指向同一個(gè)方向(它們相當(dāng)于同一個(gè)軸了)。

并且由于歐拉角在插值時(shí),計(jì)算出來(lái)的結(jié)果有時(shí)不是符合需求的,這樣在插值方面就交四元數(shù)來(lái)解決了。

1. C++標(biāo)準(zhǔn)模板庫(kù)從入門到精通 

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

2.跟老菜鳥學(xué)C++

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

3. 跟老菜鳥學(xué)python

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

4. 在VC2015里學(xué)會(huì)使用tinyxml庫(kù)

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

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

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

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

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

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

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

8.在VC2015里學(xué)會(huì)使用MySQL數(shù)據(jù)庫(kù)

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


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 盐城市| 诸城市| 肃南| 偃师市| 龙山县| 松阳县| 东安县| 兴义市| 青神县| 太湖县| 山阴县| 天门市| 石嘴山市| 孟津县| 屯门区| 兴山县| 荥经县| 峨眉山市| 壶关县| 南充市| 克什克腾旗| 辽中县| 廉江市| 阳城县| 连江县| 柘城县| 神农架林区| 松桃| 高台县| 庆云县| 宜川县| 谢通门县| 江城| 邯郸市| 武定县| 吉木乃县| 汝州市| 蛟河市| 唐海县| 新野县| 商洛市|