私のスレッドへの拡張と部分的な答えとして、与えられたポイントのセット(xy座標を持つ)が自己交差しないポリゴンを形成できる単純なアルゴリズムを書きました。
主張: 異なる座標を持つ任意の点のセットが与えられると、規則的または不規則な、自己交差しない多角形を構築することが常に可能です。
アルゴリズム:
すべての頂点を含む集合 V があると仮定します
1) V のすべての頂点を x 座標で並べ替える
2) x 軸に平行な直線 (これを「分割線」と呼びます) を想像してください。最初のノードから始まり、無限に拡大し、頂点を 2 つのセットに分割/分割します。
3) 次に、2 つのセットを考えます。
A = 分割線の上または上にあるすべての頂点のセット
B = 残りのすべての頂点のセット
4) A の左端の頂点から始めて、A のすべての頂点を右端に到達するまで接続します。
5) ソートされたセット V の右端の頂点 (最大の x 座標を持つ頂点) が A にない場合、その最後の頂点 (A の右端) をそれと接続します。
6) ソートされたセット V の右端の頂点 (最大の x 座標を持つ頂点) から始めて、逆方向に作業し、B にあるすべての頂点を接続します。
7) B の最初 (B の左端の頂点) の頂点を A の左端の頂点に接続します。
アルゴリズムは正しく、失敗するテストを見つけることができないと思いますが、何かが欠けている可能性があります。
見ていただき、もしあればうまくいかない例を教えていただければ幸いです(きっとあるはずです)。