版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.信息與計(jì)算科學(xué)專業(yè)基礎(chǔ)課-10 -ComputerGraphicsJ/Report Of course experiment課程實(shí)計(jì)算機(jī)圖形學(xué)驗(yàn)報(bào)告實(shí)驗(yàn)題目_班級(jí)姓名學(xué)號(hào)指導(dǎo)教師日期西安理工大學(xué)理學(xué)院應(yīng)用數(shù)學(xué)系二零一二年春季學(xué)期實(shí)驗(yàn)1利用C語言圖形函數(shù)繪圖實(shí)驗(yàn)說明試驗(yàn)?zāi)康模赫莆誘urboC語言圖形函數(shù)的使用和學(xué)會(huì)繪制一般圖形。試驗(yàn)地點(diǎn):教九樓401數(shù)學(xué)系機(jī)房實(shí)驗(yàn)要求(Direction):1.每個(gè)學(xué)生單獨(dú)完成;2.開發(fā)語言為TurboC或C+,也可使用其它語言;3.請?jiān)谧约旱膶?shí)驗(yàn)報(bào)告上寫明姓名、學(xué)號(hào)、班級(jí);4.每次交的實(shí)驗(yàn)報(bào)告內(nèi)容包
2、括:題目、試驗(yàn)?zāi)康暮鸵饬x、程序制作步驟、主程序、運(yùn)行結(jié)果圖以及參考文件;5.自己保留一份可執(zhí)行程序,考試前統(tǒng)一檢查和上交。實(shí)驗(yàn)內(nèi)容實(shí)驗(yàn)題一1.1 實(shí)驗(yàn)題目用如下圖1所示,圖中最大正n邊形的外接圓半徑為R,旋轉(zhuǎn)該正n邊形,每次旋轉(zhuǎn)角度,旋轉(zhuǎn)后的的n邊形頂點(diǎn)落在前一個(gè)正六邊形的邊上,共旋轉(zhuǎn)N次,請上機(jī)編程繪制N+1個(gè)外接圓半徑逐漸縮小且旋轉(zhuǎn)的正n邊形。要求:(1)n、R、N、要求可以人為自由控制輸入;(2)N+1個(gè)正六邊形的中心(即外接圓的圓心)在顯示屏幕中心。1.2 實(shí)驗(yàn)?zāi)康暮鸵饬x1 .了解如何利用C語言和圖形函數(shù)進(jìn)行繪圖;2 .熟悉并掌握C語言的圖形模式控制函數(shù),圖形屏幕操作函數(shù),以及基本圖形
3、函數(shù);3 .通過對TurboC進(jìn)行圖形程序設(shè)計(jì)的基本方法的學(xué)習(xí),能繪制出簡單的圖形;4 .通過繪制N+1個(gè)正n邊形,了解圖形系統(tǒng)初始化、圖形系統(tǒng)關(guān)閉和圖形模式的控制,并熟練運(yùn)用圖形坐標(biāo)的設(shè)置,包括定點(diǎn)、讀取光標(biāo)、讀取x和y軸的最大值以及圖形顏色的設(shè)置。1.3程序制作步驟(包括算法思想、算法流程圖等)算法思想:1 .自動(dòng)搜索顯示器類型和顯示模式,初始化圖形系統(tǒng),通過printf、scanf語句控制半徑r、邊數(shù)n、多邊形的個(gè)數(shù)k、邊的每次旋轉(zhuǎn)角度d,的自由輸入;2 .給定一內(nèi)接圓半徑r,由圓內(nèi)接多邊形的算法公式:xi=r*cos(i+1)*2.0*pi/n)+320.0yi=240.0-r*sin
4、(2.0*pi/n*(i+1)確定出多邊形N的各個(gè)頂點(diǎn)坐標(biāo),然后利用劃線函數(shù)line。,連接相鄰兩點(diǎn),即形成一個(gè)正多邊形。3.根據(jù)邊與角的關(guān)系,以及線段至比分點(diǎn)公式,可知旋轉(zhuǎn)后的多邊形的各個(gè)頂點(diǎn)的坐標(biāo)。公式如下:xi=(xi+xi+1/(k+1)yi=(yi+yi+1/(k+1)k=360/(n*d)(n為多邊形的邊數(shù)、d為多邊形旋轉(zhuǎn)的度數(shù))然后與第二步相同,利用劃線函數(shù)line(),連接形成又一個(gè)旋轉(zhuǎn)過的正多邊形,這樣就形成了所要繪制的圖形;1.1 閉圖形系統(tǒng)。1.4 主程序程序代碼:/*-一一多邊形的逐次旅轉(zhuǎn)*/#includestdio.h#includeconio.h#includem
5、ath.h#includegraphics.h#includestdlib.h#includetime.hvoidmain()intgraphdriver=DETECT,graphmode;/*自動(dòng)搜索顯示器類型和顯示模式吆intr;inti,j,n,k,d;floatx,y,q;inta100,b100;charstr180,str280;printf(請輸入正接圓的半徑r:n);scanf(%d,&r);printf(請輸入多邊形的邊數(shù)n:n);scanf(%d,&n);printf(”請輸入多功一形的個(gè)數(shù)k:n);scanf(%d,&k);printf(”請輸入每次的旋轉(zhuǎn)角度d:n);s
6、canf(%d,&d);initgraph(&graphdriver,&graphmode,D:TC);/*初始化圖形系統(tǒng)*/printf(nt注意:maxx=%d,maxy=%dn,getmaxx(),getmaxy();printf(ntr=%d,n=%d,k=%d,d=%d,r,n,k,d);x=(getmaxx()+1)/2.0;y=(getmaxy()+1)/2.0;q=360/n;/*角增量*/q=q*3.1415926/180;/*將角增量化為弧摩*/for(i=1;i=n;i+)/*計(jì)算初始正n角形頂點(diǎn)坐標(biāo)*/-4ai=(int)(int)x+r*cos(i-1)*q);bi=
7、(int)(int)y-r*sin(i-1)*q);an+1=a1;bn+1=b1;/*閉合正n角形,以便連續(xù)畫線*/*畫k個(gè)正多角形*/for(i=1;i=k;i+)-Lfor(j=1;j=n;j+)/*畫一個(gè)正多角形*/line(aU,bj,aU+1,bU+1);for(j=1;j=n;j+)/*計(jì)算下一個(gè)正多邊形頂點(diǎn)坐標(biāo)*/aj=(int)(aj+(aj+1-aj)/d);bj=(int)(bj+(bj+1-bj)/d);an+1=a1;bn+1=b1;getch();closegraph();1.5 運(yùn)行結(jié)果圖實(shí)驗(yàn)題二2.1 實(shí)驗(yàn)題目請繪制一個(gè)圖:屏幕中央有一個(gè)半徑為R1=160的大圓
8、和一個(gè)同心的且半徑為R2=120的小圓,同時(shí)在大圓和小圓中間均勻分布著12個(gè)與大圓和小圓相切的圓。如下圖2所示:要求:(1)分別用12種不同的顏色和填充模式填充12個(gè)小圓;(2)用自定義模式填充中間小圓,且用漫延填充方法填充;(3)用自定義模式填充中間小圓時(shí),填充模式圖案自己設(shè)計(jì)。例如,用字母A、字母B、字母C填充圖案可設(shè)計(jì)為:2.2 實(shí)驗(yàn)?zāi)康暮鸵饬x1 .學(xué)會(huì)運(yùn)用畫圓函數(shù)circle。,圖形填充函數(shù)包括:sefillstyle()、setfillpattern()以及flood削()來填充圓;2 .學(xué)會(huì)用自定義模式填充指定圓,并且用漫延填充方法填充;3 .學(xué)會(huì)用自定義圖案來填充指定圓。4 .3
9、程序制作步驟(包括算法思想、算法流程圖等)算法思想:1 .輸入所要求環(huán)繞的小圓的個(gè)數(shù)n,設(shè)置畫筆顏色,利用circle。畫半徑為160的大圓,然后畫半徑為120的小圓并按照輸入的模式m選擇相應(yīng)的填充模式。2 .利用圓內(nèi)接多邊形的算法,算出環(huán)繞小圓的各個(gè)圓心坐標(biāo),公式如下:xi=r*cos(i+1)*2.0*pi/c)+200.0yi=200.0-r*sin(i+1)*2.0*pi/n)以20為半徑畫環(huán)繞的n個(gè)小圓,并用不同的顏色填充。2.4主程序#includestdio.h#includeconio.h#includemath.h#includegraphics.h#definepi3.#d
10、efineMAX50voidmain()intgraphdriver=DETECT,graphmode;/*自動(dòng)搜索顯示器類型和顯示模式*/doublexMAX,yMAX;inti.jnm;doubler,theta;doublesin(double),cos(double);charp18=(char)0x00,(char)0x3c,(char)0x20,(char)0x20,(char)0x38,(char)0x20,(char)0x20,(char)0x20;r=160.0;printf(pleaseinputthenumbleofN=);scanf(%d,&n);initgraph(&
11、graphdriver,&graphmode,D:TC);/*初始化圖形系統(tǒng)*/theta=2.0*pi/n;setcolor(3);circle(200,200,200);setcolor(6);sefillstyle(12,0);sef川pattern(p1,9);circle(200,200,120);floodfill(200,200,6);while(!kbhit()-Lfor(j=2;j=n;j+)for(i=0;i0;i,j)sefillstyle(EMPTYFILL,0);pieslice(387+j,290,start,end,37);pieslice(525+j,290,start,end,37);start+=40;end+=40;delay(5);處干運(yùn)動(dòng)狀態(tài)的自行車車輪的軸線的繪制putimage(i-1,200,w,COPY_PUT);line(2,327,562,327);delay(10);/自行車行駛動(dòng)畫的實(shí)現(xiàn)for(i=0;i10;i+)pieslice(37,290,start,end,37);pieslice(175,290,start,end,37);start+=40;end+=40;/處于靜止?fàn)顟B(tài)的自行車車輪的軸線的繪制getch();restorecrtm
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年特種貴重物品搬運(yùn)協(xié)議細(xì)則
- 2024年版房屋拆遷補(bǔ)償合同
- 2024年版權(quán)許可使用合同協(xié)議
- 中專老師的工作計(jì)劃范文
- 文明校園活動(dòng)策劃書(匯編15篇)
- 入職自我介紹集錦15篇
- 無源探測技術(shù)課程設(shè)計(jì)
- 植樹節(jié)活動(dòng)總結(jié)15篇
- 收銀員的辭職報(bào)告范文集合10篇
- 小學(xué)數(shù)學(xué)骨干教師工作計(jì)劃
- 醫(yī)院藥房年終工作總結(jié)
- 整體爬升鋼平臺(tái)模板工程技術(shù)規(guī)程
- 發(fā)動(dòng)機(jī)無法啟動(dòng)的故障診斷
- 醫(yī)療機(jī)構(gòu)醫(yī)院臨床微生物學(xué)檢驗(yàn)標(biāo)本的采集和轉(zhuǎn)運(yùn)指南
- 國開電大《員工招聘與配置》形考冊第一次形考答案
- ODM合作方案教學(xué)課件
- 醫(yī)藥公司知識(shí)產(chǎn)權(quán)
- GB/T 1196-2023重熔用鋁錠
- Revit軟件學(xué)習(xí)實(shí)習(xí)報(bào)告
- 2024版國開電大本科《行政領(lǐng)導(dǎo)學(xué)》在線形考(形考任務(wù)一至四)試題及答案
- 風(fēng)電教育培訓(xùn)體系建設(shè)
評論
0/150
提交評論