8

タイトルにあるように、長方形をランダムな形の多角形に分割する必要があります。

例、7つのポリゴンの場合:

+--------+--------+
|\       |   2    |
| \  1   |''--..__|
|  ------|  5     |
| 3  /   \________|
|   /    /\   6   |
|__/ 4  /  \______|
|      /  7       |
+-----+-----------+

このためのアルゴリズムがすでに存在するかどうかはわかりませんが、頭を悩ませることはできないようです。

私はあなたがどの言語で答えるかは特に気にしませんが、Java/Swingで実装します。

4

2 に答える 2

15

長方形にランダムな点をたくさんドロップして、ボロノイ図を計算することができます。

これがJava/Swingの実装です。

私はいくつかのサンプルを作成しました(ただし、上記の実装ではなくMathematicaを使用しています)

代替テキスト

代替テキスト

代替テキスト

HTH!

于 2010-12-02T04:41:12.180 に答える
5

長方形全体にランダムな線をたくさん描いてから、各線の交点で線を「分割」して、基本的にある種の線のネットを作成します。次に、必要なポリゴン数に達するまで、ランダムな線分を好きなだけ削除します。

編集:したがって、サンプルの場合、行を追加すると次のようになります。

+----+---+----+---+
|\'--.\_/|   /    |
| \    X |''/-..__|
|--\--+-\+-/------|
|___\/___\/_______|
|   /\   /\       |
|__/__\_/|_\______|
| /    X |  \     |
++----+-++---+----+
于 2010-12-02T00:51:22.523 に答える