矩陣論——三維圖形應(yīng)用_第1頁
矩陣論——三維圖形應(yīng)用_第2頁
矩陣論——三維圖形應(yīng)用_第3頁
矩陣論——三維圖形應(yīng)用_第4頁
矩陣論——三維圖形應(yīng)用_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、矩陣在計算機三維圖形變換中的應(yīng)用姓名: 余 章 權(quán) 學(xué)號: 07127011 班級: 071271 學(xué)院: 數(shù)學(xué)與統(tǒng)計學(xué)院 07127011 余章權(quán)矩陣在計算機三維圖形變換中的應(yīng)用 摘要:論述如何利用矩陣的變換性質(zhì)實現(xiàn)計算機的三維圖形變換,主要是通過平移、縮放和旋轉(zhuǎn)三種基本變換的組合來實現(xiàn)的,利用矩陣可以是圖形處理高速化。關(guān)鍵詞: 平移、縮放、旋轉(zhuǎn)1 引言三維圖形圖像的處理,顯示和形體構(gòu)造需要使用三維幾何變換,這些變換是通過基本的平移,縮放和旋轉(zhuǎn)組合而成的,每一個變化都可以表示為矩陣變換的形式,通過矩陣的相乘或連續(xù)可以構(gòu)造復(fù)雜的變換。2 矩陣與圖形變換計算機對圖形的處理,經(jīng)常用到各種變換,若用

2、解析式表示坐標變換,計算過程和縮放程序都很復(fù)雜,用矩陣表示圖形的坐標變換,特別是復(fù)合變換就顯得比較簡單,利用矩陣進行計算,可使圖形處理高速化。事實上,對于一個空間圖形,圖形上每一個點都對應(yīng)著唯一的坐標(x,y,z),它的標準化齊次坐標為一個四維的向量。設(shè)T為4 X 4變換矩陣:其個元素的性質(zhì)為:a,b,c,d,e,f,g,h,i產(chǎn)生比例,反射,旋轉(zhuǎn),錯位變換,l,m,n產(chǎn)生沿x軸,y軸,z軸的平等移動。P,q,r產(chǎn)生透視變換,s產(chǎn)生全比例變換。利用變換矩陣T可以對三維坐標進行各種變換,其基本關(guān)系式為:一般地,對圖形對平移變換的變換矩陣為:其中l(wèi),m,n分別沿x軸,y軸,z軸的方向的平移量,其坐

3、標關(guān)系式為:對圖形做比例變換矩陣為:a,e,i分別表示坐標x,y,z的放大率,其坐標關(guān)系為:當(dāng)a,e,i均等于1時,則變換矩陣為:T=這時T產(chǎn)生全比例變換,其中S為整個圖形的放大率,當(dāng)s>1時整個圖形縮小,當(dāng)s<1時整個圖形放大。對圖形作錯移變換的變換矩陣為:T=對圖形作關(guān)于xoy平面的反射變換的變換矩陣為:T=將圖形繞x軸旋轉(zhuǎn)角的變換矩陣為:T=將圖形繞y軸旋轉(zhuǎn)角的變換矩陣為:T=如果要對圖形連續(xù)施行幾種變換,則它的變換矩陣就是幾個相應(yīng)變換后矩陣的乘積,如對點A(x,y,z)先作比例變換,然后再繞y軸旋轉(zhuǎn)角,則新舊坐標關(guān)系為:(x,y,z,1)=3 利用矩陣進行三維圖形變換 設(shè)三

4、維孔家那種任意一點的齊次坐標p(x,y,z,1),作三維圖形得打的點的齊次坐標為p(x,y,z,1)可得下面三維圖形集合變換矩陣。3.1 平移變換平移變換課將指定形體從當(dāng)前位置移到一個新的位置,而不改變其方向和大小。式中,Dx,Dy,Dz 分別是沿x軸,y軸,z軸方向上的平移量,圖1是三維平移變換示意圖。3.2 比例變換 比例縮放變換指定形體的大小,該比例變換以坐標原點為參考點,上式中的分別是沿x軸,y軸,z軸方向上的縮放比例,圖2是以坐標原點為參考點的三維比例變換示意圖。 如果要以三維空間中的任意一點(x0,y0,z0)為參考點作比例變換,先平移至原點作比例變換后再平移回到點(x0,y0,z

5、0),比例變換矩陣為:3.3 旋轉(zhuǎn)變換三維旋轉(zhuǎn)變換是指空間形體繞坐標軸旋轉(zhuǎn)角,旋轉(zhuǎn)的正方向通常按右手定則確定,即右手拇指指向轉(zhuǎn)軸方向,其余四指指向便是旋轉(zhuǎn)角的正交(如圖3)。旋轉(zhuǎn)變換后形體的大小和形狀不發(fā)生變化,只是空間位置相對原位置發(fā)生了變化。繞x軸旋轉(zhuǎn):,其中為圖形繞x軸旋轉(zhuǎn)的角度;繞y軸旋轉(zhuǎn):其中為圖形繞y軸旋轉(zhuǎn)的角度;繞z軸旋轉(zhuǎn):其中為圖形繞z軸旋轉(zhuǎn)的角度。4 旋轉(zhuǎn)矩陣 設(shè)o-x1y1z1和o-xkykzk是以o為同一原點的不同坐標系,對應(yīng)的基向量分別為和,則同一矢量可以用兩種不同的基表示出來。,其中為向量的坐標陣列,右邊等式的兩邊用點乘,得到:,其中Alk為3X3標量矩陣,定義為:由

6、此式可以判斷,相同元素之間的選擇矩陣為三階單位矩陣,即All(Akk)=E,并且于實際情況符合。我們用以下算例來實現(xiàn)旋轉(zhuǎn)陣的應(yīng)用:5 三維圖形變換的統(tǒng)一矩陣面計算機繪制物體的投影圖,是將三維空間的物體用二維平面上的圖形來表示,因此,需要進行圖形變換,而進行圖形變換行之有效的方法是矩陣機器運算。常用的三維圖形變換矩陣有繞z軸的旋轉(zhuǎn)矩陣S1,繞x軸的旋轉(zhuǎn)矩陣S2,平移矩陣S3,向y面的正投影矩陣S4,它們分別為其中分別為繞z軸和x軸旋轉(zhuǎn)的角度,l,m,n為平移參數(shù)6 計算機三維變換使用矩陣Direct 3D使用矩陣來執(zhí)行3D變換,解釋了矩陣是如何來建立三維變換。描述了一些變換的基本用法以及如何通過

7、矩陣合并來完成復(fù)雜的變換,平移Translation旋轉(zhuǎn)Rotation,縮放Scaling。在Direct 3D程序中,平移矩陣也可以使用D3dutil.cpp矩陣中的Translate輔助函數(shù)來創(chuàng)建此矩陣,下面的例子展示了Translate函數(shù)的源碼:D3DMATRIX Translate(canst float dx. Const float dy. Const float dz)D3DMTR x ret=identity Matrix();Ret(3. 0)=dx;Ret(3. 1)=dy;Ret(3. 2)=dz;Return=ret; end of Translate()使用 D3

8、dutil.cpp 文件中的Rotate x 和Rotate y 和Rotate z 輔助函數(shù)來創(chuàng)建放置矩陣,下面是Rotate x函數(shù)的代碼:D3DMATRIX.Rotatex(const float rads) float const sine;const =cos(rads);sine =sin(rads);D3DMATRIX ret=identity Matrix();Ret(1 .1)=consine;Ret(2 .2)=consine;Ret(1 .2)=-sine;Ret(2 .1)=sine;Rerurn ret;/end of Rotatx()7 結(jié)語上述推導(dǎo)出的計算機三維圖形變換,怎樣利用矩陣的變換性質(zhì),可以通過平移比例變化和旋轉(zhuǎn)三種基本變換的組合來實現(xiàn),尤其是它的旋轉(zhuǎn)變換需要知道旋轉(zhuǎn)角和旋轉(zhuǎn)軸。參考文獻:1王汝傳.計算機圖形學(xué)M.北京:人民郵電出版社,2002.1801892何援軍.計算機圖形學(xué)M.北京:機械工業(yè)出版社,2006.87913焦永廣.計算機圖形學(xué)教程M.北京:理工大學(xué)出

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論