線性變換與仿射變換 點和向量的代數定義

(ง •_•)ง
[用抽象代數討論仿射變換和仿射空間中的座標變換] 是重新整理的,以下是之前的內容。


這裏談論的是計算機圖形學中的內容,當然源自數學,但有的地方沒有使用純粹數學上的那種嚴格定義。

線性變換

抽象定義

域F上的向量空間V,任意的x、y∈V a∈F, 若 映射f: V->V滿足
f(x+y)=f(x)+f(y)
f(ax)=af(x)
則映射f是一個線性變換。

矩陣表示

When V are finite dimensional, a general linear transformation can be written as a matrix multiplication only after specifying a vector space basis for V. http://mathworld.wolfram.com/LinearTransformation.html

ai∈F, xi∈V, i=1,2,…,n
則 f( a1x1+a2x2+…+anxn ) = a1f(x1)+a2f(x2)+…+anf(xn)

假設(e1,e2,…,en)是向量空間V的一組基底,
則xi可以唯一地表示成:xi1e1+xi2e2+…+xinen

行向量(xi1,xi2,…,xin)的轉置記作(xi1,xi2,…,xin)’
記xi=(xi1,xi2,…,xin)’ ——(列向量形式的)座標,以下不區分向量和它的座標:


e1=(1,0,…,0)’
e2=(0,1,…,0)’

en=(0,0,…,1)’
(xi1,xi2,…,xin∈域F,1是域F的乘法幺元。)

則 f( a1x1+a2x2+…+anxn ) = a1f(x1)+a2f(x2)+...+anf(xn) = ( f(x1),f(x2),...,f(xn) )(a1,a2,…,an)’

則 f(xi)=f( xi1e1+xi2e2+…+xinen )= (f(e1),f(e2),…,f(en))(xi1,xi2,…,xin)’
記(f(e1),f(e2),…,f(en))=M,則

f(xi) = Mxi
其中M=(f(e1),f(e2),…,f(en))
即線性變換由基底的變換唯一確定

仿射變換

仿射空間

域F上的向量空間V 和 非空集合A,對於任意的 p∈A v∈V,p+v ∈A,且:
①任意的 a b ∈V: (p+a)+b=p+(a+b)
②任意的q∈A,有且只有一個u∈V,使得 p+u = q
A中的元素就稱爲點,V中的元素稱爲向量(自由向量)

由②可以定義“點的減法”:
既然任意的p,q∈A, 存在唯一的u: p+u=q
那麼定義q-p=u

仿射變換的抽象定義

映射 f : V∪A → V∪A 滿足
①若p∈A, 則f( p)∈A
②若v∈V, 則f(v)∈V
且 任意的x、y∈V a∈域F: f(x+y)=f(x)+f(y), f(ax)=af(x)
③p∈A, v∈V, f(p+v) = f( p) + f(v) 即 q,p∈A, f(q)-f( p)=f(q-p)
f 就是仿射變換。

即 f 把向量變換成向量,把點變換成點,對向量的變換是線性變換,
對點和向量的加法也有合適的體現。
可見 仿射變換 包含 線性變換。

仿射變換的矩陣表示

隨便從A中找一個點,記做Q,則A中任意的點p,存在唯一的向量v∈V,使得
p = Q + v
若V是有限維度的,給V指定一組基底,從而向量v具有座標,
這時,Q叫做原點,v的座標稱爲點p的座標;易知原點Q的座標是零。


任意的p∈A, f( p) = f(Q+v) = f(Q) + f(v)
因爲 f 是V上的線性變換,所以 f(v) = Mv (M是矩陣)
記 f(Q) 的座標爲t
所以 f( p) = t + Mv
因爲 p的座標就是v的座標,且用記號p,v既代表點和向量,也代表它們的座標
所以 寫成 f( p) = t + Mp

所以仿射變換的形式就是(p,v既代表點和向量,也代表它們的座標)

若 v∈V, 則 f(v) = Mv
若 p∈A, 則 f( p) = Mp + t
其中M = (f(e1),f(e2),…,f(en)), t = f(Q)
即仿射變換由基底和原點的變換唯一確定

總結一下就是隻要能寫成座標,就能用矩陣表示出來。


補充

仿射座標

引入

仿射變換對點和向量有不同的形式,想把這兩種形式統一起來

f(p)=Mp+t=Mp+t1=(Mt)(p1)f( p) = Mp+t = Mp + t·1 = (M t)\begin{pmatrix} p \\ 1 \end{pmatrix}
f(v)=Mv=Mv+t0=(Mt)(v0)f(v) = Mv = Mv +t·0 = (M t)\begin{pmatrix} v \\ 0 \end{pmatrix}

定義

p,v既代表點和向量,也代表它們的座標;
定義 點的仿射座標爲 (p1)\begin{pmatrix} p \\ 1 \end{pmatrix}
向量的仿射座標爲 (v0)\begin{pmatrix} v \\ 0 \end{pmatrix}

使用仿射座標的矩陣表示

希望有個矩陣A,
A(p1)=(f(p)1)A(v0)=(f(v)0)A\begin{pmatrix} p\\1 \end{pmatrix} =\begin{pmatrix} f( p)\\1 \end{pmatrix} \qquad \qquad A\begin{pmatrix} v\\0 \end{pmatrix} =\begin{pmatrix} f(v)\\0 \end{pmatrix}
用x代表v或p
用b代表0或1
A(xb)=(f(x)b)A\begin{pmatrix} x\\b \end{pmatrix} =\begin{pmatrix} f(x)\\b \end{pmatrix}
現在已經知道
(M  t)(xb)=Mx+tb=f(x)(M\;t)\begin{pmatrix} x\\b \end{pmatrix}=Mx+t\cdot b=f(x)
只需求n+1維行向量 (k_n, k)
(kn,k)(xb)=b(k_n, k)\begin{pmatrix} x\\b \end{pmatrix}=b
所以 (k_n, k) = (0, 1); 0代表n維零向量,
A=[Mt01]{\Large A}=\begin{bmatrix} M & t\\ 0 & 1 \end{bmatrix}
這樣仿射變換就能統一地表示成 Aa,更高維空間中的線性變換。
其中a=(xb)\begin{pmatrix}x\\b\end{pmatrix} b=0或1

仿射變換矩陣的逆

假設
[Mt01][Ndws]=[I001]\begin{bmatrix} M & t\\ 0 & 1 \end{bmatrix}\begin{bmatrix} N & d\\ w & s \end{bmatrix}=\begin{bmatrix} I & 0\\ 0 & 1 \end{bmatrix}
[01][Ndws]=[ws]\because \begin{bmatrix}0 &1 \end{bmatrix}\begin{bmatrix} N & d\\ w & s \end{bmatrix}= \begin{bmatrix}w &s \end{bmatrix}
  w=0s=1\therefore\; w=0 \quad s=1
  MN=IMd+st=Md+t=0\therefore\; MN=I \quad Md+st=Md+t=0
[Mt01]1=[M1M1t01]\therefore \begin{bmatrix} M & t\\ 0 & 1 \end{bmatrix}^{-1}=\begin{bmatrix} M^{-1} & -M^{-1}t\\ 0 & 1 \end{bmatrix}

平移變換

平移變換矩陣

v*=Mv
p*=Mp+t
平移變換的平移向量 爲 c,則
M=I(單位矩陣),t = c
所以平移變換矩陣爲
[Ic01]\begin{bmatrix} I & c\\ 0 & 1 \end{bmatrix}

平移變換矩陣的逆

[Ic01]\begin{bmatrix} I & -c\\ 0 & 1 \end{bmatrix}

平移與複合變換矩陣

①任意的仿射變換 都能看成 一系列變換之後 跟一個以 t 爲平移向量的平移變換的複合( t 是該仿射變換的矩陣的前n行的最後一列):
[It01][M001]=[Mt01]\begin{bmatrix} I & t\\ 0 & 1 \end{bmatrix}\begin{bmatrix} M & 0\\ 0 & 1 \end{bmatrix}=\begin{bmatrix} M & t\\ 0 & 1 \end{bmatrix}
②平移變換的複合(平移變換矩陣的相乘)構成交換羣。
[Iv01][It01]=[It+v01]\begin{bmatrix} I & v\\ 0 & 1 \end{bmatrix}\begin{bmatrix} I & t\\ 0 & 1 \end{bmatrix}=\begin{bmatrix} I & t+v\\ 0 & 1 \end{bmatrix}
[Iv01][Mt01]=[Mt+v01]\begin{bmatrix} I & v\\ 0 & 1 \end{bmatrix}\begin{bmatrix} M & t\\ 0 & 1 \end{bmatrix}=\begin{bmatrix} M & t+v\\ 0 & 1 \end{bmatrix}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章