画一个圆边界?

时间:2012-01-08 12:39:40

标签: c# java c++ c

在开发人员工作的测试中,我被要求解决这个我不知道的问题。请有人帮助我。

使用void draw(int x, int y)绘制虚线圆边界以绘制一个点。使用公式 x 2 + y 2 = r 2 。您可以使用sqrt方法,但不要使用sincostan等。

Void DrawCircle(int centerX, int centerY, int radius) {…}

PS:这完全不是大学作业,所以请回复。

2 个答案:

答案 0 :(得分:2)

我写了一个快速代码,可以解决你的问题,但还没有测试过。

void DrawCircle(int centerX, int centerY, int radius)
{
    int x,y;
    x=-radius;
    while(x < radius)
    {
        y=sqrt(radius*radius-x*x);
        draw(x+centerX,y+centerY);
        y=-y;
        draw(x+centerX,y+centerY);
        x++;
    }
}

答案 1 :(得分:0)

这是一个找到圆圈边界点的函数(点数无穷多,dDensity越小,得到的点就越多。)

double dDensity = 1.0;
double y, x;
for (x = -radius; x <= radius; x += dDensity)
{
   y = sqrt(-pow(x, 2.0f) + pow(r, 2.0f))
   Console.WriteLine("(" + (x+centerX).ToString() + ","
                     + (y+centerY).ToString() + ")");
}

这将产生圆圈所包含的点数。

'绘画'一个圆圈是一个不同的问题,但这对你来说是一个良好的开端IMO。