私は楕円を描くC++の関数を持っています。今度は、その楕円に塗りつぶしオプションを追加したいと思います。それ、どうやったら出来るの?私はflood fillアルゴリズムを使ってみましたが、サーフェスに既に絵が含まれていると正しく動作しません。楕円形の塗り方は?
がここに私の現在のアルゴリズムである:
const double TwoPI = (PI * 2);
const double Step = (PI/180.0f);
for(double i = 0; i < TwoPI; i += Step)
{
float x_offset = (radiusX * cos((float) i));
float y_offset = (radiusY * sin((float) i));
int x = int(a_X + x_offset);
int y = int(a_Y + y_offset);
if(prevX == -1 && prevY == -1)
Plot(x, y, color);
else
Line(prevX, prevY, x, y, color);
}
どのライブラリを使用していますか? 'C++ 'には標準で定義されているグラフィックスライブラリはありません。あなたはOpenGLなどを指していますか? – CoryKramer
なぜあなたはそれを描画するように記入していませんか? – stark
@CoryKramer:アルゴリズムの質問については、それはかなり無関係です。明らかに、実際のグラフィックライブラリでは、答えは "提供された' DrawEllipse'関数を使用しますが、それは既に非塗りつぶし楕円の答えだったでしょう。 – MSalters