C语言知识学习模拟直线插补与圆弧插补程序设计_第1页
C语言知识学习模拟直线插补与圆弧插补程序设计_第2页
C语言知识学习模拟直线插补与圆弧插补程序设计_第3页
C语言知识学习模拟直线插补与圆弧插补程序设计_第4页
C语言知识学习模拟直线插补与圆弧插补程序设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

**数控技术课程设计说明书设计题目直线插补与圆弧插补程序设计机械设计以及自动化专业 机械工程学院机械102班设计者 青岛理工大学2013年6月20日**目 录设计题目………1感谢阅读2.目录……………2感谢阅读3.直线插补流程图………………3感谢阅读4.直线插补程序…………………4谢谢阅读5.程序结果………8精品文档放心下载6.圆弧插补流程图………………9精品文档放心下载7.圆弧插补程序…………………10精品文档放心下载**8.程序结果………21谢谢阅读一.直线插补1.直线插补程序流程图**开始置FM=0输入XE、YE、XOY、NXYY NFM≥0?XOR=1或4? XOR=1或2?N YY NZF=1 ZF=2 ZF=3 ZF=4FM=FM-YE FM=FM+YE调用走步控制程序NXY=NXY-1NNXY=0?Y结束2.直线插补程序设计#include"stdio.h"inti,X,Y,X0,Y0,Xe,Ye,F,N;精品文档放心下载inta[30][2];voidmain(){**intm;intmenu();voidyi();voider();voidsan();voidsi();voidte();voidshuchu();m=menu();a[0][0]=X0;a[0][1]=Y0;switch(m){case1:yi();shuchu();break;谢谢阅读case2:er();shuchu();break;感谢阅读case3:san();shuchu();break;精品文档放心下载case4:si();shuchu();break;精品文档放心下载case5:te();shuchu();break;谢谢阅读default:printf("无法插补\n");**}}intmenu(){intt;printf("输入起点坐标\n");scanf("%d,%d",&X0,&Y0);printf("输入终点坐标\n");scanf("%d,%d",&Xe,&Ye);if(Xe>=X0&&Ye>=Y0)t=1;elseif(Xe<=X0&&Ye>=Y0)t=2;elseif(Xe<=X0&&Ye<=Y0)t=3;elseif(Xe>=X0&&Ye<=Y0)t=4;elseif(Xe==X0&&((Ye>Y0&&Y0>=0)||(Ye<Y0&&Y<=0)))精品文档放心下载t=5;elset=6;return(t);**}voidyi(){F=0;N=Xe-X0+Ye-Y0;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X++;a[i][0]=X;a[i][1]=Y;F-=Ye-Y0;}else{Y++;a[i][0]=X;a[i][1]=Y;F+=Xe-X0;}}}voider()**{F=0;N=X0-Xe+Ye-Y0;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X--;a[i][0]=X;a[i][1]=Y;F-=Ye-Y0;}else{Y++;a[i][0]=X;a[i][1]=Y;F+=X0-Xe;}}}voidsan(){F=0;**N=X0-Xe+Y0-Ye;X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X--;a[i][0]=X;a[i][1]=Y;F-=Y0-Ye;}else{Y--;a[i][0]=X;a[i][1]=Y;F+=X0-Xe;}}}voidsi(){F=0;N=Xe-X0+Y0-Ye;**X=X0;Y=Y0;for(i=1;i<=N;i++){if(F>=0){X++;a[i][0]=X;a[i][1]=Y;F-=Y0-Ye;}else{Y--;a[i][0]=X;a[i][1]=Y;F+=Xe-X0;}}}voidte(){N=Ye-Y0;for(i=1;i<=N;i++){if(Ye>0){Y++;**a[i][0]=X;a[i][1]=Y;}elseif(Ye<0){Y--;a[i][0]=X;a[i][1]=Y;}}}voidshuchu(){for(i=0;i<=N;i++){printf("%d",i);printf("%d,%d\n",a[i][0],a[i][1]);精品文档放心下载}}3.程序结果例如起点(0,0)终点(6,4)步数 坐标1,01,12,1**2,23,24,24,35,36,36,4二.圆弧插补圆弧插补程序流程图**输入X0、Y0、NXY、RNSFM=0、XM=X0、YM=Y0NRNS=1,2,6,8?YNYYNFM≥0?FM≥0?RNS=2,5?RNS=2,7?RNS=1,8?RNS=1,6?YYNNNYYNZF=4ZF=3ZF=2ZF=1ZF=2ZF=1ZF=3ZF=4FM=FM+2YM+1 FM=FM-2XM=1 FM=FM+2XM=1 FM=FM-2YM=1感谢阅读YM=YM+1 YM=XM-1 YM=XM+1 YM=YM-1谢谢阅读调用走步控制程序NXY=NXY-1NNXY=0?结束2.圆弧插补程序#include"stdio.h"#include"math.h"**intX0,Y0,X1,Y1,X2,Y2,X3,Y3,X4,Y4;精品文档放心下载inti=1,r,f,s;voidmain(){intm;intmenu();voidyishun();voidyini();voidershun();voiderni();voidsanshun();voidsanni();voidsishun();voidsini();voidshuchu();m=menu();switch(m){case1:yishun();break;case2:yini();break;case3:ershun();break;case4:yini();break;**case5:sanshun();break;case6:yini();break;case7:sishun();break;case8:yini();break;default:printf("无法插补\n");}}intmenu(){intt;printf("输入原点坐标\n");scanf("%d,%d",&X0,&Y0);printf("输入起点坐标\n");scanf("%d,%d",&X3,&Y3);printf("输入终点坐标\n");scanf("%d,%d",&X4,&Y4);printf("1:顺时针圆弧\n");printf("2:逆时针圆弧\n");scanf("%d",&s);X1=X3-X0;Y1=Y3-Y0;X2=X4-X0;**Y2=Y4-Y0;r=X1*X1+Y1*Y1;if(X1>=0&&Y1>0&&s==1)t=1;elseif(X1>0&&Y1>=0&&s==2)谢谢阅读t=2;elseif(X1<0&&Y1>=0&&s==1)谢谢阅读t=3;elseif(X1<=0&&Y1<0&&s==2)精品文档放心下载t=4;elseif(X1<=0&&Y1<0&&s==1)谢谢阅读t=5;elseif(X1<0&&Y1<=0&&s==2)精品文档放心下载t=6;elseif(X1>0&&Y1<=0&&s==1)谢谢阅读t=7;elseif(X1>=0&&Y1<0&&s==2)谢谢阅读t=8;elset=9;return(t);}**voidyishun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1--;f-=2*Y1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else{X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}**}while(Y1!=0&&(X1!=X2||Y1!=Y2));精品文档放心下载if(Y1==0){voidsishun();sishun();}}voidyini(){do{f=X1*X1+Y1*Y1-r;if(f>=0){X1--;f-=2*X1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else**{Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));谢谢阅读if(X1==0){voiderni();erni();}}voidershun(){do{f=X1*X1+Y1*Y1-r;if(f>=0)**{X1++;f+=2*X1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else{Y1++;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));精品文档放心下载if(X1==0){voidyishun();yishun();**}}voiderni(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1--;f-=2*Y1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else{X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);**}}while(Y1!=0&&(X1!=X2||Y1!=Y2));感谢阅读if(Y1==0){voidsanni();sanni();}}voidsanshun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1++;f+=2*Y1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}**else{X1--;f-=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(Y1!=0&&(X1!=X2||Y1!=Y2));谢谢阅读if(Y1==0){voidershun();ershun();}}voidsanni(){do{f=X1*X1+Y1*Y1-r;if(f>=0)**{X1++;f+=2*X1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else{Y1--;f+=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}}while(X1!=0&&(X1!=X2||Y1!=Y2));感谢阅读if(X1==0){voidsini();sini();}**}voidsishun(){do{f=X1*X1+Y1*Y1-r;if(f>=0){X1--;f-=2*X1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else{Y1--;f-=2*Y1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1);}**}while(X1!=0&&(X1!=X2||Y1!=Y2));精品文档放心下载if(X1==0){voidsanshun();sanshun();}}voidsini(){do{f=X1*X1+Y1*Y1-r;if(f>=0){Y1++;f+=2*Y1+1;i++;printf("%d",i);printf("%d,%d\n",X1,Y1);}else**{X1++;f+=2*X1+1;i++;printf("%d ",i);printf("%d,%d\n",X1,Y1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论