- Home
- /
- 3Dモデリング
- /
- Grasshopper
- /
- GrasshopperとGalapagosを用いた最大値・最小値の求め方
GrasshopperとGalapagosを用いた最大値・最小値の求め方
目次
[PR]
背景
多量なものをどのようにコントロールするか
SANAAのZollverein schoolのぱらぱらとした開口や隈研吾さんの設計でみられるようなぱらぱらのファサードのデザインは多くの場所でみられますが、実際設計やデザインに取り入れるとなると、開口やパネルの数が多く、デザインとして取り扱いが難しかったり、図面作成の際数か多くてめんどくさいなどの弊害もあります。そこで今回の記事ではそのような形の作りが同一条件かつ、量が大量にあるものをどのようにデザインと結びつけるかといったことをGrasshopperを用いて紹介してきたいと思います。
[求人情報]
概要
本記事では開口を建物に100個作るとして、それらの開口を太陽光をできるだけ多くとれるような開口の位置をとれるものとして考えます。
敷地条件
今回対象となる敷地条件は以下の画像の通りで敷地の周辺には、建物の高低差が見られ、高い建物、低い建物とバラバラな状態となっている敷地条件です。ここに単純な矩形のボリュームを作り、どのようにして外壁に開口を配置するのかを求めていきたいと思います。
建物のパラメーター
まずは開口を準備するパラメーターの設定を行います
先ほど、作った矩形の外壁を単純なサーフェイスとして抽出します。これを基準面として考えます。
次にこのサーフェイスを分解して400このサブサーフェイスを作ります。このサブサーフェイスを開口をが来る場所として設定します。現在400このサブサーフェイスがありこの中から、50個を選択して建物の開口とします
Isotrim・・・曲面の分割をつくるコマンド
divide domain・・・二次元の分割数指定
開口部の位置の設定
現在400個あるうち50個を選択して開口を求めます。grasshopperのList itemを選択します。List itemを使うことで400このサブサーフェイスから50個の開口部の位置を選択します。取り扱うデータ量が少ないのであれば、list itemをナンバースライダーを使って求めるのが一般的ですが、今回は多量のデータを取り扱うため、gene pool を使ってデータを取り扱うことにします。gene pool controlerを使えばデータの量や範囲を設定できるので便利です。
①gene pool
②gene pool controller
③C・・・カウント、データの数
④I・・・domain、数値の範囲。List itemで分割した面の番号を参照したいので、最小が0、最大値をlist lengthとつなげて、分割数を変更しても対応できるように設定。
⑤D・・・Decimal、小数点の数の設定
⑥List length・・・リストの長さを算出
開口部の大きさの設定
開口の大きさはrectangleを使って求めます。
設定は以下の通りです。
①Evaluate surface・・・サーフェイス上の点や、接戦方向のベクトルを算出。これによってサブサーフェイスの接戦方向を取得して次に設定するRectangleの基準面を設定します。
②Construct plane・・・基準面を設定(これを設定しないとXY平面を基準とするので、このコマンドによって基準面を変更します)
③MD slider・・・サーフェイスのポジションを選択するもの
④Boundary・・・サーフェイスを作るコマンド
以上で開口の位置と大きさのパラメーター設定は終わりです。
気象パラメーターの設定
次は気象パラメーターの設定です。ここを扱うことによって任意の期間での日照条件などを求めるプログラムを書きます。Grasshopperで気象条件を求める方法としてプラグインのLadybugを使います。
気象データの選択
Ladybugでは気象条件の参照先としてEPWデータを参照しています。このデータは世界各地のデータを取得できる便利なもので、今回は大阪のデータを参照する気象データとして使います。気象データはLady bugのページに直接アクセスするか、grasshopper上のコンポネントを使ってサイトのページに飛ぶことができます。
求めたい場所を選択し、右クリック→epw fileをダウンロードでデータのダウンロードは終了です。
可照時間を求める設定
次に各開口にあたる可照時間を計算するための設定を行います。以下が可照時間を求める設定の全体像です。非常にシンプルなコードということがわかります。
①File path・・・データの参照先を設定(アイコン上で右クリックして、select one existing fileを選択)
①lady bug Import EPW・・・ インプットしたデータから様々なデータを分岐(一年間における、風向や湿度、放射量など)
③Ladybug Sun path・・・指定した日時における太陽の位置を表示。analysisPeriodによって求めたい期間を設定。Center pointは太陽が描く運動の中心を示すので、敷地の中心あたりを設定するのが望ましいです。
④Ladybug_analysisPeriod・・・期間の設定
これがSun pathを反映させた画像になります。
次に実際に可照時間を求める設定です
①Ladybug_sunlight Hour Analysis・・・可照時間をもとめるコマンド
②geometry・・・可照時間を求めたい図形(この場合は各開口)
③context・・・周辺の建物(日射などを遮るもの)
④gridSize・・・←重要!!!geometryをどれくらいの大きさのグリッドに分けて計算するかの値。今回は各開口の大きさを500と設定しているので、半分の250としました。開口の4分割になります。この値を50にすると100分割になってより細かい計算ができますが、計算に時間がかかる点と、差異が大きくないかもしれないので、ちょうどいいサイズを見つけるのが効果的です。
⑤disfromBase・・・ジオメトリーからどれくらい離れたところを計算の参照点とするかを算出する値。今回では0.1としています。
⑥Sunvectors・・・先ほど設定したLadybug_sunpathから同じデータを参照します。
⑦_runit・・・boolean toggleをつなげてTrueにすれば計算が始まります。計算が始まるとコードによっては計算が重くなるので事前に保存しておきましょう。
Galapagosの設定
Galapasosのつなぎ方
①Galapagos Evolutionary solver
①Genome・・・値を変化させたいパラメーターに接続
②Fitness・・・もとめたい最大値・最小値に接続。
Galapagosのウインドウの見方
朱いアイコンをダブルクリックすると以下のようなウインドウが現れます。
上から
Fitness・・・最大値・最小値のどちらを求めたいかを設定
Runtime limit・・・計算時間の上限を設定
この辺の設定が終わったら次は計算の実行です
上のタブにあるSolverを選択します。
すると以下のような画像が出てきます
start solverを選択すれば計算が始まります!
計算中や、計算が終わると以下のような画面になります
一番上の数字のバーを選択し、Reinstateを選択すると、gene poolの値が勝手に切り替わって最大値を求める計算を反映させてくれます。
以下が今回の計算によってできた結果です。太陽光が当たりやすそうなあたりに開口が点在する結果となりました。今回の記事では計算を途中でやめたため計算結果は異なる人もいるかもしれません。いずれにせよデザイン決定の一候補として設計課題に取り組んでもらったり、各パラメーターをいじったりすることに興味を持ってくれるのであればうれしい限りです。
以上!Galapagosを用いた最大値・最小値の算出方法でした。