实验二 直线DDA生成算法的GDI实现

1.实验目的:

理解基本图形元素光栅化的基本原理,掌握一种基本图形元素光栅化算法,利用GDI实现直线光栅化的DDA算法。

2.实验内容:

(1) 根据所给的直线光栅化的示范源程序,在计算机上编译运行,输出正确结果;

(2) 指出示范程序采用的算法,以此为基础将其改造为中点线算法,写入实验报告;

(3)了解和使用GDI的生成直线的命令,来验证程序运行结果。

3.实验原理:

示范代码原理参见教材直线光栅化一节中的DDA算法。

4.实验代码:

void LineDDA()//

{
    CClientDC dc(this);
    COLORREF  rgb=#0000ff;//蓝色

       int  x, dy, dx, y;
       float m;
       dx=x1-x0;
       dy=y1-y0;
       m=dy/dx;
       y=y0;
       for(x=x0;x<=x1; x++)
       {
              dc.SetPixel(x,(int)(y+0.5),rgb);
              y+=m;
       }  
}

5.思考题

示范代码有个小错误,能否指出并改正?请将结果写入实验报告。

附程序代码:/Files/opengl/2-DDALine_GDI.rar

原文地址:https://www.cnblogs.com/opengl/p/2385650.html