直线插补与圆弧插补程序设计

上传人:wm****3 文档编号:42153820 上传时间:2018-06-01 格式:DOC 页数:9 大小:74.50KB
返回 下载 相关 举报
直线插补与圆弧插补程序设计_第1页
第1页 / 共9页
直线插补与圆弧插补程序设计_第2页
第2页 / 共9页
直线插补与圆弧插补程序设计_第3页
第3页 / 共9页
直线插补与圆弧插补程序设计_第4页
第4页 / 共9页
直线插补与圆弧插补程序设计_第5页
第5页 / 共9页
点击查看更多>>
资源描述

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

1、直线插补与圆弧插补程序设计一直线插补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?开始结束YNYNY NYN直线插补程序流程图 2.直线插补程序设计#include #include #include void cb_line(int x1, int y1, int x2, int y2) int dx, dy, n, k, i, f; int x, y; dx = abs(x2-x1); dy = abs(y2-y1

2、); n = dx + dy; if (x2 = x1) k = y2 = y1 ? 1: 4; x = x1; y = y1; else k = y2 = y1 ? 2: 3; x = x2; y = y2; putpixel(x, y, 1); for (i = 0, f = 0; i = 0) switch (k) case 1: putpixel(x+, y, 1); f -= dy; break; case 2: putpixel(x, y+, 1); f -= dx; break; case 3: putpixel(x-, y, 1); f -= dy; break; case 4

3、: putpixel(x, y-, 1); f -= dx; break; else switch (k) case 1: putpixel(x, y+, 1); f += dx; break; case 2: putpixel(x-, y, 1); f += dy; break; case 3: putpixel(x, y-, 1); f += dx; break; case 4: putpixel(x+, y, 1); f += dy; break; int main() cb_line(0,0,15,20); /* #include int ArcXY(double dfx0,doubl

4、e dfy0,double dfrx, double dfry,int angle); int symbol(double number);RNS=1,6?RNS=2,5?ZF=4ZF=4main() ArcXY(0,0,-3,5,360); getch(); int ArcXY(double dfx0,double dfy0,double dfrx, double dfry,int angle) FILE *f1;double i,j,dx,dy,dfr,x,y,ang,step,f = 0.01;int flag,tempx,tempy,statex,statey,direction =

5、1;dfr = sqrt(dfrx - dfx0) * (dfrx - dfx0) + (dfry - dfy0) * (dfry - dfy0);if(dfx0 = 0)dfx0 = 1;dfrx = dfrx + 1;statex =1;if(dfy0 = 0)dfy0 = 1;dfry = dfry + 1;statey =1;dfrx = 2 * dfx0 - dfrx;i = dfx0 - dfrx;j = dfy0 - dfry;x = dfx0 ;y = dfy0 ;step = ang = 180 * 2 * asin(f/(2*dfr)/3.1415926;if(dfx0 0) elsereturn -1;

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

当前位置:首页 > 生活休闲 > 社会民生

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