2013-11-03 50 views
0

所以我有一个相当困难的问题。如何渲染半径为x的圆?

我有点想这样的方法:

public Color[][] createCircle(Color c, int d) 
{ 
    Color[][] Data = new Color[d][d]; 
    //fillColorArrayForCircle(Data); 
    return Data; 
} 

在理论上这种方法使一个圆内径d(未填)为2D色彩数组,然后返回。 (Circle的一部分是Color C,其余的都是null,圆心位于[d-(d-1)/ 2] 2) 但是我不知道如何确定在什么地方“像素”需要。我也查了一下http://en.wikipedia.org/wiki/Midpoint_circle_algorithm但是我不明白。 (IMO极其复杂)

这将是非常好的,如果你一个能告诉我正确执行和/或向我解释,我怎么能想出一个。 问候!

回答

1

如果这是某种形式的功课,那么这个答案是不会令人满意的,但如果它是一个真正的问题,那么解决方法是以下几点:

  1. 创建一个BufferedImage
  2. 渲染使用Java2D API在其上进行循环。让它努力工作。您也可以采用这种方法进行抗锯齿。
  3. 读取图像的像素值,并相应地构建阵列。
+0

谢谢。这不是家庭作业,所以这会帮助我。 (: –