网站大量收购独家精品文档,联系QQ:2885784924

牛头刨床C语言模拟.doc

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
牛头刨床C语言模拟

图:牛头刨床各点标号 思路:【采用擦-画-擦方法绘制动画】 把各个坐标值表示成θ、L1、L2、A的函数,然后有序连接各坐标点绘成一幅画,暂停一定时间后将原先画的图画擦除,同时使变量θ变化一个增量,然后再画一幅新的图画,如此循环,便构成一部动画,通过动画可以明显地看到牛头刨床的运动特性。 #includestdio.h #includegraphics.h #includemath.h #define PI 3.1415926 #define X 300 /*相对坐标原点X,Y*/ #define Y 300 main() { double l1,l2,l3,a,k,h,t; int drive=DETECT,gmode; int m; double i,j; /*i为a杆的转角θ,j为连杆的转角φ*/ struct ss {double x,y;}; struct qq {int x,y;}; struct ss aa[42]; /*定义42个计算坐标点*/ struct qq bb[42]; /*定义42个绘图坐标点*/ printf(please input the length of l1,l2,a\n\nJust like 100,80,30\n); scanf(%lf,%lf,%lf,l1,l2,a); /* 输入杆长及位置尺寸*/ k=a/5.0;h=10;t=10; initgraph(drive,gmode,c:\\tc); /*初始化图形界面*/ setbkcolor(11); /*背景色为淡蓝色*/ for(i=0;;i+=PI/400) /*每次旋转PI/400画一幅图*/ { l3=sqrt(a*a+l2*l2-2*a*l2*cos(i)); j=acos((l2*l2+l3*l3-a*a)/(2*l2*l3)); if(i=2*PI) /*对转角进行处理*/ {i-=2*PI;} else if(i=PI) {j=0-j;} aa[0].x=aa[0].y=0; /*计算各点的坐标值*/ aa[8].x=0; aa[8].y=l2; aa[14].x=a*sin(i); aa[14].y=l2-a*cos(i); aa[6].x=(l1+l2)*tan(j); aa[6].y=l1+l2; aa[13].x=k*cos(j)-k*sin(-j)+aa[14].x; aa[13].y=k*sin(-j)+k*cos(j)+aa[14].y; aa[12].x=-k*cos(j)-k*sin(-j)+aa[14].x;aa[12].y=-k*sin(-j)+k*cos(j)+aa[14].y; aa[15].x=-k*cos(j)+k*sin(-j)+aa[14].x;aa[15].y=-k*sin(-j)-k*cos(j)+aa[14].y; aa[16].x=k*cos(j)+k*sin(-j)+aa[14].x;aa[16].y=k*sin(-j)-k*cos(j)+aa[14].y; aa[27].x=-(l1-a-k)*sin(j)+aa[6].x; aa[27].y=-(l1-a-k)*cos(j)+aa[6].y; aa[9].x=-(l1-a-2*k)*sin(j)+aa[6].x;aa[9].y=-(l1-a-2*k)*cos(j)+aa[6].y; aa[11].x=k*cos(j)+aa[27].x;aa[11].y=-k*sin(j)+aa[27].y; aa[10].x=-k*cos(j)+aa[27].x;aa[10].y=k*sin(j)+aa[27].y; aa[29].x=-(l1+l2-k)*sin(j)+aa[6].x;aa[29].y=-(l1+l2-k)*cos(j)+aa[6].y; aa[20].x=-(l1+l2-2*k)*sin(j)+aa[6].x;aa[20].y=-(l1+l2-2*k)*cos(j)+aa[6].y; aa[21].x=-k*cos(j)+aa[29].x;aa[21].y=k*sin(j)+aa[29].y; aa[22].x=k

文档评论(0)

jgx3536 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档