|
|
第2行: |
第2行: |
|
[[File:Fractal fern explained.png|thumb|200px|一個使用仿射变换所製造有[[自相似]]性的[[碎形]]]] |
|
[[File:Fractal fern explained.png|thumb|200px|一個使用仿射变换所製造有[[自相似]]性的[[碎形]]]] |
|
|
|
|
|
'''仿射变换''',又称'''仿射映射''',是指在[[几何]]中,一个[[向量空间]]进行一次[[线性变换]]并接上一个[[平移]],变换为另一个向量空间。 |
|
'''仿射变换''',又称'''仿射映射''',是指在[[几何]]中,對一个[[向量空间]]进行一次[[线性变换]]并接上一个[[平移]],变换为另一个向量空间。 |
|
|
|
|
|
一個對向量<math> \vec{x} </math>平移<math> \vec{b} </math>,與旋轉放大縮小<math> A</math>的仿射映射為 |
|
一個對向量<math> \vec{x} </math>平移<math> \vec{b} </math>,與旋轉放大縮小<math> A</math>的仿射映射為 |
仿射变换,又称仿射映射,是指在几何中,對一个向量空间进行一次线性变换并接上一个平移,变换为另一个向量空间。
一個對向量平移,與旋轉放大縮小的仿射映射為
上式在齐次坐标上,等價於下面的式子
在分形的研究裡,收縮平移仿射映射可以製造製具有自相似性的分形。
數學定義
一個在兩個仿射空間之間的仿射變換,是在向量上呈現線性之座標點的變換(即為空間中點與點之間的向量)。以符號表示的話,'使得 ,決定任一對點的線性變換:
:
或者
.
其他定義
我們可以將此定義繼續延伸:
假設選定一原點 , 且 表示其圖像 , 如此即代表對任何向量 :
假設選定一原點 ,此即可以拆解成一仿射變換 使得
, 特定而言
- ,
總結即,很直觀的, 包含了一個變換與線性座標。
給定同一場中的兩個仿射空間 與 , 一函數 為一仿射映射若且唯若對任一加權點的集合 of weighted points in 於 such that
我們得到[1]
此定義等價於 保留了 質心.
表示
如上所示,仿射變換為兩函數的複合:平移及線性映射。普通向量代數用矩陣乘法呈現線性映射, 用向量加法表示平移。正式言之,於有限維度之例中,假如該線性映射被表示為一矩陣「A」,平移被表示為向量 ,一仿射映射 可被表示為
增廣矩陣
使用一 增廣矩陣 與一增廣向量, 用一矩陣乘法同時表示平移與線性映射是有可能的。此技術需要所有向量在其末端擴長 “1”且所有矩陣都於底部添加一排零,右邊擴長一列轉換向量,及右下角添加一個 “1”。
等價於
以上所言之擴長矩陣被稱為 “仿射變換矩陣”,又或稱為 “投射變換矩陣” (其可應用於 投影轉換).
此表示法以 Kn之半直積 與 GL(n, k)展示了 所有可逆 仿射變換的集合。 此為一個於眾函數集結下進行的一個 群, 被稱為 仿射群
普通矩陣向量乘法總將原點映射至原點,因此無法呈現平移(原點必須映射至其他點)。藉由於所有向量上擴增一座標 “1”,我們將原空間映至更高維空間的一個子集合以進行變換。在該空間中,原本之空間佔有了擴長座標一的1的子集合。 因此原空間的原點可在(0,0, ... 0, 1). 原空間的平移可藉由更高維度空間的線性轉換來達成(即為錯切變換)。在高維度中的座標即為 齊次座標的一例。 假如原空間為歐幾里德, 則更高維空間為實射影空間.
使用齊次座標的優點為,藉由相對應矩陣之乘積,可將任意數目的仿射變換結合為一。此性質被大量運用於 計算機圖形, 計算機視覺 與機器人學。
性質
一仿射變換保留了:
- 點之間的共線性,例如通過同一線之點(即稱為共線點)在變換後仍呈共線。
- 向量沿著一線的比例,例如對相異共線三點, 與 的比例同於及。
- 帶不同質量的點之質心。
一仿射變換為可逆的若且唯若A為可逆的。在矩陣表示中,其反元素為
可逆仿射變換組成仿射群,其中包含具n階的一般線性群為子群,且自身亦為一n+1階的一般線性群之子群。
當A為常數乘以正交矩陣時,此子集合構成一子群,稱之為相似變換。舉例而言,假如仿射變換於一平面上且假如A之行列式為1或-1,那麼該變換即為等面積變換。此類變換組成一稱為等仿射群的子集。一同時為等面積變換與相似變換之變換,即為一平面上保持歐幾里德距離不變之保距映射。
這些群都有一保留了原定向的子群,也就是其對應之A的行列式大於零。在最後一例中,即為三維中剛體運動之群(旋轉加平移)。
假如有一不動點,我們可以將其當成原點,則仿射變換被縮還到一線性變換。這使得變換更易於分類與理解。舉例而言,將一變換敘述為特定軸的旋轉,相較於將其形容為平移與旋轉的結合,更能提供變換行為清楚的解釋。只是,這取決於應用與內容。
實例
實數之仿射變換
函數f : R → R, f(x) = mx + c ,其中m與c為常數,此即為一般之仿射變換。
有限體的仿射變換
以下等式表示了有限體(28)中的仿射變換:
此處[M]為矩陣 且 {v} 為向量 :
此處 [M] 為 矩陣 且 {v} 為 向量
- :
|
舉例來講,將以大端序二進位表示的元素{a} = y7 + y6 + y3 + y = {11001010}轉換成大端序十六進位,計算如下:
于是, {a′} = y7 + y6 + y5 + y3 + y2 + 1 = {11101101} = {ED}。
平面幾何之仿射變換
在 ℝ2,左方所示之變換即為以下映射:
將原紅色三角形之三個頂點作變換後給出了新藍色三角形的三個頂點。事實上,所有三角形皆可由仿射變換來達成,所有平行四邊形也可以,但一般四邊形不行。
参看
- ^
Schneider, Philip K. & Eberly, David H. Geometric Tools for Computer Graphics. Morgan Kaufmann. 2003: 98. ISBN 978-1-55860-594-7.