在生成直线的算法中,
Bresenham算法是最有效的算法之一。
Bresenham算法是一种基于误差判别式来生成直线的方法。
一、直线Bresenham算法描述:
二、直线Bresenham算法思想之一:
三、直线Bresenham算法思想之二:
四、直线Bresenham算法实现:
五、直线Bresenham算法完善:
六、直线Bresenham算法特点:
七、直线Bresenham算法程序:
void Bresenhamline (int x1,int y1,int x2,int y2,int color)
{
int x, y, dx, dy, s1, s2, p, temp, interchange, i;
x=x1;
y=y1;
dx=abs(x2-x1);
dy=abs(y2-y1);
if(x2>x1)
s1=1;
else
s1=-1;
if(y2>y1)
s2=1;
else
s2=-1;
if(dy>dx)
{
temp=dx;
dx=dy;
dy=temp;
interchange=1;
}
else
interchange=0;
p=2*dy-dx;
for(i=1;i<=dx;i++)
{
putpixel(x,y,color);
if(p>=0)
{
if(interchange= =0)
y=y+s2;
else
x=x+s1;
p=p-2*dx;
}
if(interchange= =0)
x=x+s1;
else
y=y+s2;
p=p+2*dy;
}
}