版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、CADCA牌程設(shè)計圖形變換程序設(shè)計實驗一實驗要求:用任一種高級語言編寫出34種常用的二維、三維圖形基本變換程序。要求在報告中寫出具體的調(diào)試過程,并附上源程序。實驗說明:本實驗用C語言進(jìn)行編程。程序功能說明:本程序為一個綜合型程序:能實現(xiàn)二維和三維的圖形的各種變換。例如,可以進(jìn)行二維(或三維)圖形的比例,平移,對稱,旋轉(zhuǎn),錯切五種變換。程序預(yù)設(shè)圖形頂點個數(shù)最多不超過50個,如果需要擴(kuò)大頂點數(shù)目,直接在程序開頭的N值進(jìn)行賦值。在進(jìn)行旋轉(zhuǎn)變換時,預(yù)設(shè)圓周率為M值,如果需修改時,直接對程序開頭的M值進(jìn)行修改。程序功能的原理是通過變換基本矩陣,實現(xiàn)對頂點不同的變換,從而實現(xiàn)對圖形的變換。調(diào)試說明:1:
2、首先把源程序家加載到VisualC+6.0中。然后進(jìn)行編譯,組建,最后執(zhí)行。2: 按照執(zhí)行過程中的提示一步一步進(jìn)行操作,最后輸出結(jié)果。具體步驟:1: 輸入圖形是幾維圖形。(二維或三維)2: 輸入頂點個數(shù)(小于50),然后輸入各點坐標(biāo),注意輸完一個坐標(biāo)后回車后輸入下一個坐標(biāo)。3:輸入變換類型,根據(jù)提示輸入代表類型的數(shù)字。接下來輸入相關(guān)變換所需要的參數(shù)。4:待各個參數(shù)輸入完畢后,回車后得到結(jié)果。程序?qū)嵗簩σ粋€三維的六方體圖形進(jìn)行繞x軸旋轉(zhuǎn)45度變換。具體操作:(1)輸入維數(shù)為3;(2)輸入頂點數(shù)為6;(3)輸入各個坐標(biāo):(0,0,0),(0,1,0),(1,0,0),(0,0,1),(0,1,1
3、)(1,1,1)(4)輸入變換模式:此例是旋轉(zhuǎn),輸入5;(5)輸入旋轉(zhuǎn)軸,此處輸入1;(6)輸入旋轉(zhuǎn)度數(shù):45。最后回車得到結(jié)果。運算結(jié)果如下圖:源程序如下:#include<stdio.h>#include<math.h>#defineN50#defineM3.14159265voiderwei();voidsanwei();voidmain()intw;printf("請輸入是幾維圖形變換:二維或三維(3):");scanf("%d",&w);if(w=2)erwei();elseif(w=3)sanwei();voi
4、derwei()floata33=1,0,0,0,1,0,0,0,1;intii,k,h;floatbN2;printf("請輸入圖形定點個數(shù):");scanf("%d",&k);printf("請輸入頂點坐標(biāo):n");for(ii=0;ii<k;ii+)scanf("%f,%f",&bii0,&bii1);printf("請輸入變換模式:比例(1),對稱(2),錯切(3),平移(4),旋轉(zhuǎn)(5):");scanf("%d",&h);if
5、(h=1)intm,n;printf("請輸入比例因子(x,y):");scanf("%d,%d",&m,&n);a00=m;a11=n;elseif(h=2)intch;printf("請輸入對稱軸:x(1)或y(2):");scanf("%d",&ch);if(ch=1)a11=-1;if(ch=2)a00=-1;elseif(h=3)intr;floatf;printf("請輸入錯切軸x(1)或y(2)和錯切因子a(b):");scanf("%d,%f&q
6、uot;,&r,&f);if(r=1)a10=f;if(r=2)a01=f;elseif(h=4)floati,j;printf("請輸入平移坐標(biāo)(x,y):");scanf("%f,%f",&i,&j);a20=i;a21=j;elseif(h=5)floatg;printf("請輸入旋轉(zhuǎn)角度(度):");scanf("%f",&g);g=M*g/180;a00=cos(g);a01=sin(g);a10=-sin(g);a11=cos(g);printf("經(jīng)過
7、變換后的坐標(biāo)為:n");for(ii=0;ii<k;ii+)printf("%.2f,%.2fn",bii0*a00+bii1*a10+a20,bii0*a01+bii1*a11+a21);voidsanwei()floata44=1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1;floatcN3,x1,y1,z1;inth,q,jj;printf("請輸入三維圖形的頂點個數(shù):");scanf("%d",&q);printf("請輸入頂點坐標(biāo):n");for(jj=0;jj&l
8、t;q;jj+)scanf("%f,%f,%f",&cjj0,&cjj1,&cjj2);printf("請輸入變換模式:比例(1),對稱(2),錯切(3),平移(4),旋轉(zhuǎn)(5):);scanf("%d",&h);if(h=1)intl,m,n;printf("請輸入比例因子(x,y,z):");scanf("%d,%d,%d",&l,&m,&n);a00=l;a11=m;a22=n;elseif(h=2)intch;printf("請輸入
9、對稱面:xy(1),yz(2),zx(3):");scanf("%d",&ch);if(ch=1)a22=-1;if(ch=2)a00=-1;if(ch=3)a11=-1;elseif(h=3)intstr;floato,p;printf("請輸入錯切面:xy(1),yz(2),zx(3):");scanf("%d",&str);printf("請輸入錯切因子(a,b):");scanf("%f,%f",&o,&p);if(str=1)a10=o;a20
10、=p;a01=o;a21=p;if(str=2)a01=o;a21=p;a02=o;a12=p;if(str=3)a10=o;a20=p;a02=o;a12=p;elseif(h=4)floatr,s,t;printf("請輸入平移坐標(biāo)(x,y,z):");scanf("%f,%f,%f",&r,&s,&t);a30=r;a31=s;a32=t;elseif(h=5)inte;floatdu;printf("請輸入旋轉(zhuǎn)軸,x軸(1),y軸(2),z軸(3):");scanf("%d",&e);printf("請輸入旋轉(zhuǎn)角度(度):");scanf("%f",&du);du=M*du/180;if(e=1)a11=cos(du);a21=-sin(du);a12=sin(du);a22=cos(du);if(e=2)a00=cos(du);a20=-sin(du);a02=sin(du);a22=cos(du);if(e=3)a00=cos(du);a10=-sin(du);a01=sin(du);a11=cos(du);printf("經(jīng)變換后坐標(biāo)為:n&quo
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Ch123均值方差偏好下的投資組合選擇
- 如何技術(shù)上配置對接Teams Direct Routing
- 陜西省咸陽市2024-2025學(xué)年八年級上學(xué)期期中歷史試題(無答案)
- 河南省新鄉(xiāng)市名校2024-2025學(xué)年七年級上學(xué)期11月期中歷史試題
- 2024社戲教案設(shè)計
- 職場軟技能的重要性計劃
- 醫(yī)療安全整改與提升計劃
- 軍隊文職人員招聘《醫(yī)學(xué)類基礎(chǔ)綜合》模擬試卷二
- 開展興趣小組活動的優(yōu)勢計劃
- 版權(quán)保護(hù)委托合同三篇
- 公務(wù)員2018年國考《申論》真題卷及答案(副省級)
- 2024年基金從業(yè)資格證(含三個科目)考前必刷必練題庫500題(含真題、必會題)
- 醫(yī)學(xué)教材 超聲引導(dǎo)下肩關(guān)節(jié)液壓擴(kuò)張聯(lián)合針刀治療肩周炎的臨床應(yīng)用
- 路燈改造施工方案
- 民用無人機(jī)操控員執(zhí)照(CAAC)考試復(fù)習(xí)重點題庫500題(含答案)
- 五四運動 說課課件 2024-2025學(xué)年統(tǒng)編版八年級歷史上冊
- 寵物棄養(yǎng)合同協(xié)議書
- 2024年統(tǒng)編版新教材語文小學(xué)一年級上冊全冊單元測試題及答案(共8單元)
- 2024年北師大版七年級上冊數(shù)學(xué)期中綜合檢測試卷及答案
- 科室手衛(wèi)生分析
- 籌備期間勞動合同的制定與實施
評論
0/150
提交評論