2011-07-24 8 views
1

楕円または円の塗りつぶしのポイントをどのように生成するかについて誰かが正しい方向に向けるかどうかは疑問でした。JavaScriptで塗りつぶされた楕円の点を取得する

私はアウトラインを描画するアルゴリズムは知っていますが、コンテンツもそうではありません。

私が必要とするのは、ポイントの配列です。しかし、私はどこから始めたらいいのか分からず、Googleで自分の答えを見つけられないようです。

ご迷惑をおかけして申し訳ありません。

ありがとうございました。あなたはjsDraw2d

http://jsdraw2d.jsfiction.com/ 

より効率的な方法のようないくつかのグラフィックスライブラリを見てしたいことがあり

答えて

2

あなたはアウトラインの点を知っているので、線で並べ替えることができます(つまり、y座標で)。 2つのy座標が等しい場合は、x座標で並べ替えます。

ここで、同じY座標を持つ2つの点について、それらの間のすべての点が楕円内になければならないことがわかります。

+0

私はこれを考慮しましたが、どれくらい速くなるかはわかりませんでした。しかし、ショットに値する。できるだけ早くこの方法を行って、それが実現可能であれば受け入れます。 – Olical

+0

私は楕円を描こうとしないことを決めました。なぜなら、方法が何であっても、それは十分に速くないからです。だから、私がまだそれらを使うつもりなら、おそらくこの方法を使うでしょう。 – Olical

0

はしかしSVG画像を生成するためにJavascriptを使用して、おそらくですが、残念ながら、バージョン8までのInternet ExplorerはSVGをサポートしていません。 。

+0

これは私が探しているものではないことに恐れています。私が必要とするのはポイントだけで、これは直接的に引き出されます。私は描画部分を処理する必要があります。 – Olical

1

ポイントをスキャンラインで生成することができます。楕円の方程式はそうYの値を反復し、を解く

AX +

C = 0 +によって

ありますxxの二次方程式を2つの解で得て、スキャンラインの左右端にポイントを与えます。その間のすべての点が楕円の内側にあります。

エンドポイントの座標の高速生成を希望する場合は、John Kennedyの論文A fast Bresenham-type algorithm for drawing ellipsesを参照してください。

関連する問題