理解矩陣的形式含義(矩陣在左,向量在右):3d
形式:平移矩陣的形式是什麼樣的呢。cdn
必定是一個滿秩的矩陣,由於咱們並不會進行維度的變換。 座標軸的方向和長度是不變的,由於矩陣運算的本質是改變的參考系的X,Y。
尋找矩陣:blog
那麼什麼樣的矩陣可以使得一個點進行平移操做呢,由於平移操做並不會改變參考系XY的方向和單位向量的長度,因此實際上,在當前的維度中,咱們並不可能作到,爲何呢?由於咱們以前說過,矩陣的線性變換並不會改變原點的位置,矩陣是默認原點就是(0,0),在矩陣中填充任何的值都沒辦法改變這個約定熟成的決定。那麼怎麼作到呢,咱們利用更高一維的矩陣,也就是三維矩陣進行操做,其實就是在更高的維度當中,解決咱們的原點平移問題。it
在這裏,須要說明的是,若是咱們使用的是左矩陣右向量的形式,那麼構成咱們全新的座標系的向量應當是矩陣中的列。咱們在增長了一個新的維度,(dx,dy,1),dx,dy就是咱們要平移的數量,而增長一個1,是由於要保持秩是3,畢竟咱們是從更高一層的維度來轉移咱們的座標原點的。從幾何意義來講,平移矩陣其實就是增長一個並不正交的Z軸(dx,dy,1)來進行一個座標軸的從新定義,繼而將座標轉換位置。io
這裏須要注意的是,點V=(x,y,1),並非再是咱們二維座標上的點,而是以P的列向量爲基所構成的三維空間上的點,只是說咱們把二維的點變爲V=(x,y,1)而後通過對應矩陣P的線性變換,最終獲得平移點的位置。class
這個過程可能有些難以理解,可是又是那麼的巧妙和精確。咱們所構造的矩陣P,是經過新空間中基的列向量來構成的,其中的列向量中每個座標值對應的數值,其實都是以咱們原有的基x=(1,0),y=(0,1)來決定的。P這個矩陣,是一種線性的變換,是把用它座標系中表示的點的位置座標,來映射到原先咱們肯定它的時用的基的空間裏。基礎
這其實就是一種投影運算,對V的每一個座標值進行投影。原理
而p的逆矩陣,其實就是把咱們的座標映射到P的座標中的運算。lazyload
當咱們理解了二維的平移矩陣,那麼,其實三維的矩陣也是同樣的原理gc
旋轉矩陣的基礎含義就是繞原點的旋轉。
形式:旋轉矩陣的形式是什麼樣的呢。
必定是滿秩的,由於沒有進行維度變換 座標軸的長度應該是不變的,由於沒有進行放縮操做,可是角度應該是要變的。
尋找矩陣:
假設咱們有點v=(x,y),座標軸是標準的座標軸,角度是爲,是與x軸正方向的夾角。
首先,咱們已經知道了一些知識,那就是尋找新的座標軸的基,且基的長度還是1.那麼
這就是咱們所須要的旋轉矩陣對於三維來講是差很少的,不過由於旋轉軸的不一樣,旋轉矩陣的形狀也是不一樣的
能夠結構成這麼一段話,對於標準座標系而言,要將一個點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)