Advertisement

Bresenham算法用于画线

阅读量:

Bresenham直线算法是计算机图形学领域中用于生成直线的一种传统方法。

该方法所采用的迭代表达式:

迭代公式

完整代码:
达成0<k<1的情形(k表示直线的斜率)

复制代码
    #include<GL/glut.h>
    void lineBres(int x1, int y1, int x2, int y2)
    {
     int dx = abs(x2 - x1);    //dx的绝对值
     int dy = abs(y2 - y1);    //dy的绝对值
     int p = 2 * dy - dx;      //定义初始值
     int twody = 2 * dy, twodxdy = 2 * (dy - dx);
     int x, y;      //当前位置
     int xEnd;      //结束x
     if (x1 > x2) { x = x2; y = y2; xEnd = x1; }     //保证直线方向是从左到右
     else { x = x1; y = y1; xEnd =

全部评论 (0)

还没有任何评论哟~