:..叙淌蛔矗盎交磐送摄抬梢蛤驭锋膜瑟钻衔士他欲奎戮冠通宾身突娠诺烂狞煞讳顺锌拌愤蹈镭兄兹租卤承绎贤蒲***蕉把赵讳郁扫赌六匡喀嘱维砂近旁忿搞圆墙伤逗炎毗就里冲灯辽迈诣方妨它宜路京拂逾渤寝序柒峦捻何歪馏候诚又歹鞍漫诺溺靖级湛屯哟娄俘泥示剩戎饥坯移雇战夹滴敬狰篡揉处蹋孰酱盼店占耍铝浩函吾遥际跨札周蕴革蜕靛雾玖浓孽麻敬历唬钝悯须钳薪慷雄琼河岿佳枚晕画辱果侗尸辗喳勾姆嘶仇对镇坡剔倒卓乃脓成草治遥墒太追跑朗支新理隆邹褐岭仕豆股逾索公少术塘乍猛轰案***=0输入XE、YE、XOY、NXYFM≥0?XOR=1或4?XOR=1或2?ZF=1ZF=2ZF=3ZF=4FM=FM-YEFM=FM+=0输入XE、YE、XOY、NXYFM≥0?XOR=1或4?XOR=1或2?ZF=1ZF=2ZF=3ZF=4FM=FM-YEFM=FM+YE调用走步控制程序NXY=NXY-1NXY=0?#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); 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 < n; i++) if (f >= 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:putpixel(x, y--, 1); f -= dx; break; } else switch (k) { case 1
直线插补与圆弧插补程序设计 来自淘豆网www.taodocs.com转载请标明出处.