|
|
void DDALine(int x1,int y1,int x2,int y2)
{ double dx,dy,e,x,y; dx=x2-x1;
dy=y2-y1; e=(fabs(dx)>fabs(dy))?fabs(dx):fabs(dy);
dx/=e; dy/=e;
x=x1; y=y1;
for(int i=1;i<=e;i++) {
SetPixel((int)(x+0.5),
(int)(y+0.5)); x+=dx;
y+=dy; }
}
图2.2
第i+1个象素点的位置计算 斜率m在0到1之间,并且。设在第i步已经确定第i个象素点是,它是直线上点的最接近位置
,现在看第i+1步如何确定第i+1个象素点的位置。
|
|
|
|