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

下載本文檔

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

文檔簡介

1、計算機圖形學(xué)練習(xí)題(答案)計算機圖形學(xué)練習(xí)題1 .直線掃描轉(zhuǎn)換的Bresenham算法(1)請寫出生成其斜率介于。與1之間的直線的Bresenham算法步驟。(2)設(shè)一直線段的起點與終點坐標(biāo)分別為(1,1)與(8,5),請用Bresenham算法生成此直線段確定所有要繪制象素坐標(biāo)。(1) 輸入線段的兩個端點,并將左端點存儲在(x0,y0)中將(x0,y0)裝入幀緩存,畫出第一個點計算常量?x,?y,2?y,and2?y-2?x,并得到?jīng)Q策參數(shù)的第一個值:p0=2?y-?x從k=0開始,在沿線路徑的每個xk處,進行下列檢測:如果pk<0,下一個要繪制的點就就是(xk+1,yk),并且pk+

2、1=pk+2?y否則下一個要繪制的點就就是(xk+1,yk+1),并且pk+1=pk+2?y-2?x重復(fù)步驟4,共?x-1次(2)m=(5-1)/(8-1)=0、57圖1多邊形的邊與頂點圭1JA米圭:Y S醐加e "Number)& (Edge Number)1020304E15E6,E26E67E38E5,E39E4100x=7y=4P0=2y-x=12y=82y-2x=-6kpk(xk+1,yk+1)01(2,2)1-5(3,2)23(4,3)3-3(5,3)45(6,4)5-1(7,4)67(8,5)2.已知一多邊形如圖1所示,其頂點為VVM、5、VV6,邊為曰、E2、

3、曰、E4、E、E6。用多邊形的掃描填充算法對此多邊形進行填充時(掃描線從下到上)要建立邊分類表(sortededgetable)并不斷更新活化邊表(activeedgelist)。(1)在表1中填寫邊分類表中每條掃描線上包含的邊(標(biāo)明邊號即可);(2)在表2中寫出邊分類表中每條邊結(jié)構(gòu)中各成員變量的初始值(3)指出位于掃描線y=6,7,8,9與10時活化邊表中包含那些邊,并寫出這些邊中的x值、ymax值、與斜率白倒數(shù)值1/m。邊xymax1/m41197460051976006196600711877901-1827991-193369991-13、二維變換(1)記P(xf,yf)為固定點,sx

4、、sy分別為沿x軸與y軸方向的縮放系數(shù),請用齊次坐標(biāo)(HomogeneousCoordinate)表示寫出二維固定點縮放變換的變換矩陣。(2)把以A(0,0)、B(1,1)與C(5,2)為頂點的三角形以頂點C為固定點放大2倍。求出放大后的三角形的頂點坐標(biāo)。0011I 0 0 1 0 0-x叼(I) 力。一)T(xf.yryS(ssy)T(-xfy-yr)=S(xyf,xyr)(2)平移這個對象,使得她的固定點與原點重合縮放這個在坐標(biāo)原點的對象平移這個對象,使得她的固定點回到原始位置x'sx0xf(1sx)xry'0Syyf(1Sy)yr10011所以A(-5,-2)B(-3,0

5、)C(5,2)4二維變換(1)請用齊次坐標(biāo)表示寫出點Q(x,y)繞定點P(a,b)旋轉(zhuǎn)的旋轉(zhuǎn)變換矩陣。(2)求出以A(0,0)、B(1,1)與C(5,2)為頂點的三角形繞固定點P(-1,-1)點旋轉(zhuǎn)450后的三角形的頂點坐標(biāo)。C8廿singsin 8co&t?001 -10 - 01 0cosi? - sin= sin 8 cos 800xr(1 - co3 0)+ yr sin H乂(1 一 cos) 一毛豆n81x,=xr+(x- xr)cos 0 -(y- yr)sin 0y,=yr+(x- xr)sin 0 +(y- yr)cos 0(2)平移這個對象,使得她的固定點與原點重合

6、計算機圖形學(xué)練習(xí)題(答案)A:0001A(-1,-1+旋轉(zhuǎn)這個在坐標(biāo)原點的對象平移這個對象,使得她的固定點回到原始位置B(-1,-1+22)C(-1+3/2*2,-1+9/2*2)5、如圖所示,L(-3,1)與R(2,6)為正方形裁剪窗口兩個對角線角點,線段ARCDEF、GH與IJ為被裁剪線段。用Cohen-Sutherland線裁剪算法進行裁剪時要對線段的端點進行編碼。(1)請寫出編碼規(guī)則,并在圖中標(biāo)出相應(yīng)區(qū)域的編碼(2)分別指出于點AB、C、DE、F、GH對應(yīng)的編碼(3)根據(jù)線段端點的編碼對圖中所有線段分類,指出哪些線段就是可見的?哪些就是不可見的?哪些就是候選的裁剪線段。cossin0s

7、incos0J(-2,10)100110001010000100000010010101000110(2)計算機圖形學(xué)練習(xí)題(答案)B:1000C:0000D:1010E:0000F:0000G:0100H:0010I:1000J:1000(3)可見的:EF不可見的:GH,IJ候選的:AB,CD6、分別用Sutherland-Hodgman算法與Weiler-Atherton算法裁剪圖1所示的多邊形PlP2P3P4P5P6P7P8P9Pl,裁剪窗口為如圖所示的矩形窗口。要求:(1)用實線分別在圖1(a)(b)(c)(d)中繪出用Sutherland-Hodgman算法沿裁剪窗口的左、右、上、下

8、窗口邊裁剪后的中間結(jié)果(2)用Weiler-Atherton算法對圖1所示的多邊形進行裁剪,以p1為起點,以圖1箭頭所示的方向為走向,在圖1(e)中用箭頭表示畫出所有走過的邊(包括多邊形邊與窗口邊)及其走向;并在圖1(f)中用實線繪出最后裁剪結(jié)果。P9P9始進崎邊形,與7P9AP9P7P9P77.簡述多邊形掃描填充算法2 程中沛化邊表的信息變修(P1本原理與大致步驟P7,并以具體例子說,明邊分類表齒容/."¥¥十J_.4!掃描過PIHM Illi. BUI Ilia 1好。IIMBJII ILtJ I yfa . . 1 j1島 J :P7 P1P8PP5P3痘室

9、右的掃SPBI穿過多邊形一 P5,吊彩邊形孥MP!數(shù)呼,走出P邊形。,暨也在這本P鄰配對白城偶7 % 一所向了洲工交點P2a,c,都就累入歲血",偶教交修城8,包產(chǎn);P6 4 南P袁色奇偶賣點.笳對,a,b之間,c,d之間的象素都求邊北內(nèi)/,可P4一條用苗 燃碳為偶物依據(jù)這樣的思路圖加)線從上到下從P2到右依次掃過多菌邊形即可求得多邊形所占據(jù)假素C)(注意退化情況的處理,也就就是掃描德劇1(d)P4在直角坐標(biāo)系中 點為奇數(shù)序交點間的所有2象素都在土邊制。如圖P4 .,d都就是走峭然滿 線上,與多省舷交望浦P3FP6P5P51(b)好經(jīng)過頂點或者多邊形的邊仰1(ep是水平的情況)1)輸

10、入多邊形的頂點的坐標(biāo)計算機圖形學(xué)練習(xí)題(答案)2)建立邊表(ET)3)初始化Y值4)初始化活性邊表(AEL),設(shè)置為空5)每個掃描線從底部到頂部,做以下步驟直到ET與AEL就是空的:建立AEL設(shè)置顏色更新AEL:當(dāng)Y=YMAX,刪除邊x=x+?XY=y+1返回AEL例子:圖(6)多邊用與掃描線示意圖計算機圖形學(xué)練習(xí)題(答案)LIO105圖(7)掃描線,的活動邊表140,23>$壬7.50,510->L14-0-810圖(8)掃描線,的活動邊表P2P35U2.05PIP士10(J:8P4ps13 0-0.8107.0IS8P6P1610PSP610圖(9)各掃描線的新邊表8.由坐標(biāo)A

11、(0,0,0),B(1,0,0),C(0,1,0),D(0,01)確定的錐體繞直線L旋轉(zhuǎn)450,其中L的方向為V=J+K,且通過點C(0,1,0)。寫出錐體旋轉(zhuǎn)后的坐標(biāo)。9、設(shè)3次參數(shù)多項式函數(shù)P(u)=au3+bu2+cu+d,求出滿足下列邊界條件的3次Hermite插值P(0) =P P=PP 1曲線(用矩陣表示):kk+1(0)=DPk(1)=DPk+110、Cohen-Sutherland直線段裁剪算法與Liang-Barsky直線段裁剪算法就是直線段裁剪的兩種基本算法,試述兩種算法的基本原理,并分析它們的優(yōu)點與不足。(1)通過一個矩形的裁剪區(qū)域?qū)⒄麄€屏幕分成9個部分,并為每一個部分賦

12、予相應(yīng)的區(qū)域碼,然后根據(jù)端點的位置確定這個端點的區(qū)域碼。先判斷能否完全接受或者完全排除一條線段,若以上2個判斷無法直接得出,則逐步裁剪,選取一個位于裁剪區(qū)外的端點,把端點的區(qū)域碼與裁剪邊界的區(qū)域碼進行邏輯與運算,若結(jié)果為真,則端點在該裁剪邊界外部,這時將端點移向線段與該邊界的交點處,如此循環(huán),直到裁剪結(jié)束。(2)利用線段的參數(shù)表達形式直接判別落在窗口內(nèi)的部分線段、大體上有以下幾步,有些步驟依據(jù)中間的判斷結(jié)果可以省略或跳轉(zhuǎn)、第一步:計算出pk與qk(k=1,2,3,4)第二步:瞧pki的符號進行判斷第三步:計算u1=max(0,qk/pk),u2=min(1,qk/pk)如果,u2>u1,

13、則線段就是可見的第四步:利用u1與u2計算端點坐標(biāo)(3)比較:Cohen-Sutherland:直觀方便,速度較快多次重復(fù)計算線段與裁剪窗口邊界的交點,計算量大采用位邏輯乘,在有些高級語言中不便進行全部舍棄的判斷僅適用于那些僅在窗口的線段,不適合跨越三個區(qū)域的線段,就不能一次做出判別Liang-Barsky:所需計算量小,更有效可以擴展成三維裁剪算法只能應(yīng)用于矩陣窗口的情形10 .簡述Bezier曲線與B-Spline曲線的異同點,指出她們的特點與不足。11 .DD腳法與Bresenham算法就是兩種直線生成的基本算法,試述兩種算法的基本原理,并分析它們的優(yōu)點與不足。(1) DD期法:選定x2

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

15、y)直線當(dāng)前光柵點為(xi,yi)則:下一個直線的點應(yīng)為(xi+1,y+k)下一個直線的光柵點為右光柵點(xi+1,yi)(y方向遞增量0)或為右上光柵點(xi+1,yi+1)(y方向遞增量1)(3) 優(yōu)缺點:DD腳法:算法簡單,實現(xiàn)容易由于在循環(huán)中涉及實型數(shù)的運算,因此生成直線的速度較慢。浮點數(shù)運算|不易硬件實現(xiàn)Bresenham算法:不必計算直線之斜率,因此不做除法;不用浮點數(shù),只用整數(shù);只做整數(shù)加減法與乘2運算,而乘2運算可以用硬件移位實現(xiàn)、算法速度很快,并適于用硬件實現(xiàn)、12.簡述直線段裁剪與多邊形裁剪的異同點。多邊形的剪裁比直線剪裁復(fù)雜。如果按照直線剪裁算法對多邊形的邊作剪裁,剪裁后

16、的多邊形的邊就會成為一組彼此不連貫的折線,從而給填色帶來困難。多邊形剪裁算法的關(guān)鍵在于,通過剪裁,不僅要保持窗口內(nèi)多邊形的邊界部分,而且要將窗框的有關(guān)部分按一定次序插入多邊形的保留邊界之間,從而使剪裁后的多邊形的邊仍然保持封閉狀態(tài),以便填色算法得以正確實現(xiàn)13.在計算機輔助設(shè)方t與圖形學(xué)中,樣條曲線通常采用3次多項式參數(shù)表示,請說明理由。14.圖形學(xué)中消隱算法有兩大類,z緩沖器(z-buffer)算法屬于哪一類?請闡述它的基本原理與特點。屬于圖像空間消隱(2)基本原理:Z緩沖器中每個單元的值就是對應(yīng)象素點所反映對象的z坐標(biāo)值。Z緩沖器中每個單元的初值取成z的極小值,幀緩沖器每個單元的初值可放對

17、應(yīng)背景顏色的值。圖形消隱的過程就就是給幀緩沖器與Z緩沖器中相應(yīng)單元填值的過程。在把顯示對象的每個面上每一點的屬性(顏色或灰度)值填入幀緩沖器相應(yīng)單元前,要把這點的z坐標(biāo)值與z緩沖器中相應(yīng)單元的值進行比較。只有前者大于后者時才改變幀緩沖器的那一單元的值,同時z緩沖器中相應(yīng)單元的值也要改成這點的z坐標(biāo)值。如果這點的z坐標(biāo)值小于z緩沖器中的值,則說明對應(yīng)象素已經(jīng)顯示了對象上一個點的屬性,該點要比考慮的點更接近觀察點。對顯示對象的每個面上的每個點都做了上述處理后,便可得到消除了隱藏面的圖(3)特點:優(yōu)點:(1)算法復(fù)雜度(O(nN):對于給定的圖像空間,N就是固定的,所以算法復(fù)雜度只會隨著場景的復(fù)雜度

18、線性地增加(2)無須排序:場景中的物體就是按任意順序?qū)懭霂彌_器與z緩沖器的,無須對物體進行排序,從而節(jié)省了排序的時間(3)適合于任何幾何物體:能夠計算與直線交點(4)適合于并行實現(xiàn)(硬件加速)不足:(1)z緩沖器需要占用大量的存儲單元:一個大規(guī)模復(fù)雜場景中:深度范圍可能為106,一個像素需要24bit來存儲其深度信息。如果顯示分辨率為1280X1024,那么深度緩沖器需要4MB存儲空間(2)深度的采樣與量化帶來走樣現(xiàn)象(3)難以處理透明物體解決存儲問題:逐區(qū)域進行z緩沖器消隱(A-Buffermethod:accumulationbuffer)16、OpenGL庫函數(shù)由哪幾部分組成,請簡單說說各部分的分工。(1)OpenGL核心庫核心庫包含有115個函數(shù),函數(shù)名的前綴為gl。這部分函數(shù)用于常規(guī)的、核心的圖形處理。(2)OpenGL實用庫TheOpenGLUtilityLibrary(GLU)包含有43個函數(shù),函數(shù)名的前綴為glu。OpenGL提供了強大的但就是為數(shù)不多的繪圖命令,所有較復(fù)雜的繪圖都必須從點。線、面(答

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論