重點是理解矩陣的含義:矩陣其實是一種座標系的轉換
理解矩陣的幾何功能:
- 矩陣是一種線性變換(線段變換後仍是線段,並且原點不會改變)
- 矩陣是一種對映,對映可以是一對一,也可以是一對多
- 矩陣是一種空間變換,每一種矩陣都是有本身的幾何意義,而不是單純的數字組合
理解矩陣的形式含義(矩陣在左,向量在右):
- 方陣滿秩,是進行當前空間的座標變換,不會進行維度的升高和降低
- M×N(M>N),這種矩陣是一種升維矩陣,幾何意義如3×2,就如同把一個平面進行一個方向維度的延展(當秩為2時),變成一個三維的空間,當然之前空間中的點(x,y)在提升維度的過程中在三維空間中還是一個平面分佈,只是多了一個值全相等的第三個維度的值而已
- M×N(M<N),這是一種降維矩陣,幾何意義如2×3(當秩為2時),是把三維的向量進行一個維度的壓縮,擠壓成一個平面,這個時候當然會出現很多個點壓縮到一個二維座標的情況
- 方陣不滿秩,其實和之前是一樣的,不滿秩就說明這個維度是虛的,沒什麼用,如果秩是一的話就是擠壓成一條線。
一.平移矩陣
1.1二維平移矩陣
形式:平移矩陣的形式是什麼樣的呢。
一定是一個滿秩的矩陣,因為我們並不會進行維度的變換。
座標軸的方向和長度是不變的,因為矩陣運算的本質是改變的參考系的X,Y。
尋找矩陣:
那麼什麼樣的矩陣能夠使得一個點進行平移操作呢,因為平移操作並不會改變參考系XY的方向和單位向量的長度,所以實際上,在當前的維度中,我們並不可能做到,為什麼呢?因為我們之前說過,矩陣的線性變換並不會改變原點的位置,矩陣是預設原點就是(0,0),在矩陣中填充任何的值都沒辦法改變這個約定熟成的決定。那麼怎麼做到呢,我們利用更高一維的矩陣,也就是三維矩陣進行操作,其實就是在更高的維度當中,解決我們的原點平移問題。
在這裡,需要說明的是,如果我們使用的是左矩陣右向量的形式,那麼構成我們全新的座標系的向量應當是矩陣中的列。我們在增加了一個新的維度,(dx,dy,1),dx,dy就是我們要平移的數量,而增加一個1,是因為要保持秩是3,畢竟我們是從更高一層的維度來轉移我們的座標原點的。從幾何意義來說,平移矩陣其實就是增加一個並不正交的Z軸(dx,dy,1)來進行一個座標軸的重新定義,繼而將座標轉換位置。
這裡需要注意的是,點V=(x,y,1),並不是再是我們二維座標上的點,而是以P的列向量為基所構成的三維空間上的點,只是說我們把二維的點變為V=(x,y,1)然後經過對應矩陣P的線性變換,最終得到平移點的位置。
這個過程可能有些難以理解,但是又是那麼的巧妙和精確。我們所構造的矩陣P,是通過新空間中基的列向量來構成的,其中的列向量中每一個座標值對應的數值,其實都是以我們原有的基x=(1,0),y=(0,1)來決定的。P這個矩陣,是一種線性的變換,是把用它座標系中表示的點的位置座標,來對映到原先我們確定它的時用的基的空間裡。
這其實就是一種投影運算,對V的每個座標值進行投影。
而p的逆矩陣,其實就是把我們的座標對映到P的座標中的運算。
1.2三維平移矩陣
當我們理解了二維的平移矩陣,那麼,其實三維的矩陣也是一樣的原理
二.旋轉矩陣
旋轉矩陣的基礎含義就是繞原點的旋轉。
2.1二維旋轉矩陣
形式:旋轉矩陣的形式是什麼樣的呢。
一定是滿秩的,因為沒有進行維度變換
座標軸的長度應該是不變的,因為沒有進行放縮操作,但是角度應該是要變的。
尋找矩陣:
假設我們有點v=(x,y),座標軸是標準的座標軸,角度是為,是與x軸正方向的夾角。
首先,我們已經知道了一些知識,那就是尋找新的座標軸的基,且基的長度仍是1.那麼
這就是我們所需要的旋轉矩陣2.2三維旋轉矩陣
對於三維來說是差不多的,不過因為旋轉軸的不同,旋轉矩陣的形狀也是不同的
可以結構成這麼一段話,對於標準座標系而言,要將一個點V移動到V1(在這裡V和V1的表示都是標準座標系下的),那麼用新基構成的矩陣P變換V,得到V1。這是因為,V在標準座標系中的座標和V1在P的座標系下的座標是一樣的。所以,矩陣變換的並不是V,而是V1。因為P的作用是把本身的座標裡的點變成標準座標系的點的座標,所以變換的其實不是標準座標系裡的V,而是自身的V1,因為他們兩者的值是相同的,會有很強的誤導性,但是並不是說他們空間中的絕對位置是相同的。僅僅因為參考系的變換,導致了他們的值相同。
三.放縮矩陣
放縮矩陣其實就很簡單,圖形的放縮其實就是我們本身的座標軸的基的放縮
四.投影矩陣
將點v,投影到一個平面A,投影方向是B的法向量n。
形式:正交投影矩陣的形式是什麼樣的呢。
應該是高維矩陣,因為其中包含平移操作 應該是一個不滿秩的矩陣,畢竟我們的座標都放到了一個面上 因為是正交投影,所以我們壓縮的,其實就是沿著B法向量上的點 尋找矩陣:我們設V=(vx,vy,vz),A有一點a=(ax,ay,az),面的法向量N=(Nx,Ny,Nz)
- 首先確立平面上的座標系,通過點A,和法向量N建立座標系(X*,Y*,Z*).
- 其中Z是法向量N的方向,轉向是沒有關係的。
- 如果這麼就完了並不能完成平移操作,僅僅完成的是座標系方向的轉向,位置上還需要平移
- 所以需要原點到平面的距離向量L
- 建立最後的投影矩陣 注意:我們這裡所需要的,是應該求逆矩陣,當我們所需要的是投影座標表示而不是在原先座標系表示的時候