2011-07-02 11 views
0

ある点から楕円を描くとき、​​どのように距離を伸ばすことができますか?楕円を描くときに距離を広げる

public double[] CalculatePosition(double centerX, double centerY, double angle) 
{ 
    double[] position = new double[2]; 
    position[0] = Math.Cos(angle) * radiusX + centerX; 
    position[1] = Math.Sin(angle) * radiusY + centerY; 
    return position; 
} 

がポイントに基づいて楕円を描く: これは私がC#で楕円を描くために使用するコードです。これを使用する関数は、ポイントの周りに例えば5つの楕円を描きます。

+3

* * *距離を増やす? –

+0

プログラミングや数学について質問できないのですか?これが描画のためのものであれば、 'double []'の代わりに 'PointF'構造体を返さないのはなぜですか? – ja72

+0

は多少です。私が意味することは、中心までの距離です。例えば、距離は小さく、今はその周りの唯一の楕円ですので、中心までの距離を増やす必要がありますので、より多くの楕円が点の周りで楕円になります。 – Luis

答えて

0

あなたは食のサイズを意味しますか?この場合、radiusXとradiusYを変えたいとします。

これを行うための最善の方法は、関数へのパラメータとして渡すことです:

public double[] CalculatePosition(double centerX, 
           double centerY, 
           double radiusX, 
           double radiusY, 
           double angle) 
{ 
    double[] position = new double[2]; 
    position[0] = Math.Cos(angle) * radiusX + centerX; 
    position[1] = Math.Sin(angle) * radiusY + centerY; 
    return position; 
} 

その後、あなたは、この関数を複数回呼び出すと、radiusXとradiusYを変化させることによって、同じポイントの周りにいくつかの楕円を描くことができます。

+0

サイズは、ポイントからの距離ですので、私たちはポイントの周りにより多くの楕円を持つことができます、距離は今は小さすぎる、唯一の楕円形ですので、私はポイントまでの距離を増やしたいので、例えば10楕円 – Luis

関連する問題