C语言模拟直线插补与圆弧插补程序设计

上传人:hs****ma 文档编号:563793193 上传时间:2023-07-28 格式:DOC 页数:17 大小:63.50KB
返回 下载 相关 举报
C语言模拟直线插补与圆弧插补程序设计_第1页
第1页 / 共17页
C语言模拟直线插补与圆弧插补程序设计_第2页
第2页 / 共17页
C语言模拟直线插补与圆弧插补程序设计_第3页
第3页 / 共17页
C语言模拟直线插补与圆弧插补程序设计_第4页
第4页 / 共17页
C语言模拟直线插补与圆弧插补程序设计_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《C语言模拟直线插补与圆弧插补程序设计》由会员分享,可在线阅读,更多相关《C语言模拟直线插补与圆弧插补程序设计(17页珍藏版)》请在金锄头文库上搜索。

1、数控技术课程设计说明书设计题目 直线插补与圆弧插补程序设计 机械设计以及自动化专业 机械工程学院 机械102班 设计者 青岛理工大学 2013年6月20日目 录1. 设计题目12.目录23.直线插补流程图34.直线插补程序45.程序结果86.圆弧插补流程图97.圆弧插补程序108.程序结果21一直线插补1.直线插补程序流程图置FM=0输入XE、YE、XOY、NXYFM0?XOR=1或4?XOR=1或2?ZF=1ZF=2ZF=3ZF=4FM=FM-YEFM=FM+YE调用走步控制程序NXY=NXY-1NXY=0?开始 结束YNYNYNYN2.直线插补程序设计#include stdio.hint

2、 i,X,Y,X0,Y0,Xe,Ye,F,N;int a302;void main() int m; int menu(); void yi(); void er(); void san(); void si(); void te(); void shuchu(); m=menu(); a00=X0; a01=Y0; switch(m) case 1:yi();shuchu();break; case 2:er();shuchu();break; case 3:san();shuchu();break; case 4:si();shuchu();break; case 5:te();shuch

3、u();break; default:printf(无法插补n); int menu() int t; printf(输入起点坐标n); scanf(%d,%d,&X0,&Y0); printf(输入终点坐标n); scanf(%d,%d,&Xe,&Ye); if (Xe=X0&Ye=Y0) t=1; else if (Xe=Y0) t=2; else if (Xe=X0&Ye=X0&YeY0&Y0=0)|(YeY0&Y=0) t=5; else t=6; return(t); void yi() F=0; N=Xe-X0+Ye-Y0; X=X0; Y=Y0; for(i=1;i=0) X+;

4、 ai0=X; ai1=Y; F-=Ye-Y0; else Y+; ai0=X; ai1=Y; F+=Xe-X0; void er() F=0; N=X0-Xe+Ye-Y0; X=X0; Y=Y0; for(i=1;i=0) X-; ai0=X; ai1=Y; F-=Ye-Y0; else Y+; ai0=X; ai1=Y; F+=X0-Xe; void san() F=0; N=X0-Xe+Y0-Ye; X=X0; Y=Y0; for(i=1;i=0) X-; ai0=X; ai1=Y; F-=Y0-Ye; else Y-; ai0=X; ai1=Y; F+=X0-Xe; void si()

5、 F=0; N=Xe-X0+Y0-Ye; X=X0; Y=Y0; for(i=1;i=0) X+; ai0=X; ai1=Y; F-=Y0-Ye; else Y-; ai0=X; ai1=Y; F+=Xe-X0; void te()N=Ye-Y0; for(i=1;i0) Y+; ai0=X; ai1=Y; else if(Ye0) Y-; ai0=X; ai1=Y; void shuchu() for(i=0;i=0&Y10&s=1) t=1; else if (X10&Y1=0&s=2) t=2; else if (X1=0&s=1) t=3; else if (X1=0&Y10&s=2)

6、 t=4; else if (X1=0&Y10&s=1) t=5; else if (X10&Y10&Y1=0&Y1=0) Y1-; f-=2*Y1+1; i+; printf(%d,i); printf(%d,%dn,X1,Y1); else X1+; f+=2*X1+1; i+; printf(%d,i); printf(%d,%dn,X1,Y1); while(Y1!=0&(X1!=X2|Y1!=Y2); if(Y1=0) void sishun(); sishun(); void yini() do f=X1*X1+Y1*Y1-r; if(f=0) X1-; f-=2*X1+1; i+;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 中医/养生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号