【轉】【矩陣】坐標的矩陣變換


2.3.3 基本二維變換       

  基本二維變換有比例變換(Scaling)、旋轉變換(Rotating)、錯切變換(Shearing)和平移變換(Translating)。    

1)比例變換    

   比例變換就是將平面上任意一點的橫坐標放大或縮小S11倍,縱坐標放大或縮小S22倍,即   

  image   

  其中S稱為比例變換矩陣。圖2.24是比例變換的幾個例子。圖中(b)是S11=S22的情況,(C)是S11≠S21的情況   

  image

 

2)旋轉變換      

  旋轉變換就是將平面上任意一點繞原點旋轉θ角,一般規定逆時針方向為正,順時針方向為負。從圖2.25可推出變換公式:    

image    

3)錯切變換       

  在旋轉變換矩陣中,非對角線元素有什么幾何意義?觀察圖2.26中的例子。變換矩陣中元素S21起作把圖形沿X方向“錯切”的作用,Y值越小,錯切量越小。S12則有將圖形向Y方向“錯切”的作用,同樣其作用的大小與X值成正比。

 image    

4)平移變換      

  平移交換指的是將平面上任意一點沿X方向移動tx。,沿Y方向移動ty(圖2.27),其變換公式為    

image    

由上式可見,平移交換不能直接用2X2矩陣來表示。下述齊次坐標變換矩陣則可解決這個問題。

注意:這句話關鍵(疑問點在於為什么二位轉換需要3x3的矩陣)

2.3.4 齊次坐標       

  如把平面上的點P=[Xy]放到空間去表示為[X Y H],使得x= X/H, y=Y/H 則稱[X Y H」是點 P的齊次坐標。如規定齊次坐標的第三個分量H必須是 1,則稱為規范齊次坐標。P=[xy」的規范齊次坐標是[x y 1]。顯然,二維空間中描述的點與齊次坐標空間描述的點是一對多的關系。使用齊次坐標之后,平移交換可用矩陣乘法表示如下:

image

注意:現在可以看到平移的時候x1=x*1+x*0+x*tx,y1=y*0+y*1+y*ty即等於相加的做法,現在所有的轉換都可以使用矩陣乘法了

2.3.5 復合變換     

    實際問題中常遇到的是較為復雜的變換,但這些均可通過一系列的基本變換復合而成。下面舉例說明。    例1 繞任意點C=[Cx Cy]的旋轉變換。圖2.28總的變換可通過三個基本變換復合而成。先進行平移交換,平移量為-Cx和-Cy,然后繞原點旋轉θ角,最后再進行平移量為Cx和Cy的平移變換。因此,任一點P經過逐次變換后的齊次坐標為

image

image

變換矩陣稱為復合變換矩陣。

例 2相對於任意點 C=[Cx Cy]的比例變換

 image   

與例1其復合變換陣三個變換復合而成。即為 

image    

由上述計算過程知,一個簡單比例變換需要有三個計算步驟。對第一次平移,可看成是將變換物移動到坐標系的原點,第二次平移則可看成將變換物移回原位。  

例3 相對於直線 ax+by+c=0 進行對稱變換 

image    

此例可由五個基本變換復合而成,復合變換矩陣可按下式進行計算

image 

image 

image

 

2.3.6 三維變換        

  對三維空間的點P=[X Y Z],采用規范齊次坐標則與二維情況類似,其平移交換和比例變換的變換矩陣分別為:  

image   

其中tx,ty,tz分別是沿x、y、z方向的平移量S11、S22和S33分別是在x、y、z方向上相對於原點的比例因子。三維旋轉變換稍微復雜,采用右手坐標系,從規定的坐標軸正方向向原點看,繞該軸逆時針方向為正,順時針方向為負。繞Z軸、X軸和Y軸旋轉θ角的變換矩陣分別為:

image   

數學上可證明,旋轉變換中前三行和前三列組成的3X3子矩陣是一正交矩陣,即三個列(行)向量均為單位向量,互相正交,而且三個列向量經過該旋轉變換后,分別與X軸、Y軸和Z軸重合。利用這個性質有時可很容易確定旋轉變換矩陣。       

   三維幾何變換與二維變換一樣,也都是由一系列基本變換構成的復合變換。在進行變換過程中同樣要注意變換矩陣的次序。雖然,有些變換矩陣與其次序無關,但從程序設計及計算的角度出發,建議讀者一律采取按次序進行矩陣運算。三維變換矩陣中的大多數元素的作用讀者已經了解,但其最后一列的元素在變換中起什么作用?這將在透視變換一節中得到解答。

2.3.7 三維透視變換    

  三維齊次幾何變換矩陣中第四列元素組成的3x1子矩陣與透視交換有關,其中的元素稱為透視參數。對空間任意點的透視變換為 

 image   

上式中分母px+qy+rz+l是一個變量,故經透視變換后圖形產生了變形。參數p、q、r如何對圖形產生透視變換的呢?為簡化問題,先設p=0、q=0,則這時的變換矩陣對空間點所進行的變換為   

image

image

由上式,當 Z=0時,X=x,Y=y,說明z=0這個平面是此變換中的不變動平面,即變換后,x、y值均無變化;當 z→ ac時,則 Z→l/r,表示無限遠點經透視變換后對應於有限點,也就是平行Z軸的直線變換后匯交於Z軸上的一點1/r;當Z→l/r時, Z→∞說明有限遠點-l/r經透視變換后又對應無限遠點,原來交於軸上的一點-l/r的直線變換后平行於Z軸。當r>0時,這種變換的幾何意義如圖2.31所示。同理可推論,當r≠0,P≠0時,則X軸上也有一個有限點x=l/P對應於x=∞的點。這時,經透視變圖2.31透視交換的幾何意義換后,平行於Z軸的直線匯交於Z軸上的一點1/r,而平行於X軸的直線則匯交於X軸上的點1/p處。當透視參數p、q、r都不等於零時,則透視變換將。x=∞, y=∞, z=∞處的點分別映射成 X= l/P, Y=l/q和 Z=1/r。這時,平行於三坐標軸的直線經變換后就分別匯交於X、Y、Z軸上的一固定點。

2.3.8 三維變換應用    

1)多面視圖       

  在工程制圖中,繪制立體多面視圖時是用正投影方法將立體投影到投影面上,然后將多個投影面連同已得到的投影圖按一定規則展平在同一平面上,從而得到立體的多面視圖。這個投影過程如果用矩陣來表示的話,就是將立體向投影面作正投影,再將投影面繞相應的坐標軸旋轉,並使圖形沿投影軸平移以保持視圖間一定的距離,這三個步驟可分別用矩陣表示,而將這三個矩陣級聯起來就得到了最后結果。為推導三視圖的變換矩陣,現以X—Y平面作為正面投影面(即V面),主視圖就是畫在這個投影面上的。   

(1)主視圖:當立體向XY平面作正投影,在投影面展開時,XY平面保持不動,因而,x,y坐標不變,而z坐標為零,所以,主視圖的變換矩陣是  

 image   

(2)俯視圖:俯視圖是向XZ平面(即H面)投影,然后XZ平面連同所得的投影繞X軸正轉出Y角,使與X Y平面重合,並沿Y軸反向平移一段距離所得的視圖。這時,x,y坐標不變,Y=0。因此,俯視圖的變換矩陣是   

image   

(3)側視圖:側視圖是先向Y z平面(即W面)投影,從而使y、z坐標不變,X=0,再繞Y軸正轉90角,與XY平面重合,並沿X軸平移所得的視圖,因此俯視圖的變換矩陣是   

image   

立體的三視圖也可以這樣得到,即將立體向XY平面投影而得到主視圖。為也得到俯視圖,可把立體先繞X軸正轉90度,然后向XY面投影,再沿X軸平移,就得到了側視圖。這種變換與上述變換結果是一樣的。

 

原文地址:http://www.cnblogs.com/Clingingboy/archive/2010/10/17/1853559.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM