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)解決了。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注