単純な(穴や自己交差のない)ポリゴンのセットがあり、それらが互いに交差していないことを確認する必要があります(1つは別のポリゴンに完全に含まれている可能性があります。それで問題ありません)。これは、あるポリゴンと他のポリゴンの頂点ごとの内部性を確認するだけで確認できます。
また、包含ツリーを決定する必要があります。これは、どのポリゴンに特定のポリゴンが含まれるかを示す一連の関係です。ポリゴンは他のポリゴンと交差できないため、含まれているポリゴンには一意のコンテナがあります。「次に大きい」もの。つまり、AにBが含まれ、BにCが含まれている場合、AはBの親であり、BはCの親であり、AをCの親とは見なしません。
質問:封じ込め関係を効率的に決定し、交差しない基準を確認するにはどうすればよいですか?それぞれの問題を個別に解決するよりも、組み合わせたアルゴリズムの方が効率的かもしれないので、これを1つの質問として尋ねます。アルゴリズムは、頂点のリストによって指定されたポリゴンのリストを入力として受け取る必要があります。ブールBを生成して、どのポリゴンも他のポリゴンと交差していないかどうかを示します。また、B = trueの場合、ポリゴンPが子Cの親であるペア(P、C)のリストを生成します。
これは宿題ではありません。これは私が取り組んでいる趣味のプロジェクトのためのものです。