国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

三維投影變換的MATLAB實現(xiàn)

2016-12-22 17:37唐飛楊偉查長禮
關(guān)鍵詞:計算機圖形學(xué)投影矩陣

唐飛 楊偉 查長禮

摘要:三維圖形變換需要對形體頂點的齊次坐標(biāo)矩陣進行復(fù)合計算,計算繁瑣且變換過程晦澀抽象,使用傳統(tǒng)的程序設(shè)計語言實現(xiàn)圖形變換的可視化非常困難。因為在三維圖形變換中引入MATLAB工具,利用其強大的矩陣運算能力和豐富的圖形處理能力,能夠快速準(zhǔn)確地計算矩陣和輸出圖形,清晰直觀地展現(xiàn)圖形變換的方法和過程。

關(guān)鍵詞:三維圖形變換;矩陣;MATLAB;投影;計算機圖形學(xué)

中圖分類號:TH126.2文獻標(biāo)志碼:A

文章編號:1672-1098(2016)02-0036-04

Abstract:A very complex calculation of homogeneous coordinate vertex matrix is needed in 3D graphic transformations. The process of calculation is complicated and obscure. It is very difficult to realize 3D visualization by using the traditional programming language. MATLAB is introduced into 3D graphic transformations. By using its ability of powerful matrix operation and rich graphic processing, we can calculate matrix and output graphic rapidly, and show the method and process of graphic transformation clearly and intuitively.

Key words:3D graphics transformation; matrix; MATLAB; projection; computer graphics

幾何圖形是CAD系統(tǒng)中的基本元素,無論以何種方式建立的模型,最終都需要轉(zhuǎn)換為幾何圖形進行顯示和輸出。幾何圖形由頂點坐標(biāo)、頂點間的拓?fù)潢P(guān)系和組成圖形的線面模型共同決定[1]。圖形變換是計算機圖形處理的基礎(chǔ),是計算機圖形學(xué)的重要組成部分,圖形的處理、顯示和形體構(gòu)造等都需要使用到圖形變換。圖形變換的實質(zhì)是對圖形頂點的坐標(biāo)進行變換,這種變換不改變圖形各元素的屬性和它們之間的拓?fù)潢P(guān)系,僅改變各點的坐標(biāo)。

三維圖形變換包括比例變換、對稱變換、錯切變換、平移變換、旋轉(zhuǎn)變換、投影變換和透視變換等基本變換,更復(fù)雜的變換可以通過基本變換組合而成。每一個變換都可以表示為矩陣計算的形式,通過矩陣的相乘構(gòu)造更復(fù)雜的變換[2]。在圖形變換中需要進行大量的矩陣運算,計算繁瑣且變換過程晦澀抽象,使用C語言等傳統(tǒng)的計算機語言實現(xiàn)可視化程序設(shè)計十分困難。因此在圖形

變換中使用MATLAB軟件,利用其強大的矩陣運算能力和豐富的圖形處理能力,快速準(zhǔn)確地進行矩陣計算和圖形輸出,直觀地展現(xiàn)圖形變換的方法和過程。

1三維圖形變換矩陣

三維空間的點具有三個坐標(biāo),可以用矩陣的行向量[x y z]或列向量[x y z]T來表示,稱為點的位置向量,點的位置向量的集合構(gòu)成位置矩陣。矩陣記錄了三維空間的形體的頂點坐標(biāo)信息,可以由此構(gòu)建三維形體的數(shù)學(xué)模型。

為了對三維形體進行圖形變換,需要引入齊次坐標(biāo)的概念。將n維空間的點用n+1維坐標(biāo)表示,即為該點的齊次坐標(biāo)。例如將點的三維坐標(biāo)(x, y, z)表示為四維坐標(biāo)(H×x, H×y, H×z, H),當(dāng)H=1時為齊次坐標(biāo)的規(guī)格化表示形式[3]。齊次坐標(biāo)為圖形變換提供統(tǒng)一的矩陣運算基礎(chǔ),同時也可以方便地表示無窮遠點等通常難以處理的信息。

空間點的三維坐標(biāo)(x, y, z)使用齊次坐標(biāo)的規(guī)格化表示為(x, y, z, 1)。坐標(biāo)變換可以對點的齊次坐標(biāo)集合構(gòu)成的矩陣進行乘法運算來實現(xiàn),形如[x, y, z, 1] = [x, y, z, 1]×T,T為變換矩陣,得到變換后的坐標(biāo)矩陣。三維圖形變換就是對圖形頂點的坐標(biāo)進行矩陣變換,變換矩陣T是一個4×4的矩陣,形如abcp

2投影變換的MATLAB實現(xiàn)

在CAD系統(tǒng)的圖形顯示和輸出中,三維形體需要投影到二維平面上,才能將圖形在屏幕上顯示和打印輸出?!巴队啊笔侨S形體的二維表示方法,投影變換能夠?qū)⑷S形體投射到平面上,生成二維平面圖形。通常使用的投影圖主要有三視圖、類似“三維”性質(zhì)的軸測圖和立體感強的透視圖[4]。通過MATLAB軟件進行矩陣運算和圖形顯示,可以形象直觀地展現(xiàn)出變換的過程和最終結(jié)果。

2.1正投影變換

在工程制圖中需要采用國家標(biāo)準(zhǔn)規(guī)定的三視圖來表達形體。利用垂直于坐標(biāo)平面的投射線將三維形體分別投射到三個坐標(biāo)平面,即為正投影變換,得到形體的主視圖、俯視圖和左視圖。

已知三維棱臺的各頂點坐標(biāo),使用MATLAB建立頂點的齊次坐標(biāo)矩陣M,創(chuàng)建棱臺的線框模型,根據(jù)坐標(biāo)矩陣M繪制棱臺的線框模型,如圖1所示。

對棱臺的三維模型進行正投影變換得到三視圖,主視圖坐標(biāo)變換矩陣為M×TV,俯視圖坐標(biāo)變換矩陣為M×TH,左視圖坐標(biāo)變換矩陣為M×TW。根據(jù)圖形的大小和位置選擇其中l(wèi)、m、n的數(shù)值,在MATLAB中使用變換后的矩陣?yán)L制正投影圖,如圖2所示。

2.2軸測投影變換

將三維形體連同直角坐標(biāo)系沿不平行于坐標(biāo)平面的方向,用平行投影法投射到投影面上所得的圖形,就是軸測投影圖。軸測圖在一個投影面上同時反映出物體三個坐標(biāo)面的信息,更接近于人的視覺觀察習(xí)慣,所得圖形形象、逼真,富有立體感,在工程設(shè)計和生產(chǎn)中常用作輔助圖樣,用來彌補正投影視圖的不足。

正軸測投影變換:以正平面作為投影平面,先將形體繞Z軸逆時針旋轉(zhuǎn)γ角,再繞X軸順時針旋轉(zhuǎn)α角,然后向V面投影,得到正軸測投影圖。其變換矩陣為旋轉(zhuǎn)、投影變換組成的復(fù)合矩陣TZ=T旋轉(zhuǎn)×T旋轉(zhuǎn)×T投影:

對棱臺的三維模型進行軸測投影變換,得到軸測投影圖,正等軸測圖坐標(biāo)變換矩陣為M×TZ,斜二軸測圖坐標(biāo)變換矩陣為M×TX。選擇合適的α和γ角度,以及d和f的數(shù)值,在MATLAB中使用變換后的矩陣?yán)L制軸測投影圖,如圖3和圖4所示。

2.3透視變換

透視變換產(chǎn)生三維形體在不同視點位置和視線方向下的投影圖。透視圖從一個視點透過一個平面觀察物體,其視線不平行,給人產(chǎn)生一種漸遠漸小的深度感。透視圖采用中心投影法繪制,將投射的視線與投影平面相截交即得到透視圖[5]。通過投影中心將三維形體投影到平面上的變換稱為透視變換。為了使透視圖立體感強、圖像逼真,要先對形體進行平移、旋轉(zhuǎn)等操作,然后進行中心投影,得到逼真的透視投影圖。

將形體繞Z軸旋轉(zhuǎn)γ角,再相對X、Y、Z三個坐標(biāo)軸平移l、m、n距離,然后使用兩點透視矩陣進行坐標(biāo)變換,最后將向V面作正投影,得到棱臺的透視圖。其變換矩陣為旋轉(zhuǎn)、平移、透視、投影變換組成的復(fù)合矩陣TT=T旋轉(zhuǎn)×T平移×T透視×T投影,該矩陣還需正常化后得到透視投影的變換矩陣。

對棱臺的三維模型進行透視變換,得到透視投影圖,坐標(biāo)變換矩陣為M×TT。選擇合適的γ值以及p、q、r的數(shù)值,在MATLAB中使用變換后的矩陣?yán)L制透視投影圖,如圖5所示。

3總結(jié)

三維圖形變換包括了幾何變換和投影變換等,是計算機圖形處理領(lǐng)域中的重要內(nèi)容,矩陣運算是進行多種圖形變換的統(tǒng)一方法。圖形變換時需要對三維形體頂點的齊次坐標(biāo)矩陣進行復(fù)合運算,計算過程繁瑣且變換過程晦澀抽象,使用傳統(tǒng)的程序設(shè)計語言實現(xiàn)變換過程的三維可視化非常困難。在計算機圖形變換中引入MATLAB工具,利用其強大的矩陣運算能力和豐富的圖形處理能力,快速準(zhǔn)確地進行矩陣計算和圖形輸出,清晰直觀地展現(xiàn)出圖形變換的方法和過程,降低了學(xué)習(xí)的難度,增強了對圖形變換方法的深層次理解,并將研究的重心轉(zhuǎn)移到概念的理解和原理的運用上,有效地提高了系統(tǒng)開發(fā)的效率。

參考文獻:

[1]王隆太,朱燈林,戴國洪.機械CAD/CAM技術(shù)[M].第3版.北京:機械工業(yè)出版社,2013:8-200.

[2]劉極峰.計算機輔助設(shè)計與制造[M].北京:高等教育出版社,2011:5-150.

[3]姚英學(xué),蔡穎.計算機輔助設(shè)計與制造[M].北京:高等教育出版社,2011:10-50.

[4]何援軍.投影與任意軸測圖的生成——論圖形變換和投影的若干問題之二[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2005,17(4):729-733.

[5]何援軍.透視和透視投影變換——論圖形變換和投影的若干問題之三[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報,2005,17(4):734-739.

[6]田秀萍,高慧.三維圖形變換的統(tǒng)一矩陣[J].太原理工大學(xué)學(xué)報,1999,20(2):130-132.

[7]連瑞梅.三維圖形的幾何變換及其變換矩陣[J].濰坊學(xué)院學(xué)報,2005,5(4):76-78.

[8]馬麗麗,張光輝,李杏粉.矩陣在計算機三維圖形變換中的應(yīng)用[J].石家莊鐵路職業(yè)技術(shù)學(xué)院學(xué)報,2008,7(3):42-47.

(責(zé)任編輯:李麗范君)

猜你喜歡
計算機圖形學(xué)投影矩陣
解變分不等式的一種二次投影算法
基于最大相關(guān)熵的簇稀疏仿射投影算法
找投影
找投影
計算機圖形學(xué)與圖形圖像處理技術(shù)
用面向科學(xué)思維的教學(xué)方法改進計算機圖形學(xué)課程教學(xué)
計算機圖形學(xué)教學(xué)改革淺論
初等行變換與初等列變換并用求逆矩陣
矩陣
矩陣
尚志市| 麻江县| 同仁县| 霍州市| 延庆县| 鹤庆县| 汉源县| 崇仁县| 盈江县| 南安市| 宕昌县| 昆山市| 渝北区| 板桥市| 内丘县| 霍州市| 温州市| 阳信县| 西昌市| 荥经县| 许昌县| 凤山县| 冕宁县| 达尔| 西安市| 永川市| 确山县| 齐齐哈尔市| 章丘市| 德惠市| 江津市| 那坡县| 突泉县| 山阳县| 吉林市| 大竹县| 保定市| 烟台市| 玉山县| 崇义县| 长岭县|