6

.NET に楕円を描く四角形があります。

その長方形の幅、高さ、中心点を知っています。

もちろん、長方形の中心点は楕円の中心点でもあります。

円上の点を計算する方法は知っていますが、楕円についてはわかりません。

私はそれらのパラメータと角度を持っています。楕円上の点が必要です。誰かが式を投稿できますか?

2つの半径が入る2つのポイントを計算する必要がある場所を見ました。半径の合計は固定され、それに応じてサイズが変わります。

その方法がわかりません。長方形の高さ、幅、中心点、そしてもちろん、点を見つけたい角度しかありません。

助けてくれてありがとう

4

1 に答える 1

13

長方形の幅と高さがそれぞれwhである問題に対して、極座標で標準形を使用できます。

代替テキスト

代替テキスト

ここで、tはラジアン単位の角度、aw / 2bh/2です。

したがって、楕円をプロットするには、t0度から360度(ラジアンで02pi )に変更するだけで、 tの間隔に応じて、楕円上のポイントを取得できます。

長方形は原点の中心にないため、長方形の中心の座標、たとえば(C x、C y)でオフセットする必要があります。

const double C_x = 10, C_y = 20, w = 40, h = 50;
for(double t = 0; t <=2*pi; t+=0.01)
{
   double X = C_x+(w/2)*cos(t);
   double Y = C_y+(h/2)*sin(t);
   // Do what you want with X & Y here 
}
于 2010-05-06T13:33:23.147 に答える