




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
計算機圖形學(xué)--圓的生成算法的實現(xiàn)PAGEPAGE2實驗三圓的生成算法的實現(xiàn)班級信計學(xué)號51姓名程芳超分?jǐn)?shù)一、實驗?zāi)康暮鸵螅?、掌握圓的生成算法的基本原理2、熟悉圓的生成算法,利用Turbor實現(xiàn)中點畫圓算法、圓的Bresenham算法。二、實驗內(nèi)容:1、熟悉圓上的8個對稱點的算法,利用中點畫圓算法畫圓并在屏幕上顯示出來;2、使用Bresenham畫圓法生成一個圓;3、利用line()函數(shù)畫圓:.圓的參數(shù)方程;圓心為o(x0,y0)。以下為各程序的實現(xiàn)代碼:1、中點畫圓算法:運行結(jié)果為:#include"Conio.h"#include"graphics.h"#include"stdio.h"#include"math.h"#defineclosegrclosegraph#definexo300#defineyo250#defineDELTA1.0#definemax100initgr();cleardevice();MidPointCircle1(150,4);getch();closegraph();}運行結(jié)果為:2圓的Bresenham算法:#include<graphics.h>#include<stdio.h>#include<conio.h>#include<math.h>voidBresenhamCircle(xc,yc,radius,color)intxc,yc,radius,color;{intx,y,d;x=0;y=radius;d=3-2*radius;while(x<y){plot_circle_points(xc,yc,x,y,color);if(d<0)d+=4*x+6;else{d+=4*(x-y)+10;y--;}x++;}if(x==y)plot_circle_points(xc,yc,x,y,color);}plot_circle_points(xc,yc,x,y,color)intxc,yc,x,y,color;{putpixel(xc+x,yc+y,color);putpixel(xc-x,yc+y,color);putpixel(xc+x,yc-y,color);putpixel(xc-x,yc-y,color);putpixel(xc+y,yc+x,color);putpixel(xc-y,yc+x,color);putpixel(xc+y,yc-x,color);putpixel(xc-y,yc-x,color);}main(){inta,b,c,e;intgraphdriver=DETECT;intgraphmode=0;initgraph(&graphdriver,&graphmode,"");cleardevice();a=300;b=300;c=150;e=3;BresenhamCircle(a,b,c,e);getch();closegraph();}運行結(jié)果為:3、利用line()函數(shù)畫圓#include<stdio.h>#include<stdlib.h>#include<math.h>#include<conio.h>#include<graphics.h>main(){inti,r,xx[46],yy[46],x0,y0;floatt=360/45*3.14/180;intgdriver=DETECT,gmode;initgraph(&gdriver,&gmode,"");cleardevice();setbkcolor(14);setcolor(4);x0=300;y0=250;r=200;for(i=0;i<46;i++){xx[i]=x0+r*cos(i*t);yy[i]=y0-r*sin(i*t);}for(i=0;i<45;i++)line(xx[i],yy[i],xx[i+1],yy[i+1]);settextstyle(1,0,5);outtextxy(300,200,"O");line(300,250,500,250);getch();closegraph();return0;}運行結(jié)果為:三、實驗結(jié)果分析1、顯示圓上的8個對稱點的算法如下:voidCirclePoints(intx,inty,intcolor){putpixel(x,y,color);putpixel(y,x,color);putpixel(-x,y,color);putpixel(y,-x,color);putpixel(x,-y,color);putpixel(-y,x,color);putpixel(-x,-y,color);putpixel(-y,-x,color);}若已知圓弧上一點(x,y),可以得到其關(guān)于4條對稱軸的其他七個點,因此要掃描轉(zhuǎn)換1/8圓弧就可以求出表示整個圓弧的像素集。2、圓的Bresenham算法:分析出來點(x,y),(x,-y),(-x,y),(-x,-y),(y,x),(y,-x),(-y,x),(-y,-x)的另外7個點。關(guān)于中心畫圓算法,通過計算x=0到x=y的1/8圓的范圍,然后通過對稱原理得到其他7/8個點的信息。這里和Bresenham算法有很多相似之處,同樣有一個決定下一個位置的關(guān)鍵值d來做權(quán)衡處理。在中點畫圓算法中,通過平移的方法將假設(shè)圓心在坐標(biāo)原點,然后計算,最后再平移到真實原心位置。3、在Bresenham算法中,只需做加法和乘4的乘法,因此遠(yuǎn)的Bresenham算法運行速度很快,適宜在硬件上實現(xiàn)。4、t的值不同,所畫圓的圓滑程度不同,圓心位置可隨坐標(biāo)改變。5、兩種算法生成一點所需的計算量比較每種循環(huán)中各種運算次數(shù)總和畫一個八分或四分圓的總運算次數(shù)畫每一點所需要的平均運算次數(shù)比較加法移位Bresenham法2(d<0)215(R-R/)6+(1)5=RR2(d>=0)316中點算法2(d<0)215(R-R/)7+(1)5=2R-3R/5(2R-3R/)/(R/)4.82(d>=0)327通過實際的程序運行進行比較,結(jié)論是中點畫圓法速度比較快,就算法本身而言,該算法仍可以在某些方面進行改進,如其中的浮點運算改為整數(shù)運算等,執(zhí)行速度將更快。生成直線和圓這類基礎(chǔ)算法在編程時要被無數(shù)次的調(diào)用,可能每
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- JJF 2187-2025半徑樣板校準(zhǔn)規(guī)范
- 2025至2030年中國丸鐵輸送機數(shù)據(jù)監(jiān)測研究報告
- 統(tǒng)編版三年級語文下冊第八單元達(dá)標(biāo)測試卷(含答案)
- 2025年《義務(wù)教育小學(xué)體育課程標(biāo)準(zhǔn)測試卷2022版》測試題庫及答案
- 2025年軍隊文職人員招聘之軍隊文職管理學(xué)題庫附答案(典型題)
- 2019-2025年消防設(shè)施操作員之消防設(shè)備中級技能過關(guān)檢測試卷A卷附答案
- 2024年遼寧省中考道德與法治試卷(含答案)
- 高等教育自學(xué)考試《00102世界市場行情》模擬試卷一
- 2024年廣東省公務(wù)員《申論(縣鎮(zhèn)級)》試題真題及答案
- 2025年法制宣傳日普法知識競賽題庫及答案(三)
- 詢價投標(biāo)文件(范本)
- 機械裝配工藝作業(yè)指導(dǎo)書
- 醫(yī)學(xué)專家談靈芝孢子粉課件
- 【講座課件】中小學(xué)教師課題研究指南及管理策略原
- 2023年06月上海市浦東新區(qū)臨港新片區(qū)文員招考聘用筆試題庫含答案解析
- 全部編版三年級語文下冊生字讀音、音序、偏旁及組詞
- 認(rèn)識DS3自動安平水準(zhǔn)儀
- 某大酒店弱電智能化系統(tǒng)清單報價
- 醫(yī)院傳染病登記簿
- GB/T 30490-2014天然氣自動取樣方法
- GB/T 17313-2009袋成型-充填-封口機通用技術(shù)條件
評論
0/150
提交評論