以前、OpenDDLに投稿されていました「街並みオブジェクト」のように、
都市スケールで何か作る場合は、まず適当な区画が必要になると思います。
そんな思いで、自動的に区画を生成するGHスクリプトを作りました。
①Rhinoceros(RH)から、道路になるパス(青)と範囲を決めるエッジ(黒)をGrasshopper(GH)に読み込みます。
②ブロックの生成
③区画(グリッド)の生成
変数は、道路幅・グリッドサイズ・ブロック内の道路幅です。
また、区画ごとに、どのブロックに属しているか、のインデックスも取得できます。
生成した区画を用いて、自由に街並みを作ることができます。
下図の場合は、2つのノード(中心)を設定し、ノードと区画の距離を変数として建物の形が変わるようになっています。
残念ながら、道路となる線が曲線に上手く対応しません。
また、GHで"Reigon"というコンポーネント用いていますが、非常に重いです。
都市計画の事は門外漢なので素人のような質問になりますが、大きさや高さの決まり事は何から来ているのでしょうか。
例えば道路が広いところ、集まるところには人が集中する事が想定される事から建物のサイズも違ってくると思いますし、その逆も然りな気はします。
そういったボリューム生成における領域以外の要素的なものを、直感的に盛り込めるとより面白くなりそうですね。勝手な事を言うと、人口的なものを盛り込めるのかとか、商業・住居、その他諸々のバランスとか、場合によっては商業エリアのみの検討に使えるようにもするとか、言い出すとキリがないですけどね。
カーブが使えないのはなぜなんでしょうね。使えそうなものですけど。
ご指摘ありがとうございます。
ここでは、なんとなく「都市っぽい」ものを作っているだけで、
建物の大きさ・高さに明確なルールはありません。
これから、そこにルール付けしていくことで「かたち」に意味が出てくるのではないかと思っています。
スペースシンタックスなどを用いて、人が集中する場所の予測・分析する手法を確率し、
GHに変数として盛り込めれば面白くなると思っています。
また、プラグインの「Elk」を用いて、用途ごとに区画を分けたり、人口データを盛り込めるか検討中です。
区画(グリッド)を生成するときは、ブロックの矩形を一度「面」にして、面の「isoCurve」を取得し、このカーブを用いて面を分割して、区画を生成しています。
うまく、説明できないんですが、このやり方が良くないのかなと思っています。
カーブが矩形の場合は、上手く「isoCurve」が取得できますが、線分に曲線が含まれていると上手くいきません。
原因が何なのか、もう少し探りたいと思っています。
コメントをするにはログインしてください。