




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.信息與計算科學(xué)專業(yè)基礎(chǔ)課-10 -ComputerGraphicsJ/Report Of course experiment課程實計算機圖形學(xué)驗報告實驗題目_班級姓名學(xué)號指導(dǎo)教師日期西安理工大學(xué)理學(xué)院應(yīng)用數(shù)學(xué)系二零一二年春季學(xué)期實驗1利用C語言圖形函數(shù)繪圖實驗說明試驗?zāi)康模赫莆誘urboC語言圖形函數(shù)的使用和學(xué)會繪制一般圖形。試驗地點:教九樓401數(shù)學(xué)系機房實驗要求(Direction):1.每個學(xué)生單獨完成;2.開發(fā)語言為TurboC或C+,也可使用其它語言;3.請在自己的實驗報告上寫明姓名、學(xué)號、班級;4.每次交的實驗報告內(nèi)容包
2、括:題目、試驗?zāi)康暮鸵饬x、程序制作步驟、主程序、運行結(jié)果圖以及參考文件;5.自己保留一份可執(zhí)行程序,考試前統(tǒng)一檢查和上交。實驗內(nèi)容實驗題一1.1 實驗題目用如下圖1所示,圖中最大正n邊形的外接圓半徑為R,旋轉(zhuǎn)該正n邊形,每次旋轉(zhuǎn)角度,旋轉(zhuǎn)后的的n邊形頂點落在前一個正六邊形的邊上,共旋轉(zhuǎn)N次,請上機編程繪制N+1個外接圓半徑逐漸縮小且旋轉(zhuǎn)的正n邊形。要求:(1)n、R、N、要求可以人為自由控制輸入;(2)N+1個正六邊形的中心(即外接圓的圓心)在顯示屏幕中心。1.2 實驗?zāi)康暮鸵饬x1 .了解如何利用C語言和圖形函數(shù)進行繪圖;2 .熟悉并掌握C語言的圖形模式控制函數(shù),圖形屏幕操作函數(shù),以及基本圖形
3、函數(shù);3 .通過對TurboC進行圖形程序設(shè)計的基本方法的學(xué)習(xí),能繪制出簡單的圖形;4 .通過繪制N+1個正n邊形,了解圖形系統(tǒng)初始化、圖形系統(tǒng)關(guān)閉和圖形模式的控制,并熟練運用圖形坐標(biāo)的設(shè)置,包括定點、讀取光標(biāo)、讀取x和y軸的最大值以及圖形顏色的設(shè)置。1.3程序制作步驟(包括算法思想、算法流程圖等)算法思想:1 .自動搜索顯示器類型和顯示模式,初始化圖形系統(tǒng),通過printf、scanf語句控制半徑r、邊數(shù)n、多邊形的個數(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的各個頂點坐標(biāo),然后利用劃線函數(shù)line。,連接相鄰兩點,即形成一個正多邊形。3.根據(jù)邊與角的關(guān)系,以及線段至比分點公式,可知旋轉(zhuǎ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(),連接形成又一個旋轉(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;/*自動搜索顯示器類型和顯示模式吆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(”請輸入多功一形的個數(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+)/*計算初始正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個正多角形*/for(i=1;i=k;i+)-Lfor(j=1;j=n;j+)/*畫一個正多角形*/line(aU,bj,aU+1,bU+1);for(j=1;j=n;j+)/*計算下一個正多邊形頂點坐標(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 運行結(jié)果圖實驗題二2.1 實驗題目請繪制一個圖:屏幕中央有一個半徑為R1=160的大圓
8、和一個同心的且半徑為R2=120的小圓,同時在大圓和小圓中間均勻分布著12個與大圓和小圓相切的圓。如下圖2所示:要求:(1)分別用12種不同的顏色和填充模式填充12個小圓;(2)用自定義模式填充中間小圓,且用漫延填充方法填充;(3)用自定義模式填充中間小圓時,填充模式圖案自己設(shè)計。例如,用字母A、字母B、字母C填充圖案可設(shè)計為:2.2 實驗?zāi)康暮鸵饬x1 .學(xué)會運用畫圓函數(shù)circle。,圖形填充函數(shù)包括:sefillstyle()、setfillpattern()以及flood削()來填充圓;2 .學(xué)會用自定義模式填充指定圓,并且用漫延填充方法填充;3 .學(xué)會用自定義圖案來填充指定圓。4 .3
9、程序制作步驟(包括算法思想、算法流程圖等)算法思想:1 .輸入所要求環(huán)繞的小圓的個數(shù)n,設(shè)置畫筆顏色,利用circle。畫半徑為160的大圓,然后畫半徑為120的小圓并按照輸入的模式m選擇相應(yīng)的填充模式。2 .利用圓內(nèi)接多邊形的算法,算出環(huán)繞小圓的各個圓心坐標(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個小圓,并用不同的顏色填充。2.4主程序#includestdio.h#includeconio.h#includemath.h#includegraphics.h#definepi3.#d
10、efineMAX50voidmain()intgraphdriver=DETECT,graphmode;/*自動搜索顯示器類型和顯示模式*/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);處干運動狀態(tài)的自行車車輪的軸線的繪制putimage(i-1,200,w,COPY_PUT);line(2,327,562,327);delay(10);/自行車行駛動畫的實現(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年放射科護士長述職報告范文
- 一年級年級組長新學(xué)期工作計劃
- 地鐵站周邊景觀成品保護措施
- 外研社版英語三起五年級上冊教學(xué)提升計劃
- 幼兒園小班心理健康計劃他
- 監(jiān)事會職責(zé)培訓(xùn)與能力提升
- 電子制造勞動力和材料投入計劃及其保證措施
- 三年級語文教材使用提升計劃
- 印刷廠安全生產(chǎn)教育培訓(xùn)計劃
- 幕墻施工協(xié)調(diào)與溝通管理措施
- 2024-2025年小學(xué)新教材《體育與健康》培訓(xùn)教師心得體會
- 廣東省廣州市五校2023-2024學(xué)年高一下學(xué)期期末聯(lián)考化學(xué)試卷
- 2024-2025學(xué)年成都市教科院附屬學(xué)校重點中學(xué)初三下學(xué)期教學(xué)質(zhì)量檢測試題英語試題含答案
- 豬肉聯(lián)營合作協(xié)議范本(2024版)
- 企業(yè)內(nèi)刊策劃
- 智能化設(shè)備技術(shù)規(guī)格書范本
- 電子商務(wù)數(shù)據(jù)分析題庫與參考答案
- 2024年危險化學(xué)品經(jīng)營單位安全管理人員考試練習(xí)題(附答案)
- 期末考試-公共財政概論-章節(jié)習(xí)題
- 幼兒園體能大循環(huán)培訓(xùn)
- (正式版)JBT 3300-2024 平衡重式叉車 整機試驗方法
評論
0/150
提交評論