《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 其他 > 業(yè)界動態(tài) > 連續(xù)切片三維重構(gòu)繪圖過程的消隱技術(shù)

連續(xù)切片三維重構(gòu)繪圖過程的消隱技術(shù)

2008-06-10
作者:李華清1,陳百明2,謝水生1,李

  摘 要: 消隱技術(shù)是計算機三維模擬的關(guān)鍵。為實現(xiàn)對材料三維立體圖形的快速繪制,本文利用連續(xù)切片截面之間相互平行的特性,通過尋找相鄰截面中的關(guān)鍵點,分別從兩邊向中間繪制側(cè)面并填色,從整體上采用自下而上的方法,實現(xiàn)了立體圖形的消隱。該方法避免了常規(guī)消隱方法中需要建立構(gòu)成物體幾何元素的方程并求解諸元素之間相交、前后遮擋關(guān)系等復(fù)雜的運算過程。
  關(guān)鍵詞: 連續(xù)切片 三維重構(gòu)" title="重構(gòu)">重構(gòu) 消隱 計算機模擬


  在連續(xù)切片的三維重構(gòu)過程中,最后得到的圖形是實體的外表面,應(yīng)該具有良好的立體效果" title="立體效果">立體效果。但是在最終繪制圖形之前,需要經(jīng)過坐標(biāo)轉(zhuǎn)換[1,2]和圖形消隱處理[3,4]才能繪制出符合透視關(guān)系、具有真實立體感的圖形。否則,比較復(fù)雜的立體圖形將呈現(xiàn)為一幅雜亂無章的畫面。
1 消隱的定義
  消隱是指在計算機繪制立體圖形時,只顯示透視關(guān)系中能夠看得見的部分,不顯示被遮擋的線段或平面,從而使繪制的圖形符合透視關(guān)系并具有立體感的繪圖方法。
  為了達到消隱的目的,需要把表示三維物體的每個幾何元素(包括點、線、面)與每個構(gòu)成物體的輪廓面進行遮蔽判斷,即是否全部或部分被遮蔽。把被遮蓋線段或部分被遮蓋線段與可見線段或部分可見線段區(qū)分開來,最后畫出可見線段和線段的可見部分,隱藏不可見線段和線段的不可見部分,就得到了經(jīng)過消隱處理的立體圖形。
  各種消隱算法都涉及到排序,最常用的就是某種形式的幾何排序,即將物體及物體各表面按照相對于某一觀察點(注:視覺成像遵循透視投影的原理,透視投影的特點是,所有的投影線都從空間某一點出發(fā),該點被稱為投影中心或觀察點,也稱為視點)的距離遠近依次排序。通過這種排序,可以找出位置上靠近視點的物體表面,最后確定各表面之間在透視關(guān)系上的遮擋關(guān)系。一般情況下,距離觀察點遠的物體總是被距離觀察點近的物體部分或完全遮擋。
  排序不僅在空間深度方向(如Z方向)進行,而且要在畫面(如X、Y方向)平面內(nèi)進行。實現(xiàn)排序要花費大量的時間進行相交計算、深度檢測和關(guān)系判斷。為了提高排序效率,各算法中需要頻繁地利用點、邊、面的相關(guān)性信息。相關(guān)性是指物體之間或一個物體的各部分之間引起隱藏現(xiàn)象改變的相互關(guān)系。消隱時,通過考慮這些關(guān)系,可以大幅度減少消隱搜索的計算量。
2 消隱算法分類及特點
  按照所處空間位置的不同,消隱算法可以歸納為以下三類:(1)在描述物體的坐標(biāo)系空間中進行,稱為物體空間算法或用戶空間算法。(2)在圖像空間中進行,稱為圖像空間算法或屏幕空間算法。(3)同時在物體空間和圖像空間中實現(xiàn),如畫家算法。
  畫家消隱算法與畫家創(chuàng)作油畫的過程類似,嚴(yán)格依照透視關(guān)系,先畫背景,再畫中間景物,最后畫近景。按照這種順序構(gòu)造畫面,即可解決畫面的消隱問題。
  消隱處理是計算機繪圖中一個比較復(fù)雜的問題。目前的消隱方法過程涉及建立各個平面、線段的幾何方程,并對它們的相交性、深度順序進行計算,從而確定圖形中各個幾何元素的可見部分,最后畫出立體圖形。這些消隱方法的計算量大,程序設(shè)計" title="程序設(shè)計">程序設(shè)計復(fù)雜,占用存儲空間多,數(shù)據(jù)結(jié)構(gòu)復(fù)雜,非專業(yè)人員難于理解、編制和維護[5~7]。
3 本文設(shè)計的消隱方法
  在繪制由切片截面構(gòu)成的立體圖形時,由于切片截面是相互平行的,因此,立體圖形的可見性問題轉(zhuǎn)變?yōu)槲挥谏舷陆孛嬷g一系列相鄰側(cè)面位置關(guān)系的判斷問題。在把切片截面轉(zhuǎn)變?yōu)榱Ⅲw圖形的過程中,利用切片截面之間相互平行的特性,結(jié)合畫家消隱方法,可以避免計算和判斷幾何元素的相交性、深度順序等復(fù)雜過程,從而得到一種高效、簡潔的消隱方法。該消隱方法主要由確定關(guān)鍵點位置以及確定側(cè)面的繪圖順序兩部分組成。
3.1 確定關(guān)鍵點位置
  由一系列相互平行的截面構(gòu)成的實體,其側(cè)面的可見性與具有最小和最大" title="最大">最大x坐標(biāo)值的點密切相關(guān),凡是位于這兩點之間并且距觀察點較近一側(cè)的側(cè)面均是可見的面。
  依據(jù)上述原則,先找出上截面中具有最小和最大x坐標(biāo)值點的序號,再找出具有最大y坐標(biāo)值的點的序號,然后分別從兩邊向具有最大y坐標(biāo)值的點畫出每個側(cè)面并填充顏色[8],這樣就使得不可見的面被隱藏,而可見的面被顯示出來,實體的立體效果得以體現(xiàn)。
  為了畫出實體所有的可見部分,僅找出上截面的最小和最大x坐標(biāo)值的序號是不夠的。只有當(dāng)上、下截面具有最大和最小x坐標(biāo)值的點分別相互匹配時,才能保證依據(jù)上截面中具有最大和最小x坐標(biāo)值的點的序號畫出的側(cè)面是實際可見的。因此要根據(jù)上下截面點的匹配情況,對上截面中兩個特殊點的序號進行相應(yīng)調(diào)整。


  為便于區(qū)分,將上截面中具有最大和最小坐標(biāo)值點的序號分別表示為MAX1和MIN1,與其相匹配并且位于下截面中點的序號表示為max2和min2;將下截面中具有最大和最小坐標(biāo)值的點的序號表示為MAX2和MIN2,與其相匹配并且位于上截面的點的序號表示為max1和min1;具有最大y坐標(biāo)值并且位于上截面中的點的序號表示為MAXY。
  在分別找到上、下截面中具有最大和最小x坐標(biāo)值點的序號后,如果min1點的y坐標(biāo)值小于MIN1的點的y坐標(biāo)值,則應(yīng)把min1的值賦給MIN1;同樣,如果max1點的y坐標(biāo)值大于MAX1點的y坐標(biāo)值,則把max1的值賦給MAX1。在對MAX1、MIN1的值作了以上調(diào)整后,就可以開始分別從兩邊向MAX1點繪制側(cè)面并填色。各點及其匹配點的位置示意圖如圖1所示,圖中MAX1、MIN1的序號數(shù)值將分別被賦予max1、min1的值。
3.2 確定側(cè)面的繪圖次序
  在確定了繪圖所需的關(guān)鍵點之后,需要確定各側(cè)面的繪制順序,這對于正確繪制具有立體感的圖形非常重要。只有按照側(cè)面與觀察者之間的距離,由遠而近地繪制側(cè)面才能使圖形的立體感顯現(xiàn)出來。由于編號的原因,在確定了所需的關(guān)鍵點之后,還需確定繪制側(cè)面的順序。
  為了解釋繪圖順序,這里引入一個“圖形的開口”概念:即圖形的第一個點與最后一個點之間的邊。不同開口位置的繪圖次序示意圖如圖2所示。如果圖形的開口背離觀察者(如圖2(a)),則MIN1點和MAX1點之間的序號是連續(xù)的,其繪圖的順序相對簡單,繪圖程序?qū)⒎謩e從MIN1向MAXY、MAX1向MAXY繪圖。如果圖形的開口正好位于觀察者一邊(如圖2(b)),則MIN1點和MAX1點之間的序號不連續(xù),繪圖順序較前一種情況稍微復(fù)雜,繪圖程序?qū)⑾葟腗IN1點向序號為第一的點繪圖,再從MAX1向最后一個序號的點繪圖,最后繪制出第一序號與最后序號點之間的側(cè)面,并將每一個繪制好的側(cè)面填色。通過這種繪圖次序,從觀察點出發(fā)看不見的面均被可見平面覆蓋,從而實現(xiàn)了圖形的消隱。此流程圖只說明了繪制側(cè)面的算法,就整體繪圖算法來說,采用的方法是從下往上繪制,邊繪圖,邊填色,這樣就解決了整體消隱的問題。


  尋找關(guān)鍵點是此消隱方法的關(guān)鍵所在。確定了關(guān)鍵點之后就可以確定圖形可見部分與被遮蓋部分的分界線。其次是確定繪圖順序,正確的繪圖順序保證了圖形可見部分的正確顯示。此消隱方法利用了相鄰截面互相平行的特性,簡化了消隱計算量,提高了消隱效率。消隱問題是繪制連續(xù)切片立體圖形的最后環(huán)節(jié),消隱效果直接關(guān)系到圖形的視覺效果。
  消隱算法流程如圖3所示。順序處理連續(xù)截面的信息,逐層繪制出消隱后的圖形并填充顏色,即可得到符合透視效果并具有真實立體感的三維實體圖形。


  與其他消隱方法(如徑向分類法、平面方程法等)相比[9],本文提出的消隱方法通過確定相鄰切片平面之間的關(guān)鍵點,畫出物體的可見部分,并遮蓋透視關(guān)系中不可見的圖形部分,實現(xiàn)對圖形不可見部分的消隱。該算法避免了用于建立組成物體各幾何元素的方程,以及對這些元素之間展開相交、前后遮擋關(guān)系等大量的運算工作,較好地解決了立體圖形的消隱問題。
參考文獻
1 劉國權(quán).體視" title="體視">體視學(xué)在材料科學(xué)研究中的進展與展望[J].中國體視學(xué)與圖像分析,1996;1(2):96~101
2 夏小玲.三維消隱算法研究[J].東北大學(xué)學(xué)報,2002;4(2):138~141
3 陳百明,李華清,李旭東.計算機模擬材料組織結(jié)構(gòu)的程序設(shè)計[J].蘭州理工大學(xué)學(xué)報,2005;31(1):17~20
4 Herbert M J,Jones C B,Tudhope D S et al.There-dimen-sional reconstruction of geoscientific objects from serial sec-tions[J].Visual Computer,1995;11(7):343~359
5 辜曉川,張晉.一種簡便消隱方法的實現(xiàn)[J].微型機與應(yīng)用,1996;15(11):11~12
6 Hamlin G,Gear G.Raster-scan Hidden Surface Algorithm Techniques[J].Computer Graphics,1977;11(2):206~213
7 Griffiths J G.Bibliography of Hidden-line and Hidden-sur-face Algorithms[J].Compute Aided Des,1978;10(3):203~206
8 芮小平,付長晶,余志偉.多邊形填充消隱算法[J].工程設(shè)計CAD與智能建筑,2000;(6):61~62
9 Berg M D.Generalized hidden surface removal[J].Computa-tional Geometry,1996;5(5):249~276

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。