在开发人员工作的测试中,我被要求解决这个我不知道的问题。请有人帮助我。
使用void draw(int x, int y)
绘制虚线圆边界以绘制一个点。使用公式 x 2 + y 2 = r 2 。您可以使用sqrt
方法,但不要使用sin
,cos
或tan
等。
Void DrawCircle(int centerX, int centerY, int radius) {…}
PS:这完全不是大学作业,所以请回复。
答案 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。