例 http://xthlegion.co.uk/images/dividerectangle.png 例 http://xthlegion.co.uk/images/dividerectangle2.png
上の画像を検討すると、ユーザー定義の座標のペアによって小さな四角形に分割された単一の大きな四角形で構成されていることがわかります (例の画像の各ペアは、異なる色で識別されます)。
私がやろうとしているのは、結合を定義するだけで、これらの長方形の座標を取得することです。エッジは明示的な結合として扱われます。順番は関係ありません。
これを行うアルゴリズムの名前を知っている人はいますか (派手な名前のアルゴリズムがあると確信しています!)、または C# コードの例がありますか? 私はしばらくの間、これを自分でやろうとして苦労してきましたが、ほとんど成功していません。さらに別の完全な数学の失敗!
更新:
受け取ったコメントに基づいて、この質問をすぐに更新すると思いました。
- 線は直線でなければならないため、座標の各ペアは 1 つの軸上に配置されます
- 座標は、エッジまたは別のペアの交点から開始する必要があります。2 番目の座標も同様に終了する必要があります。相互に開始/終了しない「孤立した」座標は違法であり、今のところ無視する必要があります。最終的に頭が整ったら、スナップが可能になるはずです。
- この例では、すべてのペアが多かれ少なかれきれいに四角形を分割していますが、実際にはそうではなく、さまざまなサイズの四角形を作成する多くの線が存在する可能性があります。
2 回目の更新 - 動作します :)
例 http://xthlegion.co.uk/images/dividerectangle3.png