




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第6章計算機圖形學基礎16.1計算機圖形學概述工程圖樣是機械制造和土木建筑等工程技術領域中用于表達設計思想、指導生產和進行技術交流的重要工具,是工程界的“共同語言”。為了繪制工程圖樣和提高繪圖效率,人們在實踐中創造出了各種繪圖工具,從簡單的三角板、圓規、丁字尺、圖板到各種模板和機械式繪圖機等,基于這些繪圖工具的手工繪圖方式不僅速度慢、精度低,而且十分繁瑣,工作量大。希望用自動繪圖來代替手工繪圖,計算機繪圖的出現使這個愿望變成了現實。2計算機圖形學概述隨著與計算機繪圖相關的軟、硬件技術的不斷發展和人們對有關理論和算法的深入研究,逐漸形成了一門新興的學科——計算機圖形學(ComputerGraphics,CG)。它是一門涉及物理學、數學、工程圖學、數據結構和計算機技術等多門學科的交叉性學科CG研究怎樣用計算機生成圖形對象、圖形的數據結構、存儲結構以及對圖形對象的操作處理。36.1.1計算機圖形學的應用領域計算機圖形學的發展只有50多年的歷史,但它的發展卻非常迅速。隨著計算機技術的發展和顯示器件工藝水平的不斷提高及成本下降,計算機圖形學的應用領域日益擴大,目前其應用領域主要包括:1.計算機自動繪圖2.計算機輔助設計與制造3.事務管理中的交互式繪圖4.系統模擬和過程監控5.資料檢索和處理自學456.1.3圖形處理的數學基礎——自學6計算機圖形學中的圖形處理包括各種圖形變換和圖形的消隱與裁剪等技術。圖形變換是計算機圖形學的基本內容之一,通過圖形變換可以由簡單的圖形生成較為復雜的圖形,可以用二維圖形來表示三維形體,也可以通過快速變換靜態圖形來獲得動畫效果。73.齊次坐標所謂齊次坐標表示法就是用一個n+1維向量表示一個n維向量的方法。從n+1維空間投影到n維空間中,僅存在“多對一”的變換關系83.齊次坐標普通意義下的坐標與齊次坐標的關系為一對多若二維坐標系下點(x,y)的齊次坐標表示為(wx,wy,w),則(w1x,w1y,w1),(w2x,w2y,w2),,(wmx,wmy,wm)都表示二維空間中同一個點(x,y)。例如(12,8,4)、(6,4,2)和(3,2,1)均表示同一點(3,2)的齊次坐標。93.齊次坐標類似地,三維空間中點的齊次坐標可表示為(wx,wy,wz,w)。當w=1時的齊次坐標系為規格化齊次坐標。10齊次坐標表示法的優點提供了用矩陣運算把二維、三維甚至高維空間中的一個點集從一個坐標系變換到另一個坐標系的有效方法。例如:二維齊次坐標變換矩陣的一般形式是:11齊次坐標表示法的優點三維齊次坐標變換矩陣的一般形式是:如果不采用齊次坐標來表示,則平移變換等圖形變換將無法和其它圖形變換一起采用一種統一的變換矩陣來表示,從而不利于圖形變換程序的編制。12可以表示無窮遠點。例如
維空間中,
的齊次坐標實際上表示了一個n維空間中的無窮遠點。對二維的齊次坐標
,當
時實際上表示直線
,即在上的連續點[x,y]逐漸趨近于無窮遠,但其斜率不變。在三維情況下,利用齊次坐標表示視點在原點時的投影變換,其幾何意義會更加清晰。齊次坐標表示法的優點131.坐標系CAD/CAM系統中的幾何形體都具有一定的形狀、大小和位置,計算機中各種幾何元素的定義和圖形的輸入、輸出都是在一定的坐標系下進行的。為了便于用戶對圖形的理解和提高計算機處理圖形的效率,計算機圖形學中提供了不同的坐標系。6.1.4坐標系及坐標變換141.坐標系在CAD/CAM圖形系統中應用最廣的是笛卡爾(Cartesian)直角坐標系。根據Z軸方向定義方式的不同,笛卡爾直角坐標系分為右手坐標系和左手坐標系:(1)右手直角坐標系:用右手握住Z軸,大拇指指向Z軸的正方向,其余四指從X軸轉向Y軸;(2)左手直角坐標系:用左手握住Z軸,大拇指指向Z軸的正方向,其余四指從X軸轉向Y軸;151.坐標系在一個圖形系統通常還涉及如下幾個坐標系的概念:1)世界坐標系2)建模坐標系3)觀察坐標系4)設備坐標系5)規格化設備坐標系162)窗口和視區(1)窗口(2)視區(3)窗口——視區變換17(1)窗口對窗口(Window)的概念人們并不陌生,例如:人們站在房間里的窗口旁往外看,只能看到窗口內的景物,透過不同的窗口可以看到不同的景物,盡管外面的世界是無限的,但通過窗口只能看到現實世界的某個局部。用照相機的取景器對準景物拍照時,顯示在取景器中的只是景物的一部分,此時照象機的取景器就相當于一個窗口。18(1)窗口在計算機圖形學中引入窗口這一術語,用來將某一部分圖形從整體圖形中分離開來。19(1)窗口計算機圖形學中的窗口:用戶在用戶坐標系下定義的確定顯示內容的一個矩形區域。只有在這個區域內的圖形才會在設備坐標系下顯示或輸出,而窗口以外的圖形將被裁剪掉。優點:方便地顯示用戶感興趣的部分圖形,窗口的適當選用,還可以較方便地觀察用戶的整圖和局部圖形,便于對圖形進行局部修改和圖形質量評價。20(1)窗口可以采用窗口左下角的坐標(WXL,WYB)和右上角的坐標(WXR,WYT)來確定窗口的大小和位置,這里坐標縮寫中的W表示Window,X和Y表示坐標軸,而L表示Left,B表示Bottom,R表示Right,T表示Top。通過改變這兩個坐標值可以改變窗口的大小和位置,以便觀察不同位置的圖形,并控制圖形的大小。21(2)視區視區(Viewport)定義為設備坐標系中的一個矩形區域,用于在圖形設備上輸出窗口中的圖形,視區決定了窗口中的圖形在圖形設備上的顯示位置和大小。視圖作為圖形輸出設備上的一個有限的整數域,它可以通過視區左下角的坐標(VXL,VYB)和右上角的坐標(VXR,VYT)來確定窗口的大小和位置,通過改變這兩個坐標值可以改變視區的大小和在圖形設備上的輸出位置,以便觀察不同位置的圖形,并控制圖形的大小。22(2)視區視區的大小應當小于或等于圖形設備的顯示范圍。可以在計算機屏幕等圖形輸出設備上同時顯示幾個不同的視區,分別用于顯示不同的圖形在交互式圖形系統中通常把一個屏幕分成幾個區域,用于作為不同的圖形功能區,以方便用戶操作。23屏幕的視圖分區243)窗口——視區變換由于窗口是在用戶坐標系中定義的,而視區是在設備坐標系中定義的,必須進行坐標變換,即把用戶坐標系的坐標值轉換為設備(如屏幕)坐標系中的坐標值,這種變換稱為窗口——視區變換。建立用戶坐標與設備坐標系之間的映射關系的過程253)窗口——視區變換根據兩者圖形的相似性原理,可以得到:263)窗口——視區變換如令:則上式可簡化為273)窗口——視區變換齊次坐標的矩陣形式:窗口——視區變換矩陣。28ac時:視圖區中的圖形會有伸縮變化。在圖形系統中,為了確保在視區中顯示的圖形不產生失真的現象,在定義窗口和視區時,應當確保窗口和視區的高度與寬度之間具有相同的比例。a=c=1,b=d=0時,且窗口與視區的坐標原點也相同:在視圖區產生與窗口區相同的圖形。296.2GeometricTransformations在計算機繪圖中,經常要進行的是諸如比例、平移、對稱、旋轉和投影等不改變原有圖形拓撲關系的幾何變換,即這類圖形變換不改變原有圖形中各個幾何對象之間的連接關系和平行關系。由于體是由若干面構成,而面則由若干線組成,點的運動軌跡便構成了線,因此對于線框圖形的變換,通常將點作為圖形變換的基礎,把構成圖形的一系列頂點作幾何變換后,連接新的頂點將得到圖形變換后的圖形。306.2圖形幾何變換在解析幾何中通常用向量[xy]來表示二維平面上的一個點,而用向量[xyz]來表示三維空間里的一個點。由于點是構成任何圖形的最基本的要素,一般將圖形上所有點的二維向量和三維向量寫成矩陣形式316.2圖形幾何變換在數學上通過對點集矩陣進行相應的矩陣運算來實現圖形變換用來實現圖形變換的矩陣稱為“變換矩陣”。構成計算機圖形學的數學基礎Transformationofapointrepresentsthecoreproblemingeometrictransformationsbecauseitisthebasicelementingeometricmodeling.32點的變換點的矩陣[x,y]和一個一般的2×2變換矩陣(transformationmatrix)相乘意義33為了便于用“變換矩陣”實現圖形變換,一般采用圖形的規格化齊次坐標來表示,即二維圖形變換前的一點坐標用[x,y,1]來表示,變換后的坐標用[x*,y*,1]表示。三維圖形變換前的一點坐標用[x,y,z,1]來表示,變換后的坐標用[x*,y*,z*,1]來表示。Homogeneousrepresentation346.2.1二維圖形的幾何變換1.二維圖形變換矩陣2.平移變換3.比例變換4.對稱變換5.旋轉變換6.錯切變換7.復合變換351.二維圖形變換矩陣二維圖形的幾何變換矩陣為:361.二維圖形變換矩陣從變換功能上可以將變換矩陣T2D分為四個子矩陣:(1)利用a,b,c,d可實現圖形的縮放、旋轉、對稱和錯切等幾何變換;(2)利用[cf]可實現圖形的平移變換;(3)利用g,h可實現圖形的投影變換,其中g的作用是在x軸的1/g處產生一個滅點,h的作用是在y軸的1/h處產生一個滅點;(4)利用i可實現對整個圖形的伸縮變換,也稱為全比例變換。37平面圖形的二維幾何變換382.平移變換(Translation)393.比例變換Scaling當Sx=Sy=1時,圖形不變,稱為恒等比例變換。當Sx=Sy>1時,圖形沿兩個坐標軸方向等比例放大。當Sx=Sy<1時,圖形沿兩個坐標軸方向等比例縮小。當SxSy時,圖形沿兩個坐標軸方向作非均勻的比例變換。403.比例變換414.對稱變換
Reflection當b=d=0,a=-1,e=1時,有x*=-x,y*=y,是對y軸的對稱變換。當b=d=0,a=1,e=-1時,有x*=x,y*=-y,是對x軸的對稱變換。當b=d=0,a=e=-1時,有x*=-x,y*=-y,是對原點的對稱變換。當b=d=1,a=e=0時,有x*=y,y*=x,是對直線y=x的對稱變換。當b=d=-1,a=e=0時,有x*=-y,y*=-x,對直線y=-x的對稱變換。424.對稱變換435.旋轉變換Rotation規定逆時針方向為旋轉角
的正方向,則旋轉變換矩陣為:二維圖形繞原點順時針旋轉
角的變換矩陣為:441)當d=0時,有
,此時圖形的y坐標不變,x坐標隨初值(x,y)及變換系數b作線性變化;當b>0時,圖形沿+x方向作錯切變換;當b<0時,圖形沿-x方向作錯切變換。原來平行于y軸的直線向x方向錯切成與x軸成α角的直線,且有
。6.錯切變換452)當b=0時,有
,此時圖形的x坐標不變,y坐標隨初值(x,y)及變換系數d作線性變化;當d>0時,圖形沿+y方向作錯切位移;當d<0時,圖形沿-y方向作錯切位移。原來平行于x軸的直線向y方向錯切成與y軸成θ角的直線,且有
。6.錯切變換466.錯切變換3)當b0且d0時,有,圖形沿x、y兩個方向同時作錯切變換。
47沿X方向和Y方向的錯切變換48相對于任意參考點
的比例變換或者相對于任意直線的對稱變換等情況,就不可能僅用一種基本變換來實現,而必須由兩種或兩種以上的基本變換才能實現。由幾個基本變換組合而成的變換稱為組合變換,也稱為復合變換。其變換矩陣是將有關的基本變換矩陣依次相乘,即通過對圖形進行一次以上的幾何變換來實現。7.復合變換497.復合變換1)復合平移變換2)相對于坐標原點的復合比例變換3)相對于坐標原點的復合旋轉變換4)相對于任意參考點的復合比例變換5)相對于任意參考點的復合旋轉變換6)相對于任意平面直線的對稱變換501)復合平移變換圖形連續進行兩次平移,從復合平移的變換矩陣中可以看出,兩次平移變換的效果是通過“累加”來實現的。512)相對于坐標原點的復合比例變換圖形連續進行兩次比例變換,從復合比例的變換矩陣中可以看出,兩次比例變換的效果是通過“累乘”來實現的。523)相對于坐標原點的復合旋轉變換圖形連續進行兩次旋轉變換,從復合旋轉的變換矩陣中可以看出,兩次旋轉變換的效果是通過旋轉角度的“累加”來實現的。53復合變換比例變換和旋轉變換都與參考點有關的,上面介紹的都是相對于原點所作的比例和旋轉變換。相對于任意參考點作比例和旋轉變換?544)相對于任意參考點
的復合比例變換555)相對于任意參考點的復合旋轉變換566)相對于任意平面直線的對稱變換設平面任意直線的方程為:,則該直線在X軸和Y軸上的截距分別為,設直線與X軸的夾角為α,則有:相對于任意平面直線的對稱變換可通過以下5個步驟來實現:576)相對于任意平面直線的對稱變換(1)首先平移該直線,使得它通過原點。沿X軸或Y軸平移都可以,這里不妨將直線沿X軸平移至通過原點,其變換矩陣為:586)相對于任意平面直線的對稱變換(2)將直線繞原點順時針旋轉α角,使之與X軸或Y軸重合,這里不妨使之與X軸重合,其變換矩陣為:596)相對于任意平面直線的對稱變換(3)對X軸作對稱變換,其變換矩陣為:606)相對于任意平面直線的對稱變換(4)繞原點逆時針旋轉α角,使直線回復到原來與X軸成α角的位置,其變換矩陣為:616)相對于任意平面直線的對稱變換(5)沿X軸平移直線,使之回到原來的位置,其變換矩陣為:626)相對于任意平面直線的對稱變換將上述5個步驟的變換依次相乘,即得到相對于任意平面直線的對稱變換矩陣,即:638.幾點說明1)平移變換只改變圖形的位置,不改變圖形的大小和形狀;2)旋轉變換仍保持圖形各部分間的線性關系和角度關系,變換后直線的長度不變;3)比例變換可改變圖形的大小和形狀,但變換前后的形狀相似;648.幾點說明4)錯切變換引起圖形角度關系的改變,甚至導致圖形發生畸變;5)一般情況下,在復合變換中基本變換的順序一般是不能顛倒的。組合變換的順序不同,則組合變換的結果一般也不同。65組合變換中變換順序對圖形的影響66幾何變換對圖形大小、形狀和位置的影響67幾何變換對圖形大小、形狀和位置的影響686.2.3三維圖形的幾何變換1.三維圖形幾何變換矩陣2.平移變換3.比例變換4.對稱變換5.錯切變換6.繞坐標軸的旋轉變換7.繞任一軸的旋轉變換691.三維圖形幾何變換矩陣三維圖形幾何變換的變換矩陣可用下式表示:比例、旋轉、對稱和錯切變換平移變換透視投影變換全局比例變換701.三維圖形幾何變換矩陣在三維圖形變換中一般采用右手坐標系,且規定圖形繞各個坐標軸旋轉的正方向為右手螺旋方向。712.平移變換三維圖形的平移變換矩陣為:72三維圖形的平移變換733.比例變換三維圖形的比例變換矩陣為:Sx、Sy和Sz分別為圖形沿X軸、Y軸和Z軸的比例因子,實現圖形的放大或縮小。743.比例變換若比例變換的參考點F為,則其三維比例變換過程可以分解為以下三個步驟實現:1)將參考點F平移至坐標原點;2)在新坐標系下相對原點(即原參考點)作三維比例變換;3)將參考點F平移回原來的位置。753.比例變換對空間任意參考點F(xf,yf,zf)的三維復合比例變換矩陣為:764.對稱變換三維對稱變換包括對原點、對坐標軸和對坐標平面的對稱變換,其中最常用的是對坐標平面的對稱變換(鏡象)。774.對稱變換1)對XOY坐標平面的對稱變換,其變換矩陣為:變換后點的坐標:784.對稱變換2)對YOZ坐標平面的對稱變換,其變換矩陣為:變換后點的坐標:794.對稱變換3)對XOZ坐標平面的對稱變換,其變換矩陣為:變換后點的坐標:805.錯切變換三維錯切變換是指圖形沿X、Y、Z三個方向產生錯切,三維錯切變換是畫斜軸測圖的基礎,其變換矩陣為:815.錯切變換變換后點的坐標:錯切變換后三個坐標值的變化均與點的其它兩個坐標值有關。根據參數b、c、d、f、h和i的不同取值情況,三維錯切變換可以分為沿X軸含y錯切、沿X軸含z錯切;沿Y軸含x錯切、沿Y軸含z錯切;沿Z軸含y錯切和沿Z軸含x錯切等不同情況。825.錯切變換其中沿X軸含y的錯切變換矩陣為:變換后點的坐標:835.錯切變換沿Z軸含y的錯切變換矩陣為:變換后點的坐標:846.繞坐標軸的旋轉變換在右手坐標系下圖形繞三個坐標軸按右手螺旋法則逆時針旋轉角的變換公式856.繞坐標軸的旋轉變換1)繞x軸旋轉:866.繞坐標軸的旋轉變換2)繞y軸旋轉:876.繞坐標軸的旋轉變換3)繞z軸旋轉:88設旋轉軸AB由空間任意一點
及其方向角(,,),空間一點
繞AB軸旋轉到
,即要使得:
求變換矩陣7.繞任一軸的旋轉變換89空間一點繞任意軸旋轉的變換過程示意圖907.繞任一軸的旋轉變換求
的基本思想是:以為新的坐標原點,并使AB分別繞X軸旋轉角、再繞Y軸旋轉角使之與Z軸重合,P點再繞Z軸轉角,最后再做上述變換的逆變換,使之回到原來的位置。917.繞任一軸的旋轉變換1)使A點平移到坐標原點。927.繞任一軸的旋轉變換2)繞X軸旋轉角:937.繞任一軸的旋轉變換3)繞Y軸旋轉角與Z軸重合,此時從Y軸往原點看,角是順時針方向,故取負值947.繞任一軸的旋轉變換4)經以上三步變換后,P繞AB旋轉變為在新坐標系中P繞Z軸旋轉角了。957.繞任一軸的旋轉變換5)求Ry、Rx、TA的逆變換967.繞任一軸的旋轉變換97運算實例已知一單位立方體通過xoy平面作三維反射98運算實例求解:一位于原點的單位立方體的三維錯切,如圖所示。996.2.5投影變換Projections圖形顯示設備的顯示表面是一個二維平面,而人們所觀察到的現實世界中的物體都是三維的,為了解決將觀察到的三維物體在圖形設備的二維顯示平面上顯示的問題,就需要用到投影的方法。在日常生活中當一個物體被陽光、月光或燈光照射時,在地面或墻壁上便會出現形體的影子,這就是投影的基本現象。找出光線、形體及其影子之間的關系和規律,總結出了投影理論和方法。1006.2.5投影變換投影理論中:承受影子的面稱為投影面經過形體與投影面相交的光線稱為投射線按照投影法通過形體的投射線與投影面相交得到的圖形,稱作該形體在投影面上的投影將投射線通過形體,向選定的投影面投射,并在該面上得到圖形的方法叫投影法。象平面1016.2.5投影變換投影(Projection)的定義:把n維空間中的點投射到小于n維的空間中。一般較為常見的情況是將一個三維形體在二維平面上進行投影,所以通常所說的投影是指由三維形體變換成一個二維圖形的過程把三維形體變為二維圖形表示的過程稱為投影變換。1026.2.5.1投影變換分類投影的形成過程:首先在三維空間中確定一個投影中心和—個投影平面,然后從投影中心引出一些投射線,這些直線通過形體中的每一個點后與投影平面相交,這樣在投影平面上就形成了形體的投影。根據投影中心與投影平面之間距離的不同,投影分為平行投影和透視投影(中心投影)。1036.2.5.1投影變換分類當投影中心與投影平面的距離為無窮遠時,投射線為一組平行線,這種投影稱為平行投影(ParallelProjection)。根據投影方向是否垂直于投影平面,或者說投影方向是否與投影平面的法線方向一致,平行投影又可分為正平行投影和斜平行投影;而當投影中心與投影平面的距離為有限的數值時,此時投射線交于一點,形成滅點,這種投影稱為透視投影(PerspectiveProjection)。104不同投影的示意圖105投影分類1066.2.5.2正投影變換1071.正投影變換的變換矩陣投影方向垂直于投影平面且投影平面與三維坐標系的三個坐標平面之一平行的正平行投影稱正投影(OrthographicParallelProjection),顯然,在正投影中投影方向平行于某個坐標軸。工程制圖中的三視圖,即正視圖(又稱主視圖)、俯視圖和側視圖(又稱左視圖)均屬于正投影。1081.正投影變換的變換矩陣三視圖的生成就是把X、Y、Z坐標系下的形體分別投影到V、H和W平面,并進一步將三個投影視圖在一個平面上畫出。yx主視圖V俯視圖H側視圖W
一個直角棱臺的三視圖z1091.主視圖主視圖是通過將形體向V平面投影得到的,即令y=0,因此其變換矩陣為:變換后點的坐標:yx主視圖V俯視圖H側視圖W
一個直角棱臺的三視圖z1102.俯視圖俯視圖是通過將形體向H平面投影得到的,即首先令z=0,然后將得到的投影圖繞X軸順時針旋轉90°,使其與V面共面,如有必要再向負Z軸方向平移一段距離,使之與V面的主視圖投影之間保持一段距離。1112.俯視圖變換矩陣變換后點的坐標:yx主視圖V俯視圖H側視圖W
一個直角棱臺的三視圖z1123.側視圖側視圖是通過先將形體向左側面W投影,即令X=0,然后將得到的投影圖繞Z軸逆時針旋轉90°,使其與V面共面,如有必要再向負X軸方向平移一段距離,使之與V面的主視圖投影之間保持一段距離。1133.側視圖變換矩陣變換后點的坐標:yx主視圖V俯視圖H側視圖W
一個直角棱臺的三視圖z1146.2.5.3軸測投影變換在實際工程應用中,由于三視圖缺乏立體感機械設計中常借助軸測圖以獲得生動、直觀的效果。將物體連同它的三個坐標平面同時傾斜于一個投影面,然后用正平行投影法向該投影面投影就得到軸測圖。1156.2.5.3軸測投影變換顯然,在軸測投影中,投影平面并不平行于任何一個坐標平面,或者說投影線與每個坐標軸均成一定的角度。以一個立方體為例,右手坐標系中,軸測圖的產生過程由以下4個步驟組成:(1)首先將立方體置于觀察者的正前方,這時候只能看到它的正面,它是一個正方形;(2)將立方體繞Z軸逆時針旋轉角,這時可以進一步觀察到它的左側面;(3)將立方體繼續繞X軸順時針旋轉角,這時可以進一步觀察到它的上表面;(4)在上述三個步驟中如果坐標系不變,將形體向XOZ平面正投影即得到軸測圖。1166.2.5.3軸測投影變換軸測投影變換由上述變換過程中后三個步驟對應的變換矩陣組合而成,即:1176.2.5.3軸測投影變換在原坐標軸X、Y和Z軸上各取一點距原點O為單位長度的點A、B、C1186.2.5.3軸測投影變換1196.2.5.3軸測投影變換根據軸測變換后三個軸向變形系數之間的關系,工程中常用的軸測投影有:正等軸測投影正二軸測投影1201.正等軸測投影變換當滿足:軸測投影稱為正等軸測投影,得到的軸測圖為正等軸測圖1211.正等軸測投影變換120°120°120°(a)正等軸測yzx投影平面1222.正二軸測投影變換當軸向系數滿足:1232.正二軸測投影變換1243.斜軸測投影變換斜軸測投影變換是通過先將形體沿X軸含y進行錯切變換,然后再將形體沿Z軸含y進行錯切變換,最后將形體向XOZ平面進行正投影來實現,斜軸測投影變換的變換矩陣是上述三個基本變換的組合:1253.斜軸測投影變換在原坐標軸X、Y和Z軸上各取一點距原點O為單位長度的點A、B、C126斜軸測投影變換的軸間角和軸向變形系數1273.斜軸測投影變換1283.斜軸測投影變換1293.斜軸測投影變換130立體圖的正等測、正二測和斜二測圖形1316.2.5.5透視投影透視投影的視線(投影線)是從視點(觀察點)出發,視線是不平行的。透視投影按照主滅點的個數分為一點透視、二點透視和三點透視,任何一束不平行于投影平面的投影線的透視投影將匯聚成一點,稱之為滅點,在坐標軸上的滅點稱為主滅點。主滅點數是和投影平面切割坐標軸的數量相對應的。如投影平面僅切割z軸,則z軸是投影平面的法線,因而只在z軸上有一個主滅點,而平行于x軸或y軸的直線也平行于投影平面,因而沒有滅點。另一個產生三維景物視圖的方法是:沿匯聚路徑將點投影到顯示平面上。132單立方體的一點透視和二點透視133單立方體的一點透視、二點透視和三點透視134一點透視投影1351.簡單的一點透視透視投影的視點(投影中心)為Pc(xc,yc,zc),投影平面為XOY平面,形體上一點P(x,y,z)的投影為(xs,ys),現推導求(xs,ys)的變換公式。1361.簡單的一點透視用齊次坐標表示的變換矩陣1376.3圖形的裁剪、消隱和渲染1386.3.1圖形裁剪裁剪是指以窗口為邊界,將圖形分為可見區域和不可見區域,僅保留窗口內的可見部分,去掉窗口外的不可見部分,并將可見部分在計算機顯示器等圖形輸出設備上輸出識別和選擇可見圖形信息的方法為圖形的裁剪。裁剪問題是計算機圖形學中的基本問題之一。用于裁剪的窗口通常是一個矩形,也可以是其它多邊形可含有曲線的邊界,而被裁剪的對象可以是線段、字符或多邊形等。裁剪的本質是對線段、字符或多邊形等圖形進行求交運算,通過判別后只保留窗口內的部分圖形。1396.3.1圖形裁剪利用裁剪技術可以將窗口內的圖形信息與窗口外的圖形信息區分開來,裁剪技術的應用場合包括:從場景中抽取部分觀察對象、從三維視圖中標識可見面、防止線段或對象的邊界混淆、框選部分圖形對象進行拷貝、移動或刪除等圖形操作。裁剪問題可以分為二維裁剪和三維裁剪兩種基本類型,其中線段的二維裁剪是二維裁剪中的基本問題重點討論二維圖形中點和線段的裁剪問題。1401.點的裁剪由于任何圖形都由點、線(直線、折線和曲線)和字符所組成,而它們又都可看作是點的集合,因此點的裁剪問題是二維圖形裁剪的基本問題。假設窗口x坐標的界限值為xmin和xmax,y坐標的界限值為ymin和ymax,則一點判為可見時,必須同時滿足下列兩個不等式約束,即:1)xmin
≤x≤xmax2)ymin
≤y≤ymax1412.二維線段的裁剪任何圖形都可以看作是由直線段組成的,即使是曲線、圓弧和其它折線等都可以離散化,用一組直線段來近似地表示,因此二維線段的裁剪是其它二維圖形裁剪問題的基礎。線段裁剪首先要研究它與窗口邊界的相對位置,并進一步判別線段的可見性。由于矩形窗口是一個凸多邊形,一條直線段的可見部分最多為一段,因此可以通過判斷線段兩個端點的可見性來確定直線段的可見部分。一條直線段相對于窗口來說,其端點有下列幾種情況:1422.二維線段的裁剪1)直線段的兩個端點都在窗口內,如直線段b,它不需要裁剪,應全部顯示;2)直線段的兩個端點都在窗口外,如直線段a、d、e和f。其中對于直線段a和e,它們均被窗口邊界分成3段,其中中間一段落在窗口內,應當顯示。而對于直線段f,它與窗口邊界只有一個交點,此時的可見部分已退化為一個點;3)直線段d,由于它與窗口的邊界不相交,應當裁剪掉;1432.二維線段的裁剪4)直線段的一個端點在窗口內,另一個端點在窗口外,如直線段c,需要求出它與窗口邊界的交點,并以此為界將直線段分為兩段,只需顯示落在窗口內的那一段。由于一個復雜的圖形可能有成百上千根直線段組成,因此裁剪算法的效率是十分重要的。下面介紹一種有效的線段裁剪算法,即由D.Cohen和I.E.Sutherland提出的“編碼裁剪”算法,也稱為Cohen-Sutherland算法。144Cohen-Sutherland算法為了實現上述算法步驟,首先用窗口的邊界直線將平面分成九個區域,每個區域用四位二進制碼來表示,稱為“區域碼”,四位編碼自左向右的意義為:第1位:用1表示點在窗口之上,否則為0。第2位:用1表示點在窗口之下,否則為0。第3位:用1表示點在窗口之右,否則為0。第4位:用1表示點在窗口之左,否則為0。145Cohen-Sutherland編碼若y>ymax第1碼位為1
若y<ymin
第2碼位為1
若x>xmax
第3碼位為1
若x<xmin
第4碼位為1146Cohen-Sutherland算法任一條直線的兩個端點的編碼都與它所在的區域相對應。位于窗口同一側線段兩個端點的四位二進制代碼進行“按位與”操作的結果必然不是0000位于窗口不同側線段兩個端點的四位二進制代碼進行“按位與”操作的結果必然是0000這個規律正是算法判別的基本依據。147Cohen-Sutherland算法當給定一線段時,首先根據線段的兩端點所處的區域,用相應的四位代碼表示,假設分別用C0和C1來表示,Cohen-Sutherland編碼裁剪法的判別步驟為:1) 若C0=C1=0000,則線段全部在窗口內部,直接予以顯示,并取出下一條直線;否則,若C0ANDC10000,則直線全部在窗口外部,直接裁剪掉,并取出下一條直線;2)若上述判斷不成立,則采用適當的方法將線段分割成2~3個部分,對其中的每個部分再回到步驟1)作進一步的判定,直到處理完所有線段為止。148Cohen-Sutherland算法上述第2步中線段的分割有兩種基本方法:(1)中點分割法:從直線段的中點處進行分割;(2)通過窗口邊界與線段的交點進行分割。上述第1步中的AND表示兩個端點的四位二進制代碼進行“按位與”計算,而不是“邏輯與”操作,即將四位二進制編碼中的每一位獨立地進行“與”的運算。149Cohen-Sutherland編碼裁剪法程序流程圖1501.圖形消隱的基本概念在現實生活中從某一方向觀察一個三維立體時,它的一些面、邊是看不到的。對于簡單的線框模型,如果不對它們進行適當的處理,無疑會影響圖形的立體感,而且這種圖形表示的形體往往也是不確定的,即具有二義性或多義性。為了使得對這些圖形的理解具有唯一性并增強圖形的立體感,需在顯示圖形時消除因物體自身遮擋或物體間相互遮擋而無法看見的棱線。6.3.2圖形消隱151經線消隱處理的三維線框圖152經面消隱處理的三維填色圖1531.圖形消隱的基本概念對于一個三維物體,當沿著投影視線對它進行觀察時,由于物體中各種表面或其它物體的遮擋,使得某些線段或面不可見,這些不可見的線段或面就稱為隱藏線(hiddenline)或隱藏面(hiddensurface)。將這些隱藏線或隱藏面消除的過程就稱為消隱(blanking)。1541.圖形消隱的基本概念消隱工作首先需要解決的問題:決定圖形對象的哪些部分是可見的,哪些部分由于被自身或其它物體所遮擋而成為不可見的,即首先要找出隱藏線和隱藏面,然后再消除這些不可見部分,只顯示可見的線和面,從而使得所顯示的圖形不會產生岐義性。查找、確定并消除隱藏線和隱藏面的技術就稱為消隱技術。1551.圖形消隱的基本概念消隱問題被認為是計算機圖形學中最具挑戰性的問題之一,這個問題的解決主要圍繞“算法正確、運算速度快、空間占用少”等目標來展開研究。人們早在20世紀60年代就開始這方面的研究,目前已經提出多種有效的消隱算法。在已發表的為數眾多的有關圖形消隱的文獻中,有的算法用來處理由平面構成的多面體的消隱問題,也有適合于更加復雜的曲面隱藏線、隱藏面的消去方法。1561.圖形消隱的基本概念由于實際物體的結構千變萬化,模型設計方法也多種多樣,因而探索高效的消隱算法仍是計算機圖形學中人們不斷探索和研究的課題。1571.圖形消隱的基本概念對于單個凸多面體中隱藏線的消隱算法,常見的有矢量計算法和平面頂點序列確定法。矢量計算法用法矢的指向來判別立體各個面的可見性平面頂點序列確定法利用平面上頂點序列的繞向來確定面的可見性。1582.隱藏線消隱的矢量計算法對于凸多面體可以定義邊(edge)、點(node)和面(face),即邊是面的交線,而點則是邊的兩個端點。如果通過一根邊的兩個平面在實體外所夾的角大于180,稱該邊為凸邊,小于180時則稱為凹邊1591.圖形消隱的基本概念如果某個點至少是一根凹邊的端點,則該點稱為凹點,否則就稱為凸點。1601)邊的評價mj是面j的單位法矢量。mj1mj2是面j1和面j2單位法矢量的叉積,該矢量的方向按右手法則確定。面j1和面j2的交線是一根有向邊,它上面的單位矢量e的方向規定如下:使第一個法矢量mj1所在的平面j1處在觀察者右邊,這時觀察者頭部所指的方向即為e的方向1611)邊的評價若定義C=emj1mj2cos,則由于矢量e和矢量mj1mj2始終平行,所以的取值要么為0,要么為180,因此C值的取值為1或-1,顯然當C=1時,e所對應的邊是凹邊,當C=-1時,e所對應的邊是凸邊。1622)點的評價邊的凹凸確定后,該邊端點上的點究竟是凹點還是凸點也就可按前面的定義確定。1633)面的評價設E為視點,向著視點E的象平面的單位法矢量為V,設三維形體上面ji的單位法矢量為mji,若定義C=Vmji,顯然當C>0時面ji是可見面,當C<0時面ji是隱藏面。164隱藏線的消隱處理對形體上的所有面進行評價后,就可以按如下規則進行隱藏線的消隱處理:(1)兩個隱藏面的交線是隱藏線,應當消去;(2)兩個面所共有的凹邊,如果其中一個為可見面,而另一個為隱藏面,這個凹邊是隱藏線,也應當消去。165隱藏線的消隱處理在所示圖形的各個棱線中,根據規則(1)應當消去的棱線如下:GL屬于不可見面AGLF、GHIJKL,應消去;FL屬于不可見面AGLF、FLKE,應消去;LK屬于不可見面FLKE、GHIJKL,應消去;JI屬于不可見面GHIJKL、DJIC,應消去;根據規則(2)應消去的棱線為:DJ屬于可見面DJKE和不可見面DJIC的交線,則此凹邊應消去。通過JK和CI的交點來分開考慮JR和RK,顯然RK的前面沒有什么對象遮住,應當顯示,但JR前面則有面BCIH遮擋著,因此應該用另外的算法來消去JR。1663.平面頂點序列法消隱六面體的每個平面含四個頂點,在圖形變換前給每個面按順時針方向連接各個頂點,例如最前面的平面由順時針方向的頂點序列ABCD構成,左側面順時針方向的頂點序列為ADEH。六面體經過縮放、平移和旋轉等圖形變換并通過透視變換顯示在象平面平面的頂點序列仍按順時針向構成,則確定為可見面,用線段連接各頂點并顯示各條棱線;平面的頂點序列按相反的逆時針向構成時,則確定為隱藏面,并消去各條棱線1673.平面頂點序列法消隱這種方法經常用在表示平面立體的鏈表數據結構中,由于每個形體表面由多條棱邊封閉而成,所以根據這些棱邊在環表中的順、逆時針向排列可用來進行面的可見性判別。1684.消除隱藏面的算法消除隱藏面的算法有多種,常用算法有畫家算法、Z緩沖區算法、掃描線算法和區域采樣算法等。1696.3.3圖形渲染在計算機圖形學領域中,除了積極開展隱藏線、隱藏面的各類高效算法的研究外,對圖形渲染(rendering)技術的研究也異常活躍,它的主要目標是實現用計算機生成和輸出更加具有真實感的物體圖形,以便使觀察者更好地感知和理解它。圖形渲染技術涉及圖形的空間表示、色彩、光照、紋理和質感等。渲染技術在產品幾何造型、動態模擬仿真、科學計算可視化和產品宣傳等領域有著十分廣泛的應用。1706.3.3圖形渲染在計算機圖形學的早期,所生成的圖形只是簡單的線框圖。通過透視變換和消除隱藏線等方法,能產生具有一定真實感的圖形。但是與豐富多彩的客觀世界相比還有相當差距。20世紀70年代以后,圖形顯示技術的發展為真實圖形的生成和顯示提供了良好條件。產品繪圖和造型時,可以通過消隱、色彩、灰度和表面紋理等處理,實現更為真實的顯示效果。1711721.光照模型光照模型(Illuminationmodel)是指在計算機中模擬光照射到物體表面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CSPSTC 56-2020隧道瞬變電磁法超前地質預報技術規程
- T/CSPSTC 126-2023橋梁工程信息模型交付技術規范
- T/CSGF 025-2023跳繩
- T/CSBME 074-2023人工耳蝸調試系統
- T/CRIA 22006-2019預硫化翻新胎面模具
- T/CNFA 023-2023綠色設計產品評價技術規范室內用石材家具
- T/CITS 0006-2023醫用核酸質譜應用技術通則
- T/CIS 11003-2021紅外額溫計
- T/CHTS 10041-2021瀝青混合料垂直振動成型試驗方法
- T/CHC 115.5-2021 T/CAS 115.5-2021保健紡織品第5部分:遠紅外
- 2.3第1.2課時物質的量課件高一上學期化學人教版
- 景觀照明項目評估報告
- 電影你的名字課件
- (小學)語文教師書寫《寫字教學講座》教育教研講座教學培訓課件
- 設備清潔安全保養培訓課件
- 心理危機評估中的量表和工具
- plc課程設計模壓機控制
- 中國大學生積極心理品質量表
- 2023充電樁停車場租賃合同 充電樁租地合同正規范本(通用版)
- JCT908-2013 人造石的標準
- 質量管理員聘用合同
評論
0/150
提交評論