1

ポリゴン関数を使用して VB6 でポリゴンを作成しようとしています。

ポリゴンを作成したいランダムな順序で多くのポイントがあります。

残念ながら、素敵な閉じた多角形とは対照的に、ギザギザに見える多角形が得られるため、多角形を開発するときは順序が重要です。

これらのポイントを通過して適切な順序に並べることができるアルゴリズムを開発するための良いアイデア/トリックを誰かが持っているかどうか疑問に思っていました.

本当にありがとう!

4

2 に答える 2

5

物事を単純にして独自のソリューションを維持するには、次のような凸包アルゴリズム (「ギフト ラッピング」) から始める必要があります。

http://en.wikipedia.org/wiki/Gift_wrapping_algorithm

VB での実装は難しくありません。問題がある場合は、新しい質問をしてください。

于 2011-10-11T17:27:28.810 に答える
3

グラハムスキャンアルゴリズムを使用して、実際にこの問題を解決しました。

http://en.wikipedia.org/wiki/Graham_scan

擬似コードに従う場合は、注意してください。

この線

while ccw(points[M-1], points[M], points[i]) <= 0:

する必要があります

while ccw(points[M-1], points[M], points[i]) >= 0:
于 2011-10-14T18:31:38.247 に答える