世界座標變換要先縮放 後旋轉 再平移的原因

2021-08-28 03:11:56 字數 698 閱讀 5581

乙個三維場景中的各個模型一般需要各自建模,再通過座標變換放到乙個統一的世界空間的指定位置上。 這個過程在 3d 圖形學中稱作「世界變換」 。 世界變換有三種,平移、旋轉和縮放 (實際還有不常用的扭曲和映象,它們不是affine變換)。 這三種變換按各種順序執行,結果是不同的。 可是實際的應用中一般按照 縮放 -> 旋轉 -> 平移的順序進行。  這樣做的原因是可以獲得最符合常理的變換結果。 

比方說,通過世界變換希望獲得的結果可能是:

將乙個放在原點的物體(比方說可樂罐)移動到(30,50),讓它自身傾斜 45 度,再放大 2 倍。 

而不希望的結果是:

和本地座標軸成角度的縮放(會導致扭曲,像踩扁的可樂罐)。

繞自己幾何中心以外位置的原點的旋轉 (地球公轉式) 和縮放。

而顛倒了上述變換順序就會得到這樣不自然的結果。

具體的說:

這時因為:

縮放變換不改變座標軸的走向,也不改變原點的位置,所以兩個座標系仍然重合。

旋轉變換改變座標軸的走向,但不改變原點的位置,所以兩個座標系座標軸不再處於相同走向。

平移變換不改變座標軸走向,但改變原點位置,兩個座標系原點不再重合。

這樣就可以解釋問什麼縮放不能在旋轉之後,而縮放和旋轉都不能在平移之後了。 於是沒有問題的順序只能是 縮放 -> 旋轉 -> 平移 。

eigen座標變換 座標變換

位姿變換 位姿在不同座標系中變換,更常用 posest or t,關鍵在於同乙個位姿 實際位姿固定不變 但是在不同座標系有不同的 表 示!座標系變換 座標系本身變換 並且 coordst coordst t.inverse 注意 ros tf 發布的變換是座標系變換 coordst,包括通過 tf2...

D3D世界座標變換到螢幕座標

d3d中世界座標變換到螢幕座標,可用於繪製座標軸文字.code d3d世界座標轉螢幕座標 private function vector2point x as single,y as single,z as single as point 是有順序的,先世界 在檢視 在投影 dim vectorop...

座標系變換與座標變換理解

在slam中經常用到空間點的座標變換。假設已獲得相機某一位置的位姿pose,pose包括相機座標系相對於世界座標系的旋轉r和平移t,此時若已知某點p在相機座標系下的座標為pc,計算點p在世界座標系下的座標pw,可使用 pw r pc t t pc 開始的時候我有這樣的疑問 t表示世界座標到相機座標系...