




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 計 算 機 圖 形 學實 驗 指 導 書 王衛(wèi)東 別小川 編寫適用專業(yè): 計算機科學與技術(shù) 江蘇科技大學電子信息學院2006年 7 月前 言計算機圖形學(Computer Graphics)是研究怎樣用數(shù)字計算機生成、處理和顯示圖形的一門學科。隨著計算機圖形學不斷發(fā)展,它的應(yīng)用范圍也日趨廣泛。計算機圖形學課程目的及任務(wù)是著重介紹計算機圖形學的基本內(nèi)容及原理與方法。它是計算機專業(yè)選修課。課程的主要內(nèi)容有計算機圖形學的概論及應(yīng)用,計算機用戶接口和交互技術(shù),計算機圖形編程,二維圖形掃描算法與幾何變換,三維形體表示與投影變換,曲線與曲面造型技術(shù),真實感圖形等。為了使學生更好地理解和深刻地掌握圖形的幾
2、何變換、光柵圖形的表示及處理方法、三維形體表示等方面的知識。并在此基礎(chǔ)上,訓練和培養(yǎng)學生對基本圖形系統(tǒng)的分析和設(shè)計能力,共設(shè)置了3項設(shè)計性實驗,分別是圖形的幾何變換、區(qū)域填充、曲線及曲面表示。圖形的幾何變換要求學生掌握圖形的平移、縮放、旋轉(zhuǎn)等基本變換知識。區(qū)域填充要求學生了解并掌握光柵圖形的表示方法,并實現(xiàn)種子算法或掃描線算法。曲線及曲面表示屬于三維圖形的造型技術(shù)。本指導書重點講述了各實驗的基本原理,并給出了詳細的實驗素材。實驗主要針對計算機科學與技術(shù)專業(yè),也可作為研究生的輔助實驗指導。目 錄實驗一:圖形的幾何變換3實驗二:圖形的區(qū)域填充6實驗三:曲線、曲面的生成8實驗四:動畫設(shè)計14附錄一、
3、學生實驗報告基本內(nèi)容要求15實驗一:圖形的幾何變換實驗學時:4學時實驗類型:設(shè)計實驗要求:必修一、實驗目的二維圖形的平移、縮放、旋轉(zhuǎn)和投影變換(投影變換可在實驗三中實現(xiàn))等是最基本的圖形變換,被廣泛用于計算機圖形學的各種應(yīng)用程序中,本實驗通過算法分析以及程序設(shè)計實驗二維的圖形變換,以了解變換實現(xiàn)的方法。如可能也可進行裁剪設(shè)計。二、實驗內(nèi)容掌握平移、縮放、旋轉(zhuǎn)變換的基本原理,理解線段裁剪的算法原理,并通過程序設(shè)計實現(xiàn)上述變換。建議采用VC+實現(xiàn)OpenGL程序設(shè)計。三、實驗原理、方法和手段1 圖形的平移在屏幕上顯示一個人或其它物體(如圖1所示),用交互操作方式使其在屏幕上沿水平和垂直方向移動Tx
4、和Ty,則有 x=x+Tx y=y+Ty其中:x與y為變換前圖形中某一點的坐標,x和y為變換后圖形中該點的坐標。其交互方式可先定義鍵值,然后操作功能鍵使其移動。2 圖形的縮放在屏幕上顯示一個帆船(使它生成在右下方),使其相對于屏幕坐標原點縮小s倍(即x方向和y方向均縮小s倍)。則有: x=x*s y=y*s注意:有時圖形縮放并不一定相對于原點,而是事先確定一個參考位置。一般情況下,參考點在圖形的左下角或中心。設(shè)參考點坐標為xf、yf則有變換公式 x=x*Sx+xf*(1-Sx)=xf+(x-xf)*Sx y=y*Sy+yf*(1-Sy)=yf+(y-yf)*Sy式中的x與y為變換前圖形中某一點
5、的坐標,x和y為變換后圖形中該點的坐標。當Sx>1和Sy>1時為放大倍數(shù),Sx<1和Sy<1時為縮小倍數(shù)(但Sx和Sy必須大于零)。3 圖形的旋轉(zhuǎn)在屏幕上顯示一個汽車,根據(jù)自己確定的旋轉(zhuǎn)角度和旋轉(zhuǎn)中心對圖形進行旋轉(zhuǎn)。旋轉(zhuǎn)公式為 x=xf+(x-xf)*cos(angle)-(y-yf)*sin(angle) y=yf+(y-yf)*cos(angle)+(x-xf)*sin(angle)其中:xf,yf為圍繞旋轉(zhuǎn)的中心點的坐標。x,y為旋轉(zhuǎn)前圖形中某點的坐標,x和y為旋轉(zhuǎn)后圖形中該點的坐標。 4 裁剪對一個三角形進行裁剪,裁剪后的圖形應(yīng)是一個封閉的圖形??刹捎镁€段裁剪法
6、,其方法可用書上的線段相交求點的公式,確定可見線段予以保存,不在窗口的線段則應(yīng)舍棄。 圖1四、實驗組織運行要求本實驗采用集中授課形式,每個同學獨立完成上述實驗要求。五、實驗條件每人一臺計算機獨立完成實驗。六、實驗步驟(1) 將圖形顯示在初始位置。(2) 對圖形各點按變換表達式作坐標變換,計算出各點變換后的相應(yīng)點的坐標。(3) 將原來的圖形抹去。(4) 在新的位置顯示圖形。七、思考題 采用中點分割算法完成圖形的裁剪操作。八、實驗報告實驗報告主要包括實驗預習、實驗說明、程序代碼、實驗結(jié)果及分析等內(nèi)容。實驗二:圖形的區(qū)域填充實驗學時:4學時實驗類型:設(shè)計實驗要求:必修一、實驗目的區(qū)域填充是指先將區(qū)域
7、內(nèi)的一點(常稱為種子點)賦予給定顏色,然后將這種顏色擴展到整個區(qū)域內(nèi)的過程。區(qū)域填充技術(shù)廣泛應(yīng)用于交互式圖形、動畫和美術(shù)畫的計算機輔助制作中。本實驗采用遞歸填充算法或掃描線算法實現(xiàn)對光柵圖形的區(qū)域填充。通過本實驗,可以掌握光柵圖形編程的基本原理和方法。二、實驗內(nèi)容掌握光柵圖形的表示方法,實現(xiàn)種子算法或掃描線算法。通過程序設(shè)計實現(xiàn)上述算法。建議采用VC+實現(xiàn)OpenGL程序設(shè)計。三、實驗原理、方法和手段1 遞歸算法在要填充的區(qū)域內(nèi)取一點(X,Y)的當前顏色記為oldcolor,用要填充的顏色newcolor去取代,遞歸函數(shù)如下:procedure flood-fill(X,Y,oldcolor,
8、newcolor:integer);begin if getpixel(framebuffer,x,y)=oldcolor then begin setpixel(framebuffer,x,y,newcolor); flood-fill(X,Y+1,oldcolor,newcolor); flood-fill(X,Y-1,oldcolor,newcolor); flood-fill(X-1,Y,oldcolor,newcolor); flood-fill(X+1,Y,oldcolor,newcolor); endend2 掃描線算法掃描線算法的效率明顯高于遞歸算法,其算法的基本思想如下:(1
9、)(初始化)將算法設(shè)置的堆棧置為空,將給定的種子點(x,y)壓入堆棧。(2)(出棧)如果堆棧為空,算法結(jié)束;否則取棧頂元素(x,y)作為種子點。(3)(區(qū)段填充)從種子點(x,y)開始沿縱坐標為y的當前掃描線向左右兩個方向逐個象素進行填色,其值置為newcolor,直到抵達邊界為止。(4)(定范圍)以xleft和xright分別表示在步驟3中填充的區(qū)段兩端點的橫坐標。(5)(進棧)分別在與當前掃描線相鄰的上下兩條掃描線上,確定位于區(qū)間xleft,xright內(nèi)的給定區(qū)域的區(qū)段。如果這些區(qū)段內(nèi)的象素的顏色值為newcolor或者boundarycolor(邊界上象素的顏色值),則轉(zhuǎn)到步驟2,否則
10、取區(qū)段的右端點為種子壓入堆棧,再轉(zhuǎn)到步驟2繼續(xù)執(zhí)行。四、實驗組織運行要求本實驗采用集中授課形式,每個同學獨立完成上述實驗要求。五、實驗條件每人一臺計算機獨立完成實驗。六、實驗步驟(1) 將圖形顯示在初始位置。(2) 給定種子點的坐標。(3) 顯示從種子點開始的擴散過程。(4) 顯示填充后的圖形。七、思考題 如何實現(xiàn)光柵圖形的掃描轉(zhuǎn)換?八、實驗報告實驗報告主要包括實驗預習、實驗說明、程序代碼、實驗結(jié)果及分析等內(nèi)容。實驗三:曲線、曲面的生成實驗學時:4學時實驗類型:設(shè)計實驗要求:必修一、實驗目的利用Bezier,B樣條或NuBer(非均勻有理B樣條)曲線,生成圖2茶壺,以加深對曲線曲面生成三維圖形
11、的原理,控制方法以及算法的實現(xiàn)(包括隱藏線,面的消除),要求生成的茶壺要光滑。二、實驗內(nèi)容掌握曲線、曲面的表示方法,實現(xiàn)茶壺的三維造型設(shè)計。通過程序設(shè)計實現(xiàn)上述算法。建議采用VC+實現(xiàn)OpenGL程序設(shè)計。三、實驗原理、方法和手段采用三次Bezier 曲線或其它函數(shù)曲線生成圖2所示茶壺。利用三次Bezier曲線生成時,n=3,若寫成向量或?qū)懗?t 的三次參數(shù)式為:其中:P0,P1,P2,P3是特征多邊形上四個頂點(控制點)的向量。若將其分解為二維平面中x、y方向的分量,則 圖2 茶壺以下分析以下茶壺的繪制方法: 可以假定壺體表面是一個旋轉(zhuǎn)面,因此只要在x-y 平面上找到用來生成旋轉(zhuǎn)面的基本曲線
12、就可以了。采用分段三次貝齊爾曲線,選十個控制點,它們的數(shù)據(jù)見表1(a),控制點位置與生成的曲線見圖3a。這條曲線由三段組成,分別由點1,2,3,4,4,5,6,7,7,8,9,10控制。注意到4,7公用,且3,4,5在一直線上,6,7,8也在一直線上,因而可知三段曲線拼接后有一階連續(xù)性。類似地,壺蓋也視為旋轉(zhuǎn)面,它的外輪廓由兩段貝齊爾曲線生成,分別由1,2,3,4和4,5,6,7控制。由于3,4,5共線,4為公共點,故也有一階連續(xù)性。這七個點的數(shù)據(jù)見表1(b),對應(yīng)的輪廓線見圖3b。旋轉(zhuǎn)面的顯示可給定擬合后外形線上的一點(x0,y0),繞y軸旋轉(zhuǎn)得Y=Y0平面上一個圓。若只作沿Z軸平行投影變換
13、,即只去掉z分量,則它顯示成一線段。一個避免這種現(xiàn)象的簡便方法是將它們繞X軸適當旋轉(zhuǎn)同一角度,然后再投影到x-y平面上顯示。茶壺的壺嘴則要用貝齊爾曲面片來表示(也可以用曲線,但需插入控制點)。首先確定剖面的外輪廓線。這里有兩條,每一條也由七個控制點控制,它們的數(shù)據(jù)見表1(c),外輪廓線見圖3c,但是要注意現(xiàn)在要再增加二條線(每線也相應(yīng)的有七個控制點),它們分別與兩外輪廓線有相同的x、y坐標,只是z的坐標不再是零,而是有變化,這個變化的方式是:與11,12(21,22)相對應(yīng)的=0.66:與13,14,15(23,24,25)對應(yīng)的為z =0.25:與另二點對應(yīng)的為z =0.15,這樣壺嘴實際上
14、由二片貝齊爾曲面片(每片十六個控制點)組成。例如其中一片上的四個控制點分別為(11x,11y,0),(11x,11y,0.66),(21x,21y,0.66),(21x,21y,0),其中11x,11y分別指第十一個控制點x,y坐標。對每一曲面片的顯示,實際上可以顯示八條曲線,或者適當加密。類似地處理壺的把手,唯一與壺嘴有別處是另外兩線的z不隨控制點不同而變,即取定值z =0.3。數(shù)據(jù)見表1(d)。外輪廓線圖見3d,最后,壺底可以用半徑為1.5的圓盤來表示,容易想象它應(yīng)如何加入這一圖形生成過程中。圖2就是用這種方法畫出的茶壺。 表1(a) 壺體控制點數(shù)據(jù) 表1(b) 壺蓋控制點數(shù)據(jù)xy10.0
15、3.020.83.030.02.740.22.5550.42.461.32.471.32.25xy11.40002.2500021.33752.3812531.43752.3812541.50002.2500051.75001.7250062.00001.2000072.00000.7500082.00000.3000091.50000.07500101.50000.0000表1(c) 壺嘴控制點數(shù)據(jù)xy(11) 1.7(21) 1.7(11) 1.27(21) 0.4(12) 2.6(22) 3.1(12) 1.275(22) 0.675(13) 2.3(23) 2.4(13) 1.95(2
16、3) 1.875(14) 2.7(24) 3.3(14) 2.25(24) 2.2(15) 2.8(25) 3.525(15) 2.325(25) 2.34(16) 2.9(26) 3.4(16) 2.325(26) 2.36(17) 2.8(27) 3.2(17) 2.25(27) 2.25表1(d) 壺嘴控制點數(shù)據(jù)xy(11) 1.6(21) 1.5(11) 1.875(21) 2.1(12) 2.3(22) 2.5(12) 1.875(22) 2.1(13) 2.7(23) 3.0(13) 1.875(23) 2.1(14) 2.7(24) 3.0(14) 1.65(24) 1.65(1
17、5) 2.7(25) 3.0(15) 1.425(25) 1.20(16) 2.5(26) 2.65(16) 0.975(26) 0.7875(17) 2.0(27) 1.90(17) 0.75(27) 0.45圖3b 壺蓋外輪廓線圖3a 壺體外輪廓線 圖3c 壺嘴外輪廓線 圖3d 壺把手外輪廓線四、實驗組織運行要求本實驗采用集中授課形式,每個同學獨立完成上述實驗要求。五、實驗條件每人一臺計算機獨立完成實驗。六、實驗步驟(1) 壺體及壺蓋的外輪廓線。(2) 旋轉(zhuǎn)生成壺體及壺蓋。(3) 完成壺嘴及把手的繪制。七、思考題 如何采用B樣條曲線曲面實現(xiàn)本實驗?八、實驗報告實驗報告主要包括實驗預習、實驗
18、說明、程序代碼、實驗結(jié)果及分析等內(nèi)容。實驗四:動畫設(shè)計實驗學時:4學時實驗類型:綜合實驗要求:選做一、實驗目的通過實驗,了解動畫設(shè)計的原理、方法,并培養(yǎng)學生的想象能力、創(chuàng)新意識及動手能力,只要求采用二維圖形變換處理。二、實驗內(nèi)容“警察抓小偷”是較早的有名的游戲動畫。然而,它遇到的關(guān)卡有百余處之多,我們希望學生自己發(fā)揮想象力,大膽創(chuàng)新,這是體現(xiàn)您的程序設(shè)計和創(chuàng)意能力的教好方法。三、實驗原理、方法和手段一輛警車(可以有警察人員),在公路、湖邊追趕一拿著東西的小偷,小偷逃跑可以用圖1姿勢。(1) 生成公路、湖邊、湖水、湖岸、房屋等。(2) 生成的警車可以移動旋轉(zhuǎn)。(3) 作平行移動的小偷。(4) 能航行到對岸的船或直升飛機(供逃跑用)。(5) 要求進行碰撞檢測,若捉到了小偷,檢測后發(fā)出信號,以示捉到。四、實驗組織運行要求本實驗采用開放形式,作為選做實驗,同學可以獨立或分組完成上述實驗要求。五、實驗條件每人一臺計算機完成實驗。附錄一、學生實驗報告基本內(nèi)容要求所有實驗項目的報告必須以課程為單位裝訂成冊,原則上使用現(xiàn)行“實驗報告簿”(校園內(nèi)有售)。實驗報告簿應(yīng)事先準備好,用來做預習報告、實驗記錄和實驗報告,要求這三個過程在一個實驗報告中完成。1實驗預習在實驗前每位同學都需要對本
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中國黃金衍生品行業(yè)市場調(diào)查報告
- 2025年中國直流穩(wěn)壓電源市場發(fā)展前景預測及投資戰(zhàn)略咨詢報告
- 一級公路可行性研究報告
- 2025年 云南省高級維修電工職業(yè)技能考試練習題附答案
- 2025年 四川廣安前鋒區(qū)就業(yè)保障中心招聘考試筆試試題附答案
- 2025年中國低壓電動機保護器行業(yè)市場深度分析及投資策略咨詢報告
- 2025年 惠東縣安墩鎮(zhèn)招聘村“兩委”班子和村民小組長儲備人選考試試題附答案
- 2025年工業(yè)固廢項目立項申請報告模板
- 2025年 甘肅工業(yè)和信息化廳廳屬事業(yè)單位地質(zhì)測繪類專業(yè)招聘考試筆試試題附答案
- 2025年 北京中水科工程集團有限公司招聘考試筆試試題附答案
- 2025-2030年中國機器人檢測行業(yè)市場現(xiàn)狀調(diào)查及前景戰(zhàn)略研判報告
- 有機合成路線的設(shè)計(解析版)-2025年高考化學答題技巧與模板構(gòu)建(新高考)
- 生產(chǎn)安全事故應(yīng)急演練評估報告模版
- 國家開放大學行管??啤缎姓M織學》期末紙質(zhì)考試總題庫(2025春期版)
- 復合材料層合板殼結(jié)構(gòu)分析理論研究進展
- 2025年江蘇南京市河西新城區(qū)國有資產(chǎn)經(jīng)營控股集團招聘筆試參考題庫附帶答案詳解
- 巨量雙證直播運營營銷師認證考試題(附答案)
- 2025年重慶出版集團招聘筆試參考題庫含答案解析
- 金融產(chǎn)品網(wǎng)絡(luò)營銷管理辦法
- 02565+24273中醫(yī)藥學概論
- 電力鐵塔灌注樁施工方案
評論
0/150
提交評論