Advertisement

中点画线法

阅读量:

中点画直线算法属于计算机图形学中用于生成直线的经典技术手段之一。

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

迭代公式

完整代码:

达成0<k<1的情形(k表示直线的斜率)

复制代码
    #include<GL/glut.h>
    void lineMidpoint(int x1, int y1, int x2, int y2)
    {
     int dx = abs(x2 - x1);
     int dy = abs(y2 - y1);
     int a = -dy;
     int b = dx;
     int d = a + 0.5*b;
     int x, y;
     int xEnd;
     if (x1 >x2) { x = x2; y = y2; xEnd = x1; }
     else { x = x1; y = y1; xEnd = x2; }
     glVertex2i(x, y);
     while (x < xEnd) {
      x++;
      if (d < 0) {
       y++;

全部评论 (0)

还没有任何评论哟~