資源描述:
《計算機圖形學消隱算法.ppt》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、消隱算法主要內容:一、概述二、消隱的基本技術三、凸多面體消除隱藏線四、消除隱藏面用計算機生成三維形體的真實圖形,是計算機圖形學研究的重要內容之一。在使用顯示設備描繪三維圖形時,必須把三維信息作某種投影變換,在二維顯示表面上繪制出來。由于投影變換失去了深度信息,往往導致圖形的二義性:要消除二義性,必須在繪制時消隱實際不可見得線和面,即消隱。經過消隱的投影圖稱為物體的真實圖形。一、概述消隱不僅與消隱對象有關,還與觀察者的位置有關。如圖所示,由于視點的位置不同,物體的可見部分也不同:消隱與觀察者的位置關
2、系按消隱的對象分類線消隱(Hidden-line)面消隱(Hidden-surface)按消隱空間分類物體空間消隱算法圖像空間消隱算法線消隱(Hidden-line)消隱對象是物體上不可見的線,一般用于線框圖。當用筆式繪圖儀或其它畫線設備繪制圖形時,主要使用這種算法。面消隱(Hidden-surface)消隱對象是物體上不可見的面,一般用于填色圖。當用光柵掃描顯示器繪制圖形時,主要使用這種算法。早期圖形顯示器是用線條表示圖形,消隱主要是消隱線問題。使用光柵顯示器后,物體可用連續(xù)變化的色調來描述,消
3、隱算法的研究漸漸轉向消隱面的問題。第一種是物空間算法。它以三維場景中的物體對像作為處理單元的,在所有的對像之間進行比較,除去完全不可見的的物體和物體上不可見的部分。常用于線框表示立體的線隱藏,也用于面隱藏。for(場景中的每一個物體){將其與場景中的其它物體比較,確定其表面的可見部分;顯示該物體表面的可見部分;}隱藏線(面)的消除的兩種基本算法特點是:算法可以達到相當高的精度。第二種是像空間算法。它以構成圖形的每一個像素為處理單元的,確定場景中哪些表面的像素相對于觀察點而言是可見的,用該表面的顏色
4、填充該像素。常用于隱藏面。特點是:算法精度低,只能達到屏幕精度為止,但速度往往更高。其算法是對每一個像素:在和投影點到像素的連線相交的表面中找到離觀察點最近的表面用該表面上交點處的顏色填充該像素。for(窗口內的每一個像素){確定距視點最近的物體,以該物體表面的顏色來顯示像素}算法復雜度假設場景中有k個物體,平均每個物體表面由h個多邊形構成,顯示區(qū)域中有mxn個像素,則:第一種算法的復雜度為:O((kh)×(kh))第二種算法的復雜度為:O(mnkh)9物空間消隱算法:需對物體表面的h個多邊形中的
5、每個面與其余h-1個面進行比較,精確地求出物體上每個棱邊或每個面的遮擋關系。算法的計算量正比于h2,即算法復雜度為:O((h)2)。則:k個物體的算法復雜度為:O((kh)2)。10象空間消隱算法:這類算法對屏幕上的每個象素進行判斷,以決定物體上哪個多邊形在該象素點上是可見的。若屏幕上有m×n個象素點,每個物體表面上有h個多邊形,則該類消隱算法計算量正比于mnh。則:k個物體的算法復雜度為:O(mnkh)。各種消隱算法均采用一定形式的幾何排序。通過排序,可搜查出位置上靠近觀察者的幾何元素,確定幾何
6、元素之間在位置上的遮擋關系,解決消隱計算的主要問題。各種算法都有各自的排序方法和排序次序。排序次序影響算法的效率。算法排序二、消隱基本技術為了提高消隱算法的效率,各種消隱算法常采用一些有效的消隱基本算法。利用連貫性將透視投影轉換成平行投影包圍盒技術背面剔除空間分割技術物體分層表示物體連貫性面的連貫性區(qū)域連貫性掃描線的連貫性深度連貫性利用連貫性連貫性是指從一個事物到另一個事物,其屬性值(如顏色值、空間位置)通常是平緩過渡的性質。例如:棱邊的連貫性是指:棱邊的可見性在它與其他棱邊相交時才發(fā)生變換;面的
7、連貫性是指:如果面的一部分是可見的,則一般情況下整個面都是可見的。物體連貫性若物體A與物體B是完全分離的,消隱時只需要比較兩物體之間的遮擋關系即可,不需要對它們的表面多邊形逐一進行測試;面的連貫性一張面內的各種屬性值一般是緩慢變化的,可采用增量的形式對其進行計算;區(qū)域連貫性一個區(qū)域一般指屏幕上一組相鄰的象素,他們通常為同一個可見面所占據(jù),可見性相同;掃描線的連貫性在相鄰兩條掃描線上,可見面的分布情況相似;深度連貫性同一表面上的相鄰部分深度是相近的,而占據(jù)屏幕上同一區(qū)域的不同表面的深度不同,這樣只需
8、取其上一點計算出深度值,比較該深度值便能得出結果;包圍盒技術一個形體的包圍盒指的是包圍它的簡單形體。比如,2D的矩形,3D的立方塊、長方體、球等。目的:避免盲目的求交測試;各物體間的比較等。一個好的包圍盒要具有兩個條件:包圍和充分緊密包圍著形體;對其的測試比較簡單。例:矩形包圍盒及長方體包圍盒提高算法效率包圍盒不相交,線段和多邊形也不相交,線段完全可見,無需就線段和多邊形的遮擋關系進行進一步判斷。可推廣到面與面的遮擋快速判斷。例如:兩個空間多邊形A、B在投影平面上的投影分別為A’,