绘制圆边界

Draw a circle boundary?

本文关键字:边界 绘制      更新时间:2023-10-16

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

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

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

附言:这根本不是大学作业,所以请回复。

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

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++;
    }
}

这里有一个函数,可以找到圆边界上的点(有无限多个点,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() + ")");
}

这将生成圆所包含的点。

"画"一个圆圈是另一个问题,但这对你来说是一个好的开始