版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
《計算機(jī)圖形學(xué)》課程實驗張玉娟實驗一直線段生成算法實現(xiàn)1、數(shù)值微分法(DDA)基本思想:從直線段的起點像素出發(fā),依據(jù)直線的微分方程依次確定描述直線的各個像素點。微分方程:dy/dx=m,yi+1=yi+m(xi+1-xi)若xi+1=xi+1yi+1=yi+m(0<m<1)算法原理:設(shè)一直線段的起點和終點坐標(biāo)分別為(xs,ys)和(xe,ye)。則直線段在X和Y方向的增量分別為:△x=xe-xs,△y=ye-ys設(shè)△t=max(|△x|,|△y|)取時間步長為1/△t,若當(dāng)前像素點坐標(biāo)為(xi,yi),則下一個像素點的坐標(biāo)可由以下兩式確定:xi+1=xi+dx=xi+Dx/Dtyi+1=yi+dy=yi+Dy/Dt2、中點直線生成算法:假定直線斜率0<m<1,且已確定點亮象素點P(Xi,Yi),則下一個與直線最接近的像素只能是P1點或P2點。設(shè)M為中點,Q為交點,現(xiàn)需確定下一個點亮的象素。當(dāng)M在Q的下方->P2離直線更近更近->取P2。M在Q的上方->P1離直線更近更近->取P1M與Q重合,P1、P2任取一點。設(shè)直線方程為:ax+by+c=0其中a=y0-y1,b=x1-x0,c=x0y1-x1y0F(x,y)=0點在直線上面F(x,y)>0點在直線上方F(x,y)<0點在直線下方
欲判斷M點是在Q點上方還是在Q點下方,只需把M代入F(x,y),并檢查它的符號。令d=F(M)=F(xp+1,yp+0.5)=a(xp+1)+b(yp+0.5)+c當(dāng)d<0,M在直線下方,取右上方P2;當(dāng)d>0,M在直線上方,取右方P1;當(dāng)d=0,選P1或P2均可,約定取P1;若d0->M在直線上方->取P1;此時再下一個象素的判別式為d1=F(xp+2,yp+0.5)=a(xp+2)+b(yp+0.5)+c=a(xp+1)+b(yp+0.5)+c+a=d+a;增量為a若d<0->M在直線下方->取P2;此時再下一個象素的判別式為d2=F(xp+2,yp+1.5)=a(xp+2)+b(yp+1.5)+c=a(xp+1)+b(yp+0.5)+c+a+b=d+a+b;增量為a+b
畫線從(x0,y0)開始,d的初值 d0=F(x0+1,y0+0.5)=a(x0+1)+b(y0+0.5)+c=F(x0,y0)+a+0.5b=a+0.5b由于只用d的符號作判斷,為了只包含整數(shù)運算,可以用2d代替d來擺脫小數(shù),提高效率。同時d每次的增量也已相應(yīng)乘2操作。3、Bresenham畫線算法
基本思想:根據(jù)直線的斜率確定選擇X或者Y方向作為計長方向,在此方向上每次遞增一個單位步長(或者一個像素單位),另一個方向上是否同時產(chǎn)生一個單位增量由一個計算量很小的判別式來判斷。算法原理:以斜率在0~1之間的直線段為例,在第一象限內(nèi)piDC這種情況下,選擇X方向為計長方向,即增量dx=1。,設(shè)Pi(xi,yi)是已選定的離直線最近的像素,現(xiàn)在要決定Pi+1是D還是C顯然,若d<0.5,則C靠近直線,應(yīng)選C;若d>=0.5,則應(yīng)選D。(m=△y/△x)
令e=d-0.5(初值為m-0.5),即有:e<0時,選Pi+1(xi+1,yi),更新e=e+m;e>=0時,選Pi+1(xi+1,yi+1),更新e=e+m-1;為計算簡便(整數(shù)計算),將判別式e替換為e=2e△x;初值e=-△x結(jié)論:得到遞推公式e<0時,選Pi+1(xi+1,yi);e=e+2△ye>=0時,選Pi+1(xi+1,yi+1);e=e+2△y-2△x其中,△x=xe-xs;△y=ye-ys實驗二:圓生成算法的實現(xiàn)
1.圓的中點生成算法:利用圓的對稱性,只須討論1/8圓。第二個8分圓P(Xp,Yp)為當(dāng)前點亮象素,那么,下一個點亮的象素可能是P1(Xp+1,Yp)或P2(Xp+1,Yp+1)。構(gòu)造函數(shù):F(X,Y)=X2+Y2-R2;則F(X,Y)=0(X,Y)在圓上;F(X,Y)<0(X,Y)在圓內(nèi);F(X,Y)>0(X,Y)在圓外。設(shè)M為P1、P2間的中點,M=(Xp+1,Yp-0.5)F(M)<0->M在圓內(nèi)->取P1F(M)>=0->M在圓外->取P2令判別式d=F(M)=F(Yp+1,Yp-0.5)=(Yp+1)2+(Yp-0.5)2-R2若d<0,取P1d1=F(Xp+2,Yp-0.5)=(Xp+2)2+(Yp-0.5)2-R2=d+2Xp+3d的增量為2Xp+3d>=0,取P2d2=F(xp+2,yp-1.5)=(xp+2)2+(yp-1.5)2-R2
=d+(2xp+3)+(-2yp+2)d的增量為2(xp-yp)+5
d的初值:d0=F(1,R-0.5)=1+(R-0.5)2-R2=1.25–R將d=0與d>0看成一種情況,每次d的增量為整型值,因此此時0.25對d的符號沒有影響,可將d的初始值定為1-R。2.圓的Bresenham生成算法Pi-1HiLi應(yīng)取Hi還是取LiB現(xiàn)在從A點開始向右下方逐點來尋找弧AB要用的點。如圖中點Pi-1是已選中的一個表示圓弧上的點,根據(jù)弧AB的走向,下一個點應(yīng)該從Hi或者Li中選擇。顯然應(yīng)選離AB最近的點作為顯示弧AB的點。假設(shè)圓的半徑為R,顯然,當(dāng)xhi2+yhi2-R2≥R2-(xli2+yli2)時,應(yīng)該取Li。否則取Hi。令di=xhi2+yhi2+xli2+yli2-2R2顯然,當(dāng)di≥0時應(yīng)該取Li。否則取Hi。剩下的問題是如何快速的計算di。設(shè)圖中Pi-1的坐標(biāo)為(xi-1,yi-1),則Hi和Li的坐標(biāo)為(xi,yi-1)和(xi,yi-1-1)di=xi2+(yi-1)2+xi2+(yi-1-1)2-2R2=2xi2+2yi-12-2yi-1-2R2di+1=(xi+1)2+yi2+(xi+1)2+(yi-1)2-2R2=2xi2+4xi+2yi2-2yi-2R2+3當(dāng)di<0時取Hiyi=yi-1,di+1=di+4xi-1+6當(dāng)di≥0時取Liyi=yi-1-1,di+1=di+4(xi-1-yi-1)+10
易知x0=0,y0=R,x1=x0+1因此d0=12+y02+12+(y0-1)2-2R2
=3-2y0=3-2R實驗三二維圖形幾何變換的實現(xiàn)1.平移變換:將平面上的點(x,y)沿平行于x軸方向移動Tx,沿平行于y軸方向移動Ty后,得到點(x’,y’),則有:x’=x+Txy’=y+Ty2.縮放變換:相對于原點將平面上的點(x,y),沿x軸方向乘以常數(shù)Sx,沿y方向乘以常數(shù)Sy后,得到點(x’,y’),則有:x’=x×Sxy’=y×Sy3.旋轉(zhuǎn)變換:將圖形相對于原點轉(zhuǎn)動一定的角度。給定以逆時針方向為正方向,假設(shè)(x,y)相對于原點旋轉(zhuǎn)角后得到點(x’,y’),則有:x’=x×cosA-y×sinAy’=x×sinA+y×cosA
4.對稱變換將圖形相對于x軸、y軸、、、原點作對稱圖形得到原圖形的變換圖形,假設(shè)點經(jīng)對稱變換后得到新點則有:①相對于x軸對稱,②相對于y軸對稱,③相對于對稱,④相對于對稱,⑤相對于原點對稱,5.錯切變換錯切包括沿x方向錯切和沿y方向錯切,點(x,y)沿x軸方向錯切的系數(shù)為b,沿y軸方向錯切的系數(shù)為d,得到點(x’,y’),則有:x’=x+b×yy’=y+d×x實驗四Bezier曲線生成算法的實現(xiàn)1.二次Bezier曲線方程:
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 音樂機(jī)構(gòu)線上運營方案
- 社群運營方案客服策劃
- 海釣拍攝運營方案
- 車輛運營成本核算方案范本
- 繪本群運營游戲方案
- 酒店運營方案 親子
- 生鮮抖音來客運營方案
- 潔牙運營方案
- 營地商業(yè)運營方案設(shè)計
- 工廠清倉直播運營方案
- 2026年榆能集團(tuán)陜西精益化工有限公司招聘備考題庫完整答案詳解
- 2026廣東省環(huán)境科學(xué)研究院招聘專業(yè)技術(shù)人員16人筆試參考題庫及答案解析
- 邊坡支護(hù)安全監(jiān)理實施細(xì)則范文(3篇)
- 6.1.3化學(xué)反應(yīng)速率與反應(yīng)限度(第3課時 化學(xué)反應(yīng)的限度) 課件 高中化學(xué)新蘇教版必修第二冊(2022-2023學(xué)年)
- 北京市西城區(qū)第8中學(xué)2026屆生物高二上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 2026年遼寧輕工職業(yè)學(xué)院單招綜合素質(zhì)考試參考題庫帶答案解析
- 2026屆北京市清華大學(xué)附中數(shù)學(xué)高二上期末調(diào)研模擬試題含解析
- 醫(yī)院實習(xí)生安全培訓(xùn)課課件
- 天然氣加氣站安全事故的案例培訓(xùn)課件
- (售后服務(wù)方案)物料、設(shè)備采購售后服務(wù)方案
- 施工現(xiàn)場車輛進(jìn)出沖洗記錄
評論
0/150
提交評論