




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八章消隱技術(shù)8.1基本概念一.為什么要消隱因?yàn)橛?jì)算機(jī)圖形處理的過程中,不會(huì)自動(dòng)消去隱藏部分,相反會(huì)將所有的線和面都顯示出來。問題:①對(duì)于線畫圖形會(huì)出現(xiàn)多義性。對(duì)于光柵掃描著色的面圖形則會(huì)導(dǎo)致圖形錯(cuò)誤。②要增強(qiáng)圖形的真實(shí)感必須進(jìn)行消隱處理。二.消隱的分類
1.消除隱藏線對(duì)于采用物體的棱線或輪廓線表示的線畫圖形,應(yīng)消去物體本身看不見的棱線和輪廓線部分,以及因物體間的互相遮擋而被隱藏的棱線和輪廓線。2.消除隱藏面對(duì)于采用光柵掃描著色方法(即采用物體表面不同的明暗度)繪制的圖形,應(yīng)消除物體上看不見的面以及因物體間的互相遮擋而被隱藏的面。與此相對(duì)應(yīng),消隱的算法也可分為兩種:
第一種方法是以場(chǎng)景中的物體為處理單元,將一個(gè)物體與其余的k-1個(gè)物體逐一比較,僅顯示它可見的表面以達(dá)到消隱的目的。此類算法通常用于消除隱藏線。假定場(chǎng)景中有k個(gè)物體,平均每個(gè)物體的表面由h個(gè)多邊形構(gòu)成,其計(jì)算復(fù)雜度為O((kh)2)。
算法描述如下:for(場(chǎng)景中的每一個(gè)物體){將該物體與場(chǎng)景中的其它物體進(jìn)行比較,確定其表面的可見部分;顯示該物體表面的可見部分;}
第二種方法是以窗口內(nèi)的每個(gè)像素為處理單元,確定在每一個(gè)像素處,場(chǎng)景中的物體哪一個(gè)距離觀察點(diǎn)最近(可見的),從而用它的顏色來顯示該像素。此類算法通常用于消除隱藏面。若顯示區(qū)域中有m×n個(gè)像素,則其計(jì)算復(fù)雜度為O(mnkh)。算法描述如下:for(窗口內(nèi)的每一個(gè)像素){確定距觀察點(diǎn)最近的物體,以該物體表面的顏色來顯示像素;}三.消隱算法中常用的處理技術(shù)1.排序確定物體間遮擋關(guān)系的要素:視點(diǎn)位置視線方向按觀察方向上離視點(diǎn)(投影參考點(diǎn))的遠(yuǎn)近(通常用z值來表示)排序。2.測(cè)試用以判斷點(diǎn)與面、線與面、面與面之間的關(guān)系。u(x)v(y)n(z)視點(diǎn)z值包含測(cè)試:測(cè)試空間點(diǎn)的投影是否在某個(gè)空間多邊形的投影內(nèi),若在,則可能存在遮擋關(guān)系;若不在,則不存在遮擋關(guān)系。測(cè)試方法:從空間點(diǎn)的投影開始向與-y軸平行的方向作射線,計(jì)算該射線與空間多邊形的投影的交點(diǎn)個(gè)數(shù),若為奇數(shù),則點(diǎn)的投影在多邊形的投影內(nèi);若為偶數(shù),則點(diǎn)的投影不在多邊形的投影內(nèi)。xy特殊情況左閉右開重疊測(cè)試:測(cè)試兩個(gè)空間多邊形的投影是否重疊,若重疊,則可能存在遮擋關(guān)系;若不重疊,則不存在遮擋關(guān)系。測(cè)試方法:四.提高消隱算法效率的常用方法利用連貫性包圍盒技術(shù)背面剔除將透視投影轉(zhuǎn)換成平行投影空間分割技術(shù)
復(fù)雜度比較物體分層表示
1.利用相關(guān)性(連貫性)
物體的相關(guān)性:若物體A與物體B是完全相互分離的,消隱時(shí)只需比較A、B兩物體之間的遮擋關(guān)系,而不需對(duì)其表面多邊形逐一進(jìn)行測(cè)試。
面的相關(guān)性:一個(gè)面內(nèi)的各種屬性值(坐標(biāo)值、灰度值等)一般都是緩慢變化的,可采用簡(jiǎn)單增量方式進(jìn)行計(jì)算。
區(qū)域相關(guān)性:一個(gè)區(qū)域是指屏幕上一組相鄰的像素,它們通常屬于同一個(gè)可見面。區(qū)域相關(guān)性表現(xiàn)在一條掃描線上時(shí),即為掃描線上的每個(gè)區(qū)間內(nèi)只有一個(gè)面可見。掃描線相關(guān)性:在相鄰的兩條掃描線上,可見面的分布情況相似。
深度相關(guān)性:物體的同一表面上的相鄰部分深度是相近的。
2.包圍盒技術(shù)用于對(duì)物體間的某些關(guān)系進(jìn)行比較和測(cè)試,從而可避免盲目的求交運(yùn)算,減少計(jì)算量,提高效率。一個(gè)好的包圍盒要具有兩個(gè)條件:(1)包圍盒充分緊密包圍著形體;(2)對(duì)其的測(cè)試比較簡(jiǎn)單。二維圖形-----包圍框(重疊測(cè)試);三維物體-----包圍盒、包圍球。3.背面剔除一個(gè)平面多面體的表面由若干個(gè)平面多邊形構(gòu)成,若一個(gè)多邊形表面的外法線方向與投影方向(觀察方向)的夾角為鈍角,則該面為前向面;若其夾角為銳角,則為后向面或背面。剔除依據(jù):物體表面是封閉的,背面總是被前向面所遮擋,從而始終是不可見的。投影方向ABCD4.將透視投影轉(zhuǎn)換成平行投影消隱與透視關(guān)系密切,體現(xiàn)有: 1)消隱必須在投影之前完成; 2)物體之間的遮擋關(guān)系與投影中心(視點(diǎn))的選取有關(guān); 3)物體之間的遮擋關(guān)系與投影方式有關(guān)5.空間分割技術(shù)
依據(jù):場(chǎng)景中的物體,它們的投影在投影平面上是否有重疊部分?(是否存在相互遮擋的可能?)對(duì)于根本不存在相互遮擋關(guān)系的物體,應(yīng)避免這種不必要的測(cè)試。方法:將投影平面上的窗口分成若干小區(qū)域;為每個(gè)小區(qū)域建立相關(guān)物體表,表中物體的投影于該區(qū)域有相交部分;則在小區(qū)域中判斷那個(gè)物體可見時(shí),只要對(duì)該區(qū)域的相關(guān)物體表中的物體進(jìn)行比較即可。6.復(fù)雜度比較:不妨假定每個(gè)小區(qū)域的相關(guān)物體表中平均有h個(gè)物體,場(chǎng)景中有k個(gè)物體,由于物體在場(chǎng)景中的分布是分散的,顯然h遠(yuǎn)小于k。根據(jù)第二種消隱方法所述,其算法復(fù)雜度為O(h*h),遠(yuǎn)小于O(k*k)。7.物體分層表示
表示形式:模型變換中的樹形表示方式
原理:減少場(chǎng)景中物體的個(gè)數(shù),從而降低算法復(fù)雜度。
方法:將父節(jié)點(diǎn)所代表的物體看成子節(jié)點(diǎn)所代表物體的包圍盒,當(dāng)兩個(gè)父節(jié)點(diǎn)之間不存在遮擋關(guān)系時(shí),就沒有必要對(duì)兩者的子節(jié)點(diǎn)做進(jìn)一步測(cè)試。父節(jié)點(diǎn)之間的遮擋關(guān)系可以用它們之間的包圍盒進(jìn)行預(yù)測(cè)試。8.2深度緩存算法(Z—buffer算法)1.Z—Buffer用于存放與屏幕上像素點(diǎn)對(duì)應(yīng)的物體上點(diǎn)的深度值。xyz視線方向視點(diǎn)位置屏幕像素F—BufferZ—Buffer投影面可見點(diǎn)不可見點(diǎn)2.算法初始化:ZB(i,j)=機(jī)器最大值;FB(i,j)=背景色。for(j=1;j<=n;j++)/*共有n根掃描線*/for(i=1;i<=m;i++)/*每根掃描線上有m個(gè)像素點(diǎn)*/for(k=1;k<=p;k++)/*共有p個(gè)多邊形*/{判斷像素點(diǎn)(i,j)是否在多邊形Fk在投影面上的投影內(nèi);若(i,j)在多邊形Fk的投影內(nèi),計(jì)算多邊形Fk上對(duì)應(yīng)于像素點(diǎn)(i,j)處的深度值Zi,j;if(Zi,j<ZB(i,j)){ZB(i,j)=Zi,j;FB(i,j)=多邊形Fk的顏色}else不作處理}3.算法實(shí)現(xiàn)中的關(guān)鍵問題①判斷點(diǎn)(i,j)是否在多邊形Fk在投影面上的投影內(nèi)解決辦法:采用包含測(cè)試。②計(jì)算多邊形Fk在點(diǎn)(i,j)處的深度值Zi,j
若多邊形Fk的平面方程為:ax+by+cz+d=0若c≠0,則ai+bj+dc若c=0,則多邊形Fk的法線方向與Z軸垂直,F(xiàn)k在投影面上的投影為一條直線,可不予考慮。Zi,j=—4.算法的特點(diǎn)①簡(jiǎn)單不需要將所有的多邊形按離視點(diǎn)的遠(yuǎn)近排序,其算法的復(fù)雜度只與多邊形的個(gè)數(shù)成正比。②需要有一個(gè)較大容量的Z—Buffer。5.算法的改進(jìn)①采用包圍框技術(shù),提高算法的效率。②采用硬件Z—Buffer來實(shí)現(xiàn)。
6.算法的進(jìn)一步改進(jìn)①采用分區(qū)處理方法。②利用相關(guān)性。8.3列表優(yōu)先算法(畫家算法)
基本思路:根據(jù)物體上各個(gè)面(多邊形)距離視點(diǎn)的遠(yuǎn)近進(jìn)行排序,建立一張優(yōu)先級(jí)表。約定距離視點(diǎn)近的優(yōu)先級(jí)高,距離視點(diǎn)遠(yuǎn)的優(yōu)先級(jí)低。生成圖象時(shí),優(yōu)先級(jí)低的多邊形先畫,優(yōu)先級(jí)高的多邊形后畫。
關(guān)鍵問題:在深度方向上對(duì)多邊形進(jìn)行正確的排序。ABC分離面PDExyzo空中小三角形面片xyo
8.4光線投射算法算法思路將通過繪圖窗口內(nèi)每一個(gè)像素的投影線與場(chǎng)景中的所有多邊形求交。如果有交點(diǎn),用深度值最大的交點(diǎn)(最近的)所屬的多邊形的顏色顯示相應(yīng)的像素;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 縱隔腫瘤麻醉注意事項(xiàng)
- 2025年千鋒java面試題及答案
- 控感基礎(chǔ)培訓(xùn)
- 防疫招聘面試題及答案
- 理科組合試題及答案
- 紅旗公司面試題及答案
- 2025年量子計(jì)算技術(shù)在金融風(fēng)險(xiǎn)模擬中的實(shí)時(shí)監(jiān)測(cè)與預(yù)警報(bào)告
- 低碳城市新路徑:2025年聊城規(guī)劃與實(shí)踐案例分析
- 深度分析:2025年數(shù)控機(jī)床智能化升級(jí)的技術(shù)挑戰(zhàn)與解決方案報(bào)告
- 2025年高純四氧化三錳項(xiàng)目立項(xiàng)申請(qǐng)報(bào)告模范
- 2023年人社所半年工作總結(jié)
- 工業(yè)管道工程工程量清單項(xiàng)目設(shè)置及計(jì)價(jià)
- 港口集團(tuán)績(jī)效考核方案
- 基于MATLAB的控制系統(tǒng)仿真及應(yīng)用-第5章-基于MATLABSimulink的控制系統(tǒng)建模與仿真課件
- 一二次深度融合成套柱上斷路器匯報(bào)課件
- 解凍記錄表(標(biāo)準(zhǔn)模版)
- 初中數(shù)學(xué)北師大八年級(jí)下冊(cè)(2023年修訂) 因式分解岷陽王冬雪提公因式法教學(xué)設(shè)計(jì)
- 金屬非金屬礦山安全規(guī)程
- 生活飲用水游離余氯方法驗(yàn)證報(bào)告
- DB32∕T 186-2015 建筑消防設(shè)施檢測(cè)技術(shù)規(guī)程
- 巡檢培訓(xùn)課件.ppt
評(píng)論
0/150
提交評(píng)論