任意の大きさの長方形をピクセル単位で指定します。
指定した大きさの長方形が作図されます。
次に、上記長方形を構成する四つの線分(辺)上のランダムな箇所に、一つの「点」を生成します。
1)「点」は生まれた箇所で線分を分割します。
2)「点」は、図形内のすべての線分の中から、一つの線分をランダムに選び、その線分上のランダムな位置に向かって「直線」を伸ばします。「直線」は、到達すべき線分まで伸びてゆく間に、他の線分と交差する場合、その交点で線分を分割しながら伸びてゆきます。
そして、先に選ばれた線分に「直線」が接したら、直線の成長は止まり、その接点に新たな「点」が生まれ、以降、1)、2)を繰り返します。
あらかじめ指定した「「点」の生まれる数」に達するか、
あるいは、
あらかじめ設定した「「分割された線分の最短の長さ以上」で上記行程を繰り返すことが出来無くなった時点」で繰り返しが終わります。
上記のようなことが出来るソフトを探しています。
もしくは作っていただけるならご相談の上ポイントを差し上げます。
よろしくお願いいたします。
サンプル的に作って見ました。
http://jsdo.it/TransFreeBSD/bv6j
ただ終了条件の
「「分割された線分の最短の長さ以上」で上記行程を繰り返すことが出来無くなった時点」
がよく分からなかったので、これはやってません。
矩形のサイズは描画領域の内側10ピクセルで、取り合えず、点は100個にしています。
精度というか、丸めとか最小単位とか考慮してないので、端点の極近くや超鋭角で交差する線分とかは、ちょっと怪しくなります。
線分をランダムに選択したのち切断点を選ぶため、小さい線分が出来てくると、そこへ集中する傾向があって、意外と極小線分ができやすいようです。
#計算はpythonの方がしやすそうだけど、表示はjavascriptが楽ですね。
取り合えず修正しました。
2012/04/14 14:22:36以下疑問点
現状は伸ばした線も分割する右側仕様です。
その仕様でOKです。
2012/04/15 15:35:25凄く早く対応していただいて感謝します!
ポイント送付させていただきます。