2013-11-03 81 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

謝謝。這不是家庭作業,所以這會幫助我。 (: –