以下のようなポリゴン C があります。
C = 10 0
2 0
2 2
0 2
2 0
0 0
0 10
10 10
ここで、最初の列は x の座標を表し、2 番目の列は多角形 C の y 座標に対応します。上の図でわかるように、これは単純な多角形ではありません (この多角形には白色で指定された穴が含まれています)。そのため、穴を含まない C からすべての単純なサブポリゴンを取得したいと考えています。この場合、出力は次のようになります。
C1 = 0 2
2 0
0 0
C2 = 2 0
2 2
0 2
0 10
10 10
10 0
ここで、C1 と C2 は、それぞれ小さな赤い三角形と大きな赤い多角形に対応しています。
問題は、このサブポリゴンをどのように生成できるかです。
どんなアイデアでも大歓迎です。