資源描述:
《三維圖形的消隱算法分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、三維圖形的消隱算法分析三維圖形的消隱算法分析----摘要造型是計(jì)算機(jī)三維圖形處理的基礎(chǔ),而消隱則是三維造型的關(guān)鍵。本文剖析了當(dāng)前在CAD三維圖形處理中最主要的8種物體空間消隱算法和4種圖象空間消隱算法。----關(guān)鍵詞造型、消隱、物體空間法、圖象空間法----分類號(hào)----造型(modeling)是計(jì)算機(jī)三維圖形處理的基礎(chǔ),而消除隱藏面(hiddensurface,簡稱消隱)則是三維造型的關(guān)鍵。所謂消隱就是不畫出即隱藏從當(dāng)前觀察點(diǎn)看不見的三維模型表面。消隱算法的核心就是判斷三維模型的表面是否可見。----抽象來看,一種消隱算法可以看作一個(gè)五元組,即HA=(
2、I,O,D,P,S)----其中,I為要進(jìn)行消隱處理的三維對象的集合;----O為經(jīng)過消隱處理的二維對象的集合;----D為進(jìn)行消隱處理時(shí)所采用的數(shù)據(jù)結(jié)構(gòu);----P為進(jìn)行消隱處理所需基本操作過程的集合,主要包括分類、排序三維坐標(biāo)變換透視投影變換基本圖形元素間的求交計(jì)算兩個(gè)區(qū)域重疊判斷點(diǎn)與區(qū)域的包含測試面的朝向測試----S為消隱策略,即規(guī)定P中各基本操作過程被采用的先后次序。----因此,設(shè)計(jì)消隱算法時(shí)應(yīng)考慮上述五個(gè)要素及它們之間的相互關(guān)系。----在計(jì)算機(jī)圖形學(xué)中,為了簡化算法,一般是利用多面體去逼近曲面體,因此多面體的消隱算法是曲面體的基礎(chǔ)。本文的
3、消隱算法討論主要是基于多面體的消隱問題,對曲面體進(jìn)行多次多面體近似,對每一多面體運(yùn)用多面體消隱算法就能實(shí)現(xiàn)曲面體的消隱。----基于B-rep模型(BoundaryRepresentativeModel)和CSG模型(ConstructiveSolidGeometryModel)的三維造型消隱算法可以分為兩大類,即物體空間法和圖象空間法。物體空間法利用三維環(huán)境信息或三維視圖(主要使用三維觀察坐標(biāo),有時(shí)也使用三維世界坐標(biāo))來消除隱藏面,即根據(jù)空間中各物體三維模型的幾何關(guān)系,來判斷哪些表面可見,哪些表面不可見。圖象空間法基于物體三維模型的二維顯示圖形(使用二
4、維顯示坐標(biāo))來確定物體或表面與觀察點(diǎn)的遠(yuǎn)近關(guān)系,從而判斷哪些表面遮擋了其它表面。----本文將分析當(dāng)前在CAD三維圖形處理中最主要的12中消隱算法,其中8種屬于物體空間法,4種屬于圖象空間法。在實(shí)際處理中,由于物體表面形態(tài)的復(fù)雜性和提高消隱處理的效率,通常都是結(jié)合使用多種消隱算法來完成物體的消隱處理的。----一、物體空間法----物體空間法是在三維坐標(biāo)系中,通過分析物體模型間的幾何關(guān)系,如物體的幾何位置、與觀察點(diǎn)的相對位置等,來進(jìn)行隱藏面判斷的消隱算法。世界坐標(biāo)系是描述物體的原始坐標(biāo)系,物體的世界坐標(biāo)描述了物體的基本形狀。為了更好地觀察和描述物體,經(jīng)常
5、需要對其世界坐標(biāo)進(jìn)行平移和旋轉(zhuǎn),而得到物體的觀察坐標(biāo)。物體的觀察坐標(biāo)能得到描述物體的更好視角,所以物體空間法通常都是在觀察坐標(biāo)系中進(jìn)行的。觀察坐標(biāo)系的原點(diǎn)一般即是觀察點(diǎn)。----物體空間法消隱包括兩個(gè)基本步驟,即三維坐標(biāo)變換和選取適當(dāng)?shù)碾[藏面判斷算法。----一)三維坐標(biāo)變換----選擇合適的觀察坐標(biāo)系不但可以更好地描述物體,而且可以大大簡化和降低消隱算法的運(yùn)算。因此,利用物體空間法進(jìn)行消隱的第一步往往是將物體所處的坐標(biāo)系轉(zhuǎn)換為適當(dāng)?shù)挠^察坐標(biāo)系。這需要對物體進(jìn)行三維旋轉(zhuǎn)和平移變換。----設(shè)物體頂點(diǎn)的原始坐標(biāo)為(x,y,z),變化后的觀察坐標(biāo)為(x*,y
6、*,z*),則----1.旋轉(zhuǎn)變換物體繞Y軸旋轉(zhuǎn)的角度α的三維旋轉(zhuǎn)變換公式為[x*y*z*1]=[xyz][cosαsinα00-sinαcosα0000100001]物體繞Z軸旋轉(zhuǎn)的角度β的三維旋轉(zhuǎn)變換公式為[x*y*z*1]=[xyz][cosβ0-sinβ00100sinβ0cosβ00001]物體繞X軸旋轉(zhuǎn)的角度γ的三維旋轉(zhuǎn)變換公式為[x*y*z*1]=[xyz][10000corγsinγ00-sinγcosγ00001]將上述表達(dá)式展開后可得如下公式{x'=cosα×x-sinα×z;y'=cosβ×y-sinβ×x';z'=sinα×x+c
7、osα×z;x*=cosβ×x'+sinβ×y;y*=sinγ×z'+cosγ×y';z*=cosγ×z'-sinγ×y';----其中,x'、y'和z'是運(yùn)算中間變量。----2.平移變換----三維平移變換公式如下[x*y*z*1]=[xyz1][100001000010ΔxΔyΔz1]----展開后即得[x*=x+Δxy*=y+Δyz*=z+Δz----其中Δx、Δy、Δz分別為物體沿X、Y、Z軸的平移量。----二)消隱算法----常用的物體空間消隱算法包括平面公式法、背面消除法、徑向預(yù)排序法、徑向排序法、隔離平面法、深度排序法、光線跟蹤法和分解
8、法。其中前四種算法最常用,它們的基礎(chǔ)都是背面消隱原理。所謂背面消隱原理,即是相對