跳轉到內容

Blender 3D:菜鳥到專業/座標變換

來自華夏公益教科書,開放的書籍,開放的世界

座標變換

[編輯 | 編輯原始碼]

變換是指任何以某種方式改變座標值的操作。例如,如果您拿起一個物體並將其移動到房間中的另一個位置而沒有改變其方向,那麼該物體相對於房間的每個點的座標將根據新舊位置之間的距離和方向進行調整。這稱為平移變換。

物體位於原始位置
物體平移到新位置


簡單地旋轉物體而不將其從原始位置移動稱為旋轉

物體旋轉了45°


如果物體變大或變小,那就是縮放變換。在現實世界中,只有少數物體可以以這種方式縮放。例如,氣球可以充氣或放氣到更大的或更小的尺寸,但保齡球則不能。無論現實世界中什麼可以和不可以重新調整大小,在計算機圖形學的世界中,任何物體都可以縮放(重新調整大小)。縮放可能是均勻的,即在所有維度上都等效地應用,或者非均勻的。

物體均勻縮放至原始大小的50%
物體垂直縮放至原始大小的50%


線性變換

[編輯 | 編輯原始碼]

我們關注的主要型別的座標變換稱為線性變換。變換前直線保持直線,即不會變成曲線。例如,下圖說明了對中心正方形應用的三個線性變換:從左到右順時針,剪下傾斜,縮放和旋轉,以及一個非線性變換,導致盒子的兩邊變成曲線。

多重變換

[編輯 | 編輯原始碼]

可以連線組合一系列變換。生成的變換可以在一個操作中完成許多事情——平移、旋轉、縮放等。但是,組成變換的順序變得很重要。一般來說,變換不是可交換的。例如,比較沿 Y 軸移動模型一段距離,然後繞 X 軸旋轉的結果(如果這沒有意義,請考慮軸是固定的,它們不會隨物體移動。稍後將詳細介紹全域性和區域性座標

平移後旋轉

與先旋轉的結果相比

旋轉後平移

在某些情況下,可以在單個物件上同時應用三種形式的變換。Blender 中存在這樣的功能,通常在建立動畫時實現。例如,您可以決定拿起物體(第一次變換 - 平移),扭曲它(第二次變換 - 旋轉),並且在 3D 建模環境中增加物體的大小(第三次變換 - 縮放)。

逆變換

[編輯 | 編輯原始碼]

通常需要找到變換的。也就是說,具有相反效果的變換。例如,繞 X 軸旋轉 +45° 可以透過繞相同軸旋轉 -45° 來撤消。

逆變換有許多用途,其中之一是簡化某些型別的變換的構造。

例如,很容易構造繞座標系的 X、Y 或 Z 軸的旋轉變換。但繞任意軸旋轉 Θ° 怎麼辦?這可以從以下部分組成

  • 使旋轉軸透過原點的平移。
  • 繞 Y 和/或 Z 軸旋轉,視情況而定,使旋轉軸沿 X 軸。
  • 繞 X 軸旋轉 Θ°。
  • 與使旋轉軸與 X 軸對齊的旋轉的逆變換。
  • 與使旋轉軸透過原點的平移的逆變換。

我們處理的大多數 3D 建模變換都有逆變換,但並非全部。請參閱下一節瞭解一些沒有逆變換的變換。

我們大多數顯示和輸出裝置不是三維的。因此,三維影像需要投影到二維表面(如顯示屏或印刷頁面)上,然後我們才能看到它們。

執行這種投影主要有兩種方法。一種是正投影,從三維物體的所有點繪製平行線,直到它們與代表顯示錶面的平面相交

另一種方法是透視投影,其中繪製的線不是平行的,而是與代表觀察者眼睛位置的點相交

投影也是線性變換。但由於它們將三維空間展平成二維表面,因此會丟失一些資訊。這些變換是不可逆的,即它們無法撤消,至少無法以獨特的方式撤消,因為深度資訊消失了。

您將在以下頁面中閱讀更多關於正投影和透視檢視的資訊。

透視數學最早由Alhazen在 11 世紀提出,並被義大利文藝復興時期的畫家們在四百年後巧妙地運用。

華夏公益教科書