WIN-TC 直线生成算法问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:55:08
/* WIN-TC BGI 图形编程模板 */

#include "Conio.h"
#include "graphics.h"
#define closegr closegraph

void initgr(void) /* BGI初始化 */
{
int gd = DETECT, gm = 0; /* 和gd = VGA,gm = VGAHI是同样效果 */
registerbgidriver(EGAVGA_driver);/* 注册BGI驱动后可以不需要.BGI文件的支持运行 */
initgraph(&gd, &gm, "");
}

/*当斜率在0-1之间*/
void MidPointLine_1(int x0,int y0,int x1,int y1,int color)
{
int dx,dy,incrE,incrNE,d,x,y;
dx=x1-x0;
dy=y1-y0;
d=dx-2*dy;
incrE=-2*dy;
incrNE=2*(dx-dy);
x=x0,y=y0;
/*setbkcolor(GREEN); */
putpixel(x,y,color);
while(x<x1)
{
if(d>0)d+=incrE;
else
{
d+=incrNE;
y++;
}
x++;
putpixel(x,y,color);
}
}

/*当斜率大于-1,小于0时,调用MidPointLine_4()函数*/
void MidPointL

WIN-TC下运行通过
http://hi.baidu.com/_586/blog/item/de80dfce15f1310092457ee8.html

没必要写得你那么长,你的算法效力太底.