計(jì)算機(jī)圖形學(xué)第一次上機(jī)實(shí)驗(yàn)報(bào)告_第1頁(yè)
計(jì)算機(jī)圖形學(xué)第一次上機(jī)實(shí)驗(yàn)報(bào)告_第2頁(yè)
計(jì)算機(jī)圖形學(xué)第一次上機(jī)實(shí)驗(yàn)報(bào)告_第3頁(yè)
計(jì)算機(jī)圖形學(xué)第一次上機(jī)實(shí)驗(yàn)報(bào)告_第4頁(yè)
計(jì)算機(jī)圖形學(xué)第一次上機(jī)實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩1頁(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)介

計(jì)算機(jī)圖形學(xué)上機(jī)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱:用DDA算法生成直線姓名:彭江軍班級(jí):信息與計(jì)算科學(xué)學(xué)號(hào):2011114093一:DDA算法的思想精髓 實(shí)現(xiàn)直線段光柵化的最簡(jiǎn)單的方法就是解直線的微分方程。設(shè)直線的起點(diǎn)坐標(biāo)為(xs,ys),終點(diǎn)坐標(biāo)為(xe,ye),那么該直線的微分方程是:其離散解為: 或:這里(xi,yi)是直線上一點(diǎn)的坐標(biāo)值。式(3.2.1)和(3.2.2)表示所求直線y值和x值關(guān)于相應(yīng)增量的逐次遞歸關(guān)系,遞歸初值為直線的起點(diǎn)。DDA(DigitalDifferentialAnalyzer)算法即數(shù)字微分分析算法就是基于式(3.2.1)或(3.2.2)對(duì)直線進(jìn)行光柵化的算法。在一個(gè)坐標(biāo)軸上以單位間隔對(duì)直線采樣,以決定另一個(gè)坐標(biāo)軸上最靠近直線的對(duì)應(yīng)整數(shù)值。(1)當(dāng)直線斜率0≤m≤1時(shí),則按單位x間隔(Dx=1)取樣并計(jì)算每個(gè)連續(xù)的y值:(2)當(dāng)-1≤m≤0時(shí),則仍按單位x間隔(Dx=-1)取樣并計(jì)算每個(gè)連續(xù)的y值:(3)當(dāng)m>1時(shí),則將x和y交換,這就是說(shuō),按單位y間隔(Dy=1)取樣并計(jì)算每個(gè)連續(xù)的x值:(4)當(dāng)m<-1時(shí),則同樣交換x和y交換,并按Dy=-1間隔取樣計(jì)算每個(gè)連續(xù)的x值:應(yīng)用上面的算式,解可以設(shè)計(jì)斜率為任意值的直線。二:程序代碼:#include<stdio.h>#include<graphics.h>#include<math.h>voidlineDDA(intxs,intys,intxe,intye,intc){ inti; floatx=xs,y=ys; floatxIncrement,yIncrement,steps,dx=xe-xs,dy=ye-ys; steps=abs(dx); if(abs(dy)>abs(dx)) steps=abs(dy); xIncrement=dx/steps; yIncrement=dy/steps; putpixel(x,y,c); for(i=1;i<=steps;i++) { x+=xIncrement; y+=yIncrement; putpixel(x,y,c); }}main(){intgdriver=DETECT;intgmode;initgraph(&gdriver,&gmode,"");setbkcolor(MAGENTA);lineDDA(10,14,20,50,1);getch();closegraph();}三:程序截圖如下:四:試驗(yàn)心得體會(huì):DDA算法生成直線是非??斓?,但是有一點(diǎn)需要注意的,就是x,y的數(shù)值類型。因?yàn)閤Increment和yIncrement并不都是整數(shù),所以在實(shí)際編程中不能照抄課本23頁(yè)的算法,否者由于精度損失,得到了就是一條和坐標(biāo)軸平行的直線。由于畫(huà)圖要調(diào)用BGI庫(kù)中的EGAVGA.BGI文件,來(lái)驅(qū)動(dòng)程序,因

溫馨提示

  • 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)論