资源描述:
《直线插补-圆弧插补.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数控技术第三次作业题目【1】:第一象限的逆圆插补。1.取该圆弧的圆心坐标为(0,0),起点坐标为(4,0),终点坐标为(0,4),圆弧半径为4.2.采用逐点比较法的C程序如#includevoidmain(){intn=8,x,y,f,g;scanf("%d,%d",&x,&y);f=x^2+y^2-16;if(f>=0)g=f-2x+1,x--,n--;printf("%d,%d,%d",x,y,n);elseg=f+2y+1,y++,n--;printf("%d,%d,%d",x,y,n);if(g>=
2、0)g=g-2x+1,x--,n--;printf("%d,%d,%d",x,y,n);elseg=g+2y+1,y++,n--;printf("%d,%d,%d",x,y,n);while(n==0)printf("itisover");}3.程序流程图如下:开始初始化有插补?圆弧?取起点,终点,令f=0第一象限?f>=0?逆圆?+Y向进一步f=f+2Y+1Y=Y+1—X向进一步X=X—1Xe—X=0Ye—Y=0f=f—2X+1结束否是暂停直线插补是否是是否是否是是否否逆圆?是否4.程序运行后得到一系列插补点,连接插补点得
3、到插补轨迹如下图所示:5.综上,第一象限的逆圆采用逐点插补法的插补过程及其解决算法如上所述。题目【2】:第一象限的直线插补取第一象限的直线方程为Y=X,起点坐标为原点(0,0),终点坐标为(4,4)。1.基于MATLAB的插补程序如下:Xe=input('输入终点横坐标XXe=');Ye=input('输入终点纵坐标YYe=');h=input('输入步长h=');Tstep=(abs(Xe)+abs(Ye))/h;Step=0;F=0;Xi=0;Yi=0;x=0;y=0;Xi=Xi+h;x=[xXi];y=[yYi];
4、endStep=1;while(Step=0)Xi=Xi+h;elseYi=Yi+h;endx=[xXi];y=[yYi];Step=Step+1;holdonendplot(x,y)2.MATLAB程序运行得到的插补图形及其轨迹如下图:综上,用逐点比较法完成了第一象限的逆圆插补和直线插补。