それを行う標準的な方法があるかどうかはわかりませんが、境界ポリゴンの頂点は、長方形の角とそれらの辺が交差する点になり、長方形内にあるものを除外することがわかります。
ポイントを注文するには、セット内の 1 つのポイントから始めます。それは 2 つのエッジの交点かコーナーのどちらかであるため、いずれにしても少なくとも 2 つのエッジ上にあることが保証されます。次のポイントに到達するまで、エッジの 1 つに沿って移動するだけです。内側のポイントは既に削除しているため、内側に到達する前に常に別の頂点に到達します。
ある長方形の角が別の長方形の端に沿っている場合、角から離れた 1 つのパスが長方形の内部につながるため、注意が必要です。そのため、トレースする正しいエッジを選択する要素がいくつかあります。しかし、内部にあるために除外したポイントのリストを保持している場合、除外されたポイントに行くのは間違った方向であることがわかります。
編集
もっと明示的に言ってみましょう。
(1) すべての長方形のすべての辺から始めます。それらが交差する場所を計算し、そこでエッジを分割します。
(2) これで、セグメントのリストができました。すべてのセグメントの端点をチェックして、長方形の内側にあるかどうかを確認します。
(3) ここで、別の外部エンドポイントを持つ少なくとも 1 つのセグメントのエンドポイントである外部エンドポイントのいずれかを取得します。エンドポイントから他の外部エンドポイントまで線を引きます。
(4) その外部エンドポイントは、別の外部エンドポイントを持つ別のセグメントのエンドポイントでもある必要があります。その外部エンドポイントに線を引きます。
(5) 開始したエンドポイントに戻るまで繰り返します。