1.DDA算法
DDA(Digital Differential Analyer):数字微分法
DDA算法思想:增量思想
公式推导:
效率:采用了浮点加法和浮点显示是需要取整
代码:
void lineDDA(int x0, int y0, int x1, int y1, int color){
int x;
float dy, dx, y, m;
dx = x1 - x0;
dy = y1 - y0;
m = dy / dx;
y = y0;
for (x = x0; x <= x1; x++){
putpixel(x, (int)(y + 0.5), color);
y += m;
}
}
2.中点画线法
采用了直线的一般式:Ax+By+C=0
当k在(0,1]中时,每次在x方向上加1,y方向上加1或不变:
当Q在M上方时,取Pu点;
当Q在M下方时,取Pd点。
接下来: