計(jì)算機(jī)圖形學(xué)練習(xí)題答案_第1頁
計(jì)算機(jī)圖形學(xué)練習(xí)題答案_第2頁
計(jì)算機(jī)圖形學(xué)練習(xí)題答案_第3頁
計(jì)算機(jī)圖形學(xué)練習(xí)題答案_第4頁
計(jì)算機(jī)圖形學(xué)練習(xí)題答案_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、-PAGE . z.計(jì)算機(jī)圖形學(xué)練習(xí)題1直線掃描轉(zhuǎn)換的Bresenham算法(1) 請(qǐng)寫出生成其斜率介于0和1之間的直線的Bresenham算法步驟。(2) 設(shè)一直線段的起點(diǎn)和終點(diǎn)坐標(biāo)分別為(1,1)和(8,5),請(qǐng)用Bresenham算法生成此直線段,確定所有要繪制象素坐標(biāo)。(1)輸入線段的兩個(gè)端點(diǎn),并將左端點(diǎn)存儲(chǔ)在(*0,y0)中將(*0,y0)裝入幀緩存,畫出第一個(gè)點(diǎn)計(jì)算常量*, y, 2y, and 2y-2*,并得到?jīng)Q策參數(shù)的第一個(gè)值: p0 = 2y - *從k=0開場(chǎng),在沿線路徑的每個(gè)*k處,進(jìn)展以下檢測(cè): 如果pk u1,則線段是可見的第四步:利用u1和u2計(jì)算端點(diǎn)坐標(biāo)比擬:C

2、ohen-Sutherland:直觀方便,速度較快 屢次重復(fù)計(jì)算線段與裁剪窗口邊界的交點(diǎn),計(jì)算量大 采用位邏輯乘,在有些高級(jí)語言中不便進(jìn)展 全部舍棄的判斷僅適用于那些僅在窗口的線段,不適合跨越三個(gè)區(qū)域的 線段,就不能一次做出判別Liang-Barsky:所需計(jì)算量小,更有效 可以擴(kuò)展成三維裁剪算法 只能應(yīng)用于矩陣窗口的情形簡述Bezier曲線與B-Spline曲線的異同點(diǎn),指出他們的特點(diǎn)和缺乏。DDA算法和Bresenham算法是兩種直線生成的根本算法,試述兩種算法的根本原理,并分析它們的優(yōu)點(diǎn)和缺乏。DDA算法:選定*2*1和y2y1中較大者作為步進(jìn)方向(假設(shè)*2*1較大),取該方向上的增量為

3、一個(gè)象素單位(*=1),利用式(21)計(jì)算另一個(gè)方向的增量(y=*m=m)。通過遞推公式(22)至(25),把每次計(jì)算出的(*i+1,yi+1)經(jīng)取整后送到顯示器輸出,則得到掃描轉(zhuǎn)換后的直線。之所以取*2*1和y2y1中較大者作為步進(jìn)方向,是考慮沿著線段分布的象素應(yīng)均勻,這在以下圖中可看出。另外,算法實(shí)現(xiàn)中還應(yīng)注意直線的生成方向,以決定*及y是取正值還是負(fù)值。Bresenham算法:假定直線斜率k在01之間。此時(shí),只需考慮*方向每次遞增1個(gè)單位,決定y方向每次遞增0或1。 設(shè):直線當(dāng)前點(diǎn)為(*i,y)直線當(dāng)前光柵點(diǎn)為(*i,yi)則:下一個(gè)直線的點(diǎn)應(yīng)為(*i+1,y+k) 下一個(gè)直線的光柵點(diǎn)為

4、右光柵點(diǎn)(*i+1,yi)y方向遞增量0或?yàn)橛疑瞎鈻劈c(diǎn)(*i+1,yi+1)y方向遞增量1優(yōu)缺點(diǎn):DDA算法:算法簡單,實(shí)現(xiàn)容易 由于在循環(huán)中涉及實(shí)型數(shù)的運(yùn)算,因此生成直線的速度較慢。 浮點(diǎn)數(shù)運(yùn)算 不易硬件實(shí)現(xiàn)Bresenham算法:不必計(jì)算直線之斜率,因此不做除法; 不用浮點(diǎn)數(shù),只用整數(shù); 只做整數(shù)加減法和乘2運(yùn)算,而乘2運(yùn)算可以用硬件移位實(shí)現(xiàn). 算法速度很快,并適于用硬件實(shí)現(xiàn).簡述直線段裁剪與多邊形裁剪的異同點(diǎn)。多邊形的剪裁比直線剪裁復(fù)雜。如果按照直線剪裁算法對(duì)多邊形的邊作剪裁,剪裁后的多邊形的邊就會(huì)成為一組彼此不連貫的折線,從而給填色帶來困難。多邊形剪裁算法的關(guān)鍵在于,通過剪裁,不僅要保

5、持窗口多邊形的邊界局部,而且要將窗框的有關(guān)局部按一定次序插入多邊形的保存邊界之間,從而使剪裁后的多邊形的邊仍然保持封閉狀態(tài),以便填色算法得以正確實(shí)現(xiàn)在計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)中,樣條曲線通常采用3次多項(xiàng)式參數(shù)表示,請(qǐng)說明理由。圖形學(xué)中消隱算法有兩大類,z緩沖器(z-buffer)算法屬于哪一類?請(qǐng)闡述它的根本原理和特點(diǎn)。(1)屬于圖像空間消隱(2)根本原理:Z緩沖器中每個(gè)單元的值是對(duì)應(yīng)象素點(diǎn)所反映對(duì)象的z坐標(biāo)值。Z緩沖器中每個(gè)單元的初值取成z的極小值,幀緩沖器每個(gè)單元的初值可放對(duì)應(yīng)背景顏色的值。圖形消隱的過程就是給幀緩沖器和Z緩沖器中相應(yīng)單元填值的過程。在把顯示對(duì)象的每個(gè)面上每一點(diǎn)的屬性顏色或灰

6、度值填入幀緩沖器相應(yīng)單元前,要把這點(diǎn)的z坐標(biāo)值和z緩沖器中相應(yīng)單元的值進(jìn)展比擬。只有前者大于后者時(shí)才改變幀緩沖器的那一單元的值,同時(shí)z緩沖器中相應(yīng)單元的值也要改成這點(diǎn)的z坐標(biāo)值。如果這點(diǎn)的z坐標(biāo)值小于z緩沖器中的值,則說明對(duì)應(yīng)象素已經(jīng)顯示了對(duì)象上一個(gè)點(diǎn)的屬性,該點(diǎn)要比考慮的點(diǎn)更接近觀察點(diǎn)。對(duì)顯示對(duì)象的每個(gè)面上的每個(gè)點(diǎn)都做了上述處理后,便可得到消除了隱藏面的圖(3)特點(diǎn):優(yōu)點(diǎn):算法復(fù)雜度(O(nN):對(duì)于給定的圖像空間,N是固定的,所以算法復(fù)雜度只會(huì)隨著場(chǎng) 景的復(fù)雜度線性地增加無須排序:場(chǎng)景中的物體是按任意順序?qū)懭霂彌_器和z緩沖器的,無須對(duì)物體進(jìn)展 排序,從而節(jié)省了排序的時(shí)間3適合于任何幾何物

7、體:能夠計(jì)算與直線交點(diǎn)4適合于并行實(shí)現(xiàn)(硬件加速)缺乏:1z緩沖器需要占用大量的存儲(chǔ)單元:一個(gè)大規(guī)模復(fù)雜場(chǎng)景中:深度圍可能為106,一個(gè)像素需要24bit來存儲(chǔ)其深度信息。 如果顯示分辨率為12801024,則深度緩沖器需要4MB存儲(chǔ)空間2深度的采樣與量化帶來走樣現(xiàn)象3難以處理透明物體解決存儲(chǔ)問題:逐區(qū)域進(jìn)展z緩沖器消隱(A-Buffer method: accumulation buffer)16. OpenGL庫函數(shù)由哪幾局部組成,請(qǐng)簡單說說各局部的分工。(1)OpenGL核心庫核心庫包含有115個(gè)函數(shù),函數(shù)名的前綴為gl。這局部函數(shù)用于常規(guī)的、核心的圖形處理。(2)OpenGL實(shí)用庫TheOpenGLUtilityLibrary(GLU)包含有43個(gè)函數(shù),函數(shù)名的前綴為glu。OpenGL提供了強(qiáng)大的但是為數(shù)不多的繪圖命令,所有較復(fù)雜的繪圖都必須從點(diǎn)。線、面開場(chǎng)。Glu為了減輕繁重的編程工作,封裝了OpenGL函數(shù),Glu函數(shù)通過調(diào)用核心庫的函數(shù),為開發(fā)者提供相對(duì)簡單的用法,實(shí)現(xiàn)一些較為復(fù)雜的操作。(3)OpenGL輔助庫包含有31個(gè)函數(shù),函數(shù)名前綴為au*。這局部函數(shù)提供窗口管理、輸入輸出處理以及繪制一些簡單三維物體。(4)OpenGL工具庫OpenGLUtilityToolkit

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論