第一节 直线扫描转换算法      
             
 
            
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个象素点的位置。
   
上一页 | 下一页  
  第一节 直线扫描转换算法
第二节 圆的扫描转换算法
第三节 区域填充算法
第四节 多边形的扫描转换算法