計(jì)算機(jī)圖形學(xué)復(fù)習(xí)課總結(jié)_第1頁(yè)
計(jì)算機(jī)圖形學(xué)復(fù)習(xí)課總結(jié)_第2頁(yè)
計(jì)算機(jī)圖形學(xué)復(fù)習(xí)課總結(jié)_第3頁(yè)
計(jì)算機(jī)圖形學(xué)復(fù)習(xí)課總結(jié)_第4頁(yè)
計(jì)算機(jī)圖形學(xué)復(fù)習(xí)課總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、緒論1點(diǎn)陣法和參數(shù)法的概念。圖形、圖像的概念。點(diǎn)陣法是用具有顏色信息的點(diǎn)陣來(lái)表示圖形的一種方法,它強(qiáng)調(diào)圖形由哪些點(diǎn)組成,并具有什么灰度或色彩。 參數(shù)法是以計(jì)算機(jī)中所記錄圖形的形狀參數(shù)與屬性參數(shù)來(lái)表示圖形的一種方法。通常把參數(shù)法描述的圖形叫做圖形(Graphics)把點(diǎn)陣法描述的圖形叫做圖象(Image)2 計(jì)算機(jī)圖形學(xué)的概念?計(jì)算機(jī)圖形學(xué)是研究怎樣用計(jì)算機(jī)表示、生成、處理和顯示圖形的一門學(xué)科。3 圖形包括哪兩方面的要素,試舉例說(shuō)明。圖形包括兩方面的要素,其中有幾何要素和非幾何要素1. 幾何要素:點(diǎn),線,面,體等; 2. 非幾何要素:明暗,灰度,色彩等4 一個(gè)交互性的圖形系統(tǒng)具有哪些功能? 5個(gè)

2、功能:輸入功能、存儲(chǔ)功能、計(jì)算功能、輸出功能和交互功能5 圖形輸出設(shè)備包括什么?常用的圖形繪制設(shè)備有哪兩種? 圖形輸出設(shè)備包括圖形顯示設(shè)備和圖形繪制設(shè)備,常用的圖形繪制設(shè)備有打印機(jī)和繪圖儀。6 與計(jì)算機(jī)圖形學(xué)相關(guān)的學(xué)科有哪些?各自研究的內(nèi)容是什么?計(jì)算機(jī)視覺(jué):研究用計(jì)算機(jī)來(lái)模擬生物外顯或宏觀視覺(jué)功能的科學(xué)和技術(shù)圖像處理:對(duì)圖象進(jìn)行各種加工以改善圖象的視覺(jué)效果C語(yǔ)言程序基礎(chǔ)(課件中p17, p55-59,常用畫圖函數(shù))1已知畫“王”的C語(yǔ)言程序(如下),要求改編一個(gè)畫 “田”字的程序,該字的字高和字寬均為50,字的左上角點(diǎn)坐標(biāo)為(60, 80)。#include graphics.h#inclu

3、de conio.hmain() int gdriver=DETECT,gmode; int x,y; initgraph(&gdriver,&gmode,“”); /*初始化圖形系統(tǒng)*/ cleardevice(); /*清除圖形屏幕*/ moveto(100,40); /*絕對(duì)移動(dòng)光標(biāo)*/ linerel(40,0); /*從當(dāng)前位置按增量方式畫線*/ x=getx(); y=gety(); moveto(x,y+20); linerel(-40,0); moverel(0,20); /* 以增量方式移動(dòng)當(dāng)前光標(biāo)*/ linerel(40,0); moverel(-20,0); liner

4、el(0,-40); getch(); closegraph(); /*關(guān)閉圖形系統(tǒng),返回文本模式*/2畫一個(gè)填充顏色的圓(畫一個(gè)填充顏色的矩形,已知矩形的左下角(0,20),右上角坐標(biāo)為(100,120),圓心坐標(biāo)(60,60),半徑100,要求背景色為1號(hào)色(blue),圓的邊界色為紅色, 填充色為Green,(函數(shù): circle floodfill)#include graphics.h#include conio.hmain() int gdriver=DETECT,gmode; initgraph(&gdriver,&gmode,“c:tcbgi); setbkcolor(1);

5、/*設(shè)置背景色,藍(lán)色*/ setcolor(4); /*設(shè)置前景色,紅色*/ circle(100,100,80); /*圓心100,100,半徑為80*/ setfillstyle(SLASH_FILL,2); /*用粗斜杠填充和填充綠色*/ floodfill(100,100,4); /*填充一個(gè)封閉圓*,從圓心開(kāi)始, 邊界用4號(hào)顏色紅色進(jìn)行填充/ getch(); closegraph();setfillstyle(SOLID_FILL,GREEN); /*實(shí)填充,顏色為綠色* / bar(100,100,150,200); setfillstyle(4,RED); /*用粗斜杠填充,

6、顏色為紅色*/ bar3d(200,100,250,200,10,1); /*三維條形的深度為10,放置頂蓋*/ getch(); closegraph();3 畫五顏六色的圓。其圖形如圖所示:程序如下:#include graphics.h#include conio.hmain()int i,start,end;int gd,gm;detectgraph(&gd,&gm);initgraph(&gd,&gm,);start=0;end=20;for(i=0;i18;i+) setfillstyle(SOLID_FILL,i); /*填充類型和顏色*/ pieslice(300,200,st

7、art,end,100); /*扇形填充*/ start+=20; end+=20; getch();restorecrtmode(); /*恢復(fù)屏幕在初始化前的模式*/圓心(300,200),半徑100,start為起始角,end為終止角幾何表示1、圖形信息包括: 幾何信息和拓?fù)湫畔?、 計(jì)算機(jī)中表示三維形體的模型,如果按照幾何特點(diǎn)進(jìn)行分類,大體上可以分為三種哪三種?線框模型、表面模型和實(shí)體模型。 線框模型:只用頂點(diǎn)和鄰邊表示三維形體;缺點(diǎn):具有二義性,容易構(gòu)造出無(wú)效的實(shí)體。表面模型:邊界表示(Boundary representation, B-reps);構(gòu)造表示(掃描表示、構(gòu)造實(shí)體幾何

8、表示和特征表示);分解表示 圖形變換1、 什么是齊次坐標(biāo),規(guī)范化的齊次坐標(biāo)?為什么要進(jìn)行規(guī)范化?2、圖形變換的標(biāo)準(zhǔn)形式:平移矩陣:旋轉(zhuǎn)矩陣:逆時(shí)針比例變換矩陣:例題1. 已知三角形各頂點(diǎn)坐標(biāo)為(10,10),(10,30),(30,15),試對(duì)其進(jìn)行下列變換,寫出變換矩陣,畫出變換后的圖形。(1) 沿X向平移20,沿Y向平移15,再繞原點(diǎn)逆時(shí)針?lè)较蛐D(zhuǎn)90度(2) 繞原點(diǎn)旋轉(zhuǎn),再沿X向平移20,沿Y軸平移15解:(1)由二維圖形變換相關(guān)知識(shí),可得變換矩陣為1 0 0 cos90 sin 90 0 0 1 00 1 0 -sin90 cos90 0 = -1 0 025 15 1 0 0 1 -

9、15 2 1根據(jù)得出的新坐標(biāo)可畫出圖形(圖形略)(2)變換矩陣為: 0 1 0 1 0 0T= -1 0 0 0 1 0 0 0 1 25 15 1由得出的新坐標(biāo)畫圖3、 相對(duì)固定點(diǎn)的變換步驟:相對(duì)某個(gè)參考點(diǎn)(xF,yF)作二維幾何變換,其變換過(guò)程為:(1) 將固定點(diǎn)平移至坐標(biāo)原點(diǎn),進(jìn)行平移變換(2) 針對(duì)原點(diǎn)進(jìn)行二維幾何變換。(3) 進(jìn)行反平移,將固定點(diǎn)移回至原來(lái)的位置4、 窗視變換:窗視變換矩陣推導(dǎo)的步驟:1、將窗口左下角點(diǎn)(wxl, wyb)移至用戶坐標(biāo)系的坐標(biāo)原點(diǎn):2、針對(duì)原點(diǎn)進(jìn)行比例變換,計(jì)算比例變換系數(shù)3、進(jìn)行反平移:將視區(qū)左下角點(diǎn)移至設(shè)備坐標(biāo)系原來(lái)的位置(vxl, vyb)。寫出

10、實(shí)現(xiàn)下述映射的規(guī)范化變換,將左下角在(1,1),右上角在(3,5)的窗口映射到(a)規(guī)范化設(shè)備的全屏幕視區(qū);(b)左下角在(0,0),右上角在的視區(qū)。(a) 窗口參數(shù)是 。視區(qū)參數(shù)是 。那么且窗視變換矩陣為?(b) 窗口參數(shù)同(a)。視區(qū)參數(shù)是。那么且窗視變換矩陣為?圖形生成直線生成算法: DDA算法, 中點(diǎn)算法, Bresenham算法 ,重點(diǎn)掌握第一種和第三種, K1的情況 (課件中P16, P24,p36 )DDA算法的步驟:1) 計(jì)算x的增量,y的增量;2)計(jì)算斜率k:3)xi+1=xi+1, yi+1=yi+k改進(jìn)的中點(diǎn)算法步驟:1) 計(jì)算x的增量,y的增量; 2)計(jì)算斜率k; 3)

11、計(jì)算d0, d1,d2, d0=2a+b, d1=2a, d2=2a+2b, 4)如果d=0, y方向不前進(jìn),增量為d1。改進(jìn)的Bresenham算法算法步驟為:1.輸入直線的兩端點(diǎn)P0(x0,y0)和P1(x1,y1)。2.計(jì)算初始值x、y、e=-0.5、x=x0、y=y0。3.繪制點(diǎn)(x,y)。4.e更新為e+k,判斷e的符號(hào)。若e0,則(x,y)更新為(x+1,y+1),同時(shí)將e更新為e-1;否則(x,y)更新為(x+1,y)。5.當(dāng)直線沒(méi)有畫完時(shí),重復(fù)步驟3和4。否則結(jié)束。計(jì)算步驟:1)計(jì)算x的增量,y的增量; 2)計(jì)算斜率k; 3) e0=-0.5,e=e0+k, 4)若e0,則(x

12、,y)更新為(x+1,y+1),同時(shí)將e更新為e-1;否則(x,y)更新為(x+1,y)。例題:1 一條直線的兩個(gè)端點(diǎn)是(0,0)和(10,6),計(jì)算x從0變到6時(shí)y所對(duì)應(yīng)的值,并畫出結(jié)果。(DDA算法)2 請(qǐng)指出用Bresenham算法掃描轉(zhuǎn)換從像素點(diǎn)(0,0)到(8,5)的線段時(shí)的像素位置,并畫圖表示。圓的生成算法改進(jìn)的Bresenham畫圓算法1 輸入圓的半徑R。2.計(jì)算初始值d=1-R、x=0、y=R。3.繪制點(diǎn)(x,y)及其在八分圓中的另外七個(gè)對(duì)稱點(diǎn)。4.判斷d的符號(hào)。若d0,則先將d更新為d+2x+3,再將(x,y)更新為(x+1,y);否則先將d更新為d+2(x-y)+5,再將(

13、x,y)更新為(x+1,y-1)。5.當(dāng)xy時(shí),重復(fù)步驟3和4。否則結(jié)束。 例題:利用中點(diǎn)Bresenham算法掃描轉(zhuǎn)換圓心在O(0,0), R為8的圓 位于(0,R)至()區(qū)間圖形裁剪1、 圖形裁剪的概念,為什么要進(jìn)行圖形裁剪?圖形裁剪的主要工作?(a.圖形元素在窗口內(nèi)外的判別; b.圖形元素與窗口的交點(diǎn)。)2、 已知窗口和點(diǎn)的坐標(biāo),要求寫出點(diǎn)的區(qū)域編碼例題:左下角L(3,1),右上角為R(2,6)的矩形窗口。請(qǐng)寫出圖中的線段端點(diǎn)的區(qū)域編碼。解答:A(4,2)0001 B(1,7)1000C(1,5)0000 D(3,8)1010E(2,3)0000 F(1,2)0000G(1,2)0100

14、 H(3,3)0010I(4,7)1001 J(2,0)1000Xmin=-3Xmax=2ymax=6ymin=1A(-4,2)F(1,2)E(-2,3)G(1,-2)H(3,3)C(-1,5)D(3,8)I(-4,2)J(-2,10)B(-1,7)xy3、 掌握Cohen-Sutherland直線裁剪算法裁剪一條線段時(shí),先求出端點(diǎn)p1和p2的編碼code1和code2,然后:(1)若code1|code2=0,對(duì)直線段應(yīng)簡(jiǎn)取之。(取位或運(yùn)算)(2)若code1&code20,對(duì)直線段可簡(jiǎn)棄之。(取位與運(yùn)算)(3)若上述兩條件均不成立。則需求出直線段與窗口邊界的交點(diǎn)。在交點(diǎn)處把線段一分為二,其中必有一段完全在窗口外,可以棄之。再對(duì)另一段重復(fù)進(jìn)行上述處理,直到該線段完全被舍棄或者找到位于窗口內(nèi)的一段線段為止。區(qū)域填充1 多邊形的兩種表示方法: 頂點(diǎn)法和點(diǎn)陣法2 多邊形的掃描轉(zhuǎn)換:多邊形頂點(diǎn)表示轉(zhuǎn)換為點(diǎn)陣表示3 掃描線填充的四個(gè)步驟?a.求交 b.排序 c.交點(diǎn)配對(duì) d.區(qū)間填色4 交點(diǎn)的取舍問(wèn)題:共享頂點(diǎn)的兩條邊在掃描線的同一邊,計(jì)2次交點(diǎn);若共享頂點(diǎn)的兩條邊分別落在掃描線的兩邊,計(jì)1次交點(diǎn)。改進(jìn)的有效邊表算法存在問(wèn)題: 如何判斷一條邊開(kāi)始進(jìn)入下一條掃描線,以便將此邊插入到活性邊表中 如何判斷掃描線何時(shí)離開(kāi)一條邊,以便及時(shí)從活性邊表中將

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論