




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言動畫程序#include <math.h> #include <stdio.h> #include <graphics.h> #include <dos.h> #define pi 3.1415926535 double ca3mm1(double m1,double m2); double ca3fm1(double cosine,double sine); double ca5fm2(double a6m,double a5m,double a4m,double a4f,int shang); double ca6fm2(double
2、a4m ,double a4f,double a5m , double a5f); char inbox(int x,int y,int x1,int y1); char buf(); main() double m=3.0; double xo=100.0,yo=200.0,a1=30.0,t1=pi; double xc=xo+m*a1,yc=yo; double a2=8.0,a3,a4=25.0,a5=30.0,a6=20.0,a7=35.0; double t2,t3,t4,t5,t6,t7; double xo1=xo+m*150,yo1=yo; double xc1=xo1-m*
3、a1,yc1=yo1; double i,j,k; double l1; double n=116.1,nt; initscreen(); setfillstyle(SOLID_FILL,DARKGRAY); bar(0,0,640,480); mybutton(10,10,"BEGIN",1,0); mybutton(500,10,"EXIT",1,0); line(0,69,640,69); mouseinit(); changemousecross(); setmousexy(320,20); mouseshow(); setmousearea(0
4、,0,640,60); do if(inbox(10,10,70,26)&&button()=1) mousehide(); mybutton(10,10,"BEGIN",0,0); mouseshow(); mousehold(); mousehide(); mybutton(10,10,"BEGIN",1,7); mouseshow(); break; if(inbox(500,10,555,26)&&button()=1) mousehide(); mybutton(500,10,"EXIT",0
5、,0); mouseshow(); mousehold(); mousehide(); mybutton(500,10,"EXIT",1,7); mouseshow(); exit(0); if(buf()=56) for(i=0;i<10000;i+) switch (buf() case 18: mousehide(); mybutton(500,10,"EXIT",0,0); mouseshow(); delay(4000); mousehide(); mybutton(500,10,"EXIT",1,7); mouses
6、how(); exit(0); case 48: mousehide(); mybutton(10,10,"BEGIN",0,0); mouseshow(); delay(4000); mousehide(); mybutton(10,10,"BEGIN",1,7); mouseshow(); goto run; default:break; while(1); run: drawjijia(xo,yo,1); drawjijia(xc,yc,1); drawjijia(xo1,yo1,1); drawjijia(xc1,yc1,1); setwrite
7、mode(1); do for(i=0;i<360.0;i+=1.0) t2=i; a3=ca3mm1(a1*cos(t1)+a2*cos(t2*pi/180.0),a1*sin(t1)+a2*sin(t2*pi/180.0); t3=ca3fm1(a1*cos(t1)+a2*cos(t2*pi/180.0),a1*sin(t1)+a2*sin(t2*pi/180.0); a4=a3; t4=t3; t5=ca5fm2(a6,a5,a4,t4,0); t6=ca6fm2(a4,t4,a5,t5); t7=t6-90.0; l1=xc1-xc-2*m*a7*cos(t7*pi/180);
8、nt=(asin(l1/2/(n/2)*180/pi)-90.0; drawline(xo,yo,a2,t2,m,LIGHTGRAY); drawline(xo+m*a2*cos(t2*pi/180),yo-m*a2*sin(t2*pi/180),a5,t5,m,LIGHTGRAY); drawline(xc,yc,a6,t6,m,LIGHTGRAY); drawline(xc,yc,a7,t7,m,LIGHTGRAY); drawline1(xo1,yo1,a2,t2,m,LIGHTGRAY); drawline1(xo1+m*a2*cos(180-t2)*pi/180),yo1-m*a2*
9、sin(180-t2)*pi/180),a5,t5,m,LIGHTGRAY); drawline1(xc1,yc1,a6,t6,m,LIGHTGRAY); drawline1(xc1,yc1,a7,t7,m,LIGHTGRAY); for(j=-1;j<20;j+) drawline(xc+m*a7*cos(t7*pi/180),(yc-m*a7*sin(t7*pi/180)-j*n*sin(nt*pi/180),n,nt,1.0,GREEN); drawline1(xc1-m*a7*cos(t7*pi/180),(yc1-m*a7*sin(t7*pi/180)-j*n*sin(nt*p
10、i/180),n,nt,1.0,DARKGRAY); delay(300); drawline(xo,yo,a2,t2,m,LIGHTGRAY); drawline(xo+m*a2*cos(t2*pi/180.0),yo-m*a2*sin(t2*pi/180.0),a5,t5,m,LIGHTGRAY); drawline(xc,yc,a6,t6,m,LIGHTGRAY); drawline(xc,yc,a7,t7,m,LIGHTGRAY); drawline1(xo1,yo1,a2,t2,m,LIGHTGRAY); drawline1(xo1+m*a2*cos(180-t2)*pi/180),
11、yo1-m*a2*sin(180-t2)*pi/180),a5,t5,m,LIGHTGRAY); drawline1(xc1,yc1,a6,t6,m,LIGHTGRAY); drawline1(xc1,yc1,a7,t7,m,LIGHTGRAY); for(j=-1;j<20;j+) drawline(xc+m*a7*cos(t7*pi/180),(yc-m*a7*sin(t7*pi/180)-j*n*sin(nt*pi/180),n,nt,1.0,GREEN); drawline1(xc1-m*a7*cos(t7*pi/180),(yc1-m*a7*sin(t7*pi/180)-j*n
12、*sin(nt*pi/180),n,nt,1.0,DARKGRAY); setwritemode(0); if(inbox(500,10,555,26)&&button()=1) mousehide(); mybutton(500,10,"EXIT",0,0); mouseshow(); mousehold(); mousehide(); mybutton(500,10,"EXIT",1,7); mouseshow(); exit(0); if(buf()=56) for(k=0;k<10000;k+) switch (buf()
13、case 18: mousehide(); mybutton(500,10,"EXIT",0,0); mouseshow(); delay(4000); mousehide(); mybutton(500,10,"EXIT",1,7); mouseshow(); exit(0); default:break; setwritemode(1); while(1); drawline(double xo,double yo,double mo,double fujiao,double m,int color) double x,y; x=(xo+m*mo*c
14、os(fujiao*pi/180); y=(yo-m*mo*sin(fujiao*pi/180); setcolor(color); line (xo,yo,x,y); drawline1(double xo,double yo,double mo,double fujiao,double m,int color) double x,y; x=(xo-m*mo*cos(fujiao*pi/180); y=(yo-m*mo*sin(fujiao*pi/180); setcolor(color); line (xo,yo,x,y); drawjijia(double x,double y,int
15、shang) setcolor(RED); if (shang=1) circle(x,y,3); line(x-3.0,y+3.0,x-15.0,y+20.0); moveto(x-15,(int)(y+20); lineto(int)(x+15),(int)(y+20); moveto(int)(x+15),(int)(y+20); lineto(x+3,y+3); setcolor(RED); if (shang=0) circle(int)x,(int)y,3); line (x-3,y-3,x-15,y-20); moveto(x-15,y-20); lineto(x+15,y-20
16、); moveto(x+15,y-20); lineto(x+3,y-3); double ca3mm1(double m1,double m2) double temp; temp = sqrt(m1*m1 + m2*m2); return(temp); double ca3fm1(double cosine,double sine) float temp; if (sine > 0 && cosine > 0) temp = atan(sine / cosine) * 180 / pi; if (sine > 0 && cosine <
17、; 0) temp = (atan(sine / cosine) + pi) * 180 / pi; if (sine < 0 && cosine < 0) temp = (atan(sine / cosine) + pi) * 180 / pi; if (sine < 0 && cosine > 0) temp = (atan(sine / cosine) + 2 * pi) * 180 / pi; return(temp); double ca5fm2(double a6m,double a5m,double a4m,double a
18、4f,int shang) double temp,sine1,cosine1; cosine1 = (a6m *a6m - a4m *a4m - a5m*a5m) / (2 * a4m * a5m); sine1 = sqrt(1 - cosine1 *cosine1); if (shang=0) sine1 = sine1*(-1); if (sine1 > 0 && cosine1 > 0) temp = a4f + (atan(sine1 / cosine1) * 180 / pi); if (sine1 > 0 && cosine1
19、< 0) temp = a4f + (atan(sine1 / cosine1) + pi) * 180 / pi); if (sine1 < 0 && cosine1 < 0) temp = a4f + (atan(sine1 / cosine1) + pi) * 180 / pi); if (sine1 < 0 && cosine1 > 0) temp = a4f + (atan(sine1 / cosine1) + 2 * pi) * 180 / pi); return(temp); double ca6fm2(double a4m ,double a4f,double a5m , double a5f) double
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 玻璃鋼管材的制造工藝與性能研究考核試卷
- 童車制造企業(yè)質(zhì)量控制與品質(zhì)提升策略考核試卷
- 會展智能多媒體信息發(fā)布考核試卷
- 畜牧業(yè)市場渠道拓展考核試卷
- 禮儀用品企業(yè)人力資源開發(fā)考核試卷
- 電池材料合成與性能調(diào)控考核試卷
- 電機在電力安全監(jiān)控的應(yīng)用考核試卷
- 篷布企業(yè)團隊建設(shè)考核試卷
- 四川職業(yè)技術(shù)學(xué)院《企業(yè)價值創(chuàng)造實戰(zhàn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川省成都市都江堰市2025屆初三下學(xué)期尖子生化學(xué)試題含解析
- 中國干眼臨床診療專家共識(2024年)解讀
- 2024年機動車檢測站質(zhì)量手冊程序文件記錄表格合集(根據(jù)補充要求編制)
- 基于Transformer及多任務(wù)學(xué)習(xí)的電信網(wǎng)絡(luò)詐騙識別
- 水泥桿拆除更換鐵塔施工方案
- 康復(fù)科常見病介紹
- 2025年物業(yè)管理員行業(yè)崗位職責(zé)基礎(chǔ)知識培訓(xùn)考試題庫(附含答案)
- 砂石料居間合同范例
- 體育場館消防設(shè)施施工方案
- 養(yǎng)老院老人活動方案
- 小學(xué)中暑課件教學(xué)課件
- 江西公務(wù)員面試模擬5
評論
0/150
提交評論