下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.C语言动画程序#include #include #include #include #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 a4m ,double a4f,double a5m , double a5f); char inbox(int x,int
2、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*a1,yc1=yo1; double i,j,k; double l1; double n=116.1,nt; initscr
3、een(); 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,0,640,60); do if(inbox(10,10,70,26)&button()=1) mousehide(); mybutton(10,10,BEGIN,0,0)
4、; 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,0); mouseshow(); mousehold(); mousehide(); mybutton(500,10,EXIT,1,7); mouseshow(); exit(0); if(buf()=56) for(i=0;i10000;i+) switch (buf() ca
5、se 18: mousehide(); mybutton(500,10,EXIT,0,0); mouseshow(); delay(4000); mousehide(); mybutton(500,10,EXIT,1,7); mouseshow(); 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); ru
6、n: drawjijia(xo,yo,1); drawjijia(xc,yc,1); drawjijia(xo1,yo1,1); drawjijia(xc1,yc1,1); setwritemode(1); do for(i=0;i360.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=c
7、a5fm2(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); 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,LIGHTGR
8、AY); drawline1(xo1,yo1,a2,t2,m,LIGHTGRAY); drawline1(xo1+m*a2*cos(180-t2)*pi/180),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;j20;j+) drawline(xc+m*a7*cos(t7*pi/180),(yc-m*a7*sin(t7*pi/180)-j*n*sin(nt*pi/180),n
9、,nt,1.0,GREEN); drawline1(xc1-m*a7*cos(t7*pi/180),(yc1-m*a7*sin(t7*pi/180)-j*n*sin(nt*pi/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,LI
10、GHTGRAY); drawline1(xo1,yo1,a2,t2,m,LIGHTGRAY); drawline1(xo1+m*a2*cos(180-t2)*pi/180),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;j20;j+) drawline(xc+m*a7*cos(t7*pi/180),(yc-m*a7*sin(t7*pi/180)-j*n*sin(nt*pi/1
11、80),n,nt,1.0,GREEN); drawline1(xc1-m*a7*cos(t7*pi/180),(yc1-m*a7*sin(t7*pi/180)-j*n*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);
12、if(buf()=56) for(k=0;k 0 & cosine 0) temp = atan(sine / cosine) * 180 / pi; if (sine 0 & cosine 0) temp = (atan(sine / cosine) + pi) * 180 / pi; if (sine 0 & cosine 0) temp = (atan(sine / cosine) + pi) * 180 / pi; if (sine 0) temp = (atan(sine / cosine) + 2 * pi) * 180 / pi; return(temp); double ca5
13、fm2(double a6m,double a5m,double a4m,double a4f,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
14、0 & cosine1 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) temp = a4f + (atan(sine1 / cosine1) + 2 * pi) * 180 / pi); return(temp); double ca6fm2(double a4m ,double a4f,double a5m , double a5f) do
15、uble temp,sine1,cosine1; sine1 = a4m * sin(a4f * pi / 180) + a5m * sin(a5f * pi / 180); cosine1 = a4m * cos(a4f * pi / 180) + a5m * cos(a5f * pi / 180); if (sine1 0 & cosine1 0) temp = (atan(sine1 / cosine1) * 180 / pi); if (sine1 0 & cosine1 0) temp = (atan(sine1 / cosine1) + pi) * 180 / pi); if (si
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二四年度环保技术研发与推广合作合同3篇
- 二零二四年度建筑项目保险合同:保险范围、费用、权益等
- 2024年度互联网技术与开发合同
- 2024地产项目施工承包合同
- 二零二四年度建筑工程临时雇工合同协议书3篇
- 2024年新型环保冷库制冷设备采购协议版B版
- 2024年大数据中心建设合同
- 2024年企业订餐服务协议范本版B版
- 2024 年标准季度租赁合同书一
- 2024小学操场施工售后服务合同
- 数据迁移服务行业发展趋势预测及战略布局建议报告
- 干部教育培训工作条例
- 社区工作者2024年终工作总结
- 合作开设服装店协议书
- 《莫扎特传》电影赏析
- GB/T 14227-2024城市轨道交通车站站台声学要求和测量方法
- 综合布线技术设计题单选题100道及答案
- 展览会安保工作计划与安排
- 2024年2个居间人内部合作协议书模板
- 危急值的考试题及答案
- 部编版小学道德与法治10我们所了解的环境污染-第二课时课件
评论
0/150
提交评论