1

我一直在使用中点圆算法画一个圆。

void circlePoints (int x, int y, int xc, int yc)
{
  drawDot (xc+x,yc+y);
  drawDot (xc-x,yc+y);
  drawDot (xc+x,yc-y);
  drawDot (xc-x,yc-y);
  drawDot (xc+y,yc+x);
  drawDot (xc-y,yc+x);
  drawDot (xc+y,yc-x);
  drawDot (xc-y,yc-x);
}

void Circle (int xc, int yc, int rad)
{ int x,y,d;

  x = 0;
  y = rad;
  circlePoints (x,y,xc,yc);
  d = (5/4) - rad;
  while (x < y)
  { 
      if (d < 0)
      {
          x++;
          d+=2*x+1;
      }
      else
      {
          x++;
          y--;
          d+=2*(x-y)+1;
      }
    /*if (d < 0)
      d += 2*x +1;
    else
     d += 2*(x-y) + 1;*/
    circlePoints (x,y,xc,yc);
  }
}

我想知道如何用特定颜色填充这个圆圈?我可以使用多边形填充,但不确定我如何在这里实现。

4

0 回答 0