【问题标题】:How do I render a circle with radius x?如何渲染半径为 x 的圆?
【发布时间】:2013-11-03 19:42:20
【问题描述】:

所以我遇到了一个相当棘手的问题。

我有点想要这样的方法:

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

理论上,此方法将直径 d 的圆(未填充)渲染为 2D 颜色数组,然后将其返回。 (圆的所有部分都是颜色 C,其余部分为空。圆的中心在 [d-(d-1)/2]²) 但是我不知道如何确定“像素”需要在什么位置。

我也查了http://en.wikipedia.org/wiki/Midpoint_circle_algorithm,但我不明白。 (非常复杂的imo)

如果你们中的任何一个可以向我展示正确的实现和/或向我解释我如何想出一个,那就太好了。 问候!

【问题讨论】:

    标签: java graphics rendering geometry


    【解决方案1】:

    如果这是某种家庭作业,那么这个答案不会令人满意,但如果这是一个真正的问题,那么解决方法如下:

    1. 创建缓冲图像
    2. 使用 Java2D API 在其上渲染一个圆圈。让它做艰苦的工作。您也可以通过这种方式进行抗锯齿。
    3. 读取图像的像素值,并相应地构建您的数组。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-07
      相关资源
      最近更新 更多