Scan-conversion

  • Geometric objects -> Pixels, Bitmaps

  • (line, area)

  • Draw(p,q)
  •     dot(p);
        dot(q);
        if |x1-x2| > 1 or |y1-y2| > 1 then
           draw(p,(p+q)/2);
           draw((p+q)/2,q);
    
  • Incremental algorithm
  •     m=(y2-y1)/(x2-x1);  b=y1-m*x1
        y-y1=m(x-x1)
        y=m*x+y1-m*x1       x -> x+1
         =m*x+b             y -> y+m
    
  • Program:
  •     y:=y1;
        for x:=x1 to x2 do
            dot(x,round(y));
            y:=y+m;