仿射(Affine)空間

2021-06-14 18:16:00 字數 1053 閱讀 9830

affine幾何是研究這樣一種幾何: 它只涉及兩點之間的向量,而不考慮實際的距離、角度,甚至不考慮作為參照的原點。這些幾何構成的空間就是affine空間。

affine空間

相比較於熟悉的歐幾里得空間,affine有一些特別的性質。比如歐式空間認為空間中有乙個原點,對於這個原點有向量a與b。在affine空間中認為任意一點均可作為原點,對同樣兩個點有向量a』和b』。在兩個空間中把向量分別相加:

歐式空間:a + b

affine空間:a』 + b』 = p + (a – p) + (b - p)

這就導致在兩個空間中同一種運算可以得出不同的結果。比如有乙個a和b的線性組合c:

c = 4a + 6b

c』 = 4a』 + 6b』 = p + 4a - 4p + 6b - 6p = 4a + 6b -9p

可以看到c』多了乙個p項。如果我們要令它們相等就必須把這個係數變為0,即線性組合係數之和為1。

考慮:

c = 0.4a + 0.6b

c』 = 0.4a』 + 0.6b』 = p + 0.4a – 0.4p + 0.6b – 0.6p = 0.4a + 0.6b

c = c』

affine空間的好處

如前所述,如果線性組合係數為1,那麼兩種空間中的運算沒有任何區別,affine空間還更加簡便。如果一幾何體是「affine invariant」的,就是說它不管是被旋轉、縮放還是平移,都不會改變它的性質。

再舉乙個複雜些的例子。有乙個10x3的mesh,pc在乙個轉換矩陣u (100x10)作用下變成了100x3的mesh, pf。

pf = u * pc

考慮pf中任意乙個點=

u_i,1 * + u_i,2* + … + u_i,10 *

pf中的任何乙個點都可以看成pc中點的線性組合,而u中的每一行都是對應一組pf點的係數。如上可知,如果u中每一行的係數之和都取為1,就可以保證在變換後的幾何圖形是affine invariant的。另外,u中每一列對應一格pc點,所以每列叫做乙個pc點的shape function。

仿射affine 小結

hom mat2d identity hommat2didentity 生成乙個同質2d轉換矩陣。平移仿射 hom mat2d translate hommat2didentity,100,100,hommat2dtranslate 矩陣平移變換,形成新的矩陣hommat2dtranslate af...

OpenCV學習 仿射變換(affine)

影象的基本幾何變換有 平移,旋轉,尺度,仿射 仿射變換可以理解為平移旋轉尺度的組合效果。下面給出數學上的定義 a是2x2旋轉矩陣,b是平移向量 一 平移的實現 二 旋轉的實現 三 尺度的實現 從上面的實現可以看出,使用仿射變換是需要求解6個引數,旋轉矩陣4個,平移向量2個。這也是我們在使用openc...

仿射函式和仿射組合

假設f是乙個矢性函式,若它可以表示為f x1,x2,xn a1x1 a2x2 anxn b,其中ai可以是標量,也可以是矩陣,則稱f是仿射函式。矢性函式定義 標性函式f x ax b 即我們通常見到的函式 其中a x b都是標量。維基百科的解釋 affine combination,a certai...