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