Grasshopperでパラメトリックで不規則なフレーム構造のドームをモデリングしてみた!
この記事ではGrasshopperを用いてパラメトリックで不規則なフレーム構造のドームをモデリングします。建築の外観をパラメトリックにモデリングできるようになれば、動的な環境シミュレーションによる建物形状の最適化などに連携することが可能となります。
Rhinoceros+Grasshopperについて
Rhinoceros+Grasshopperでパラメトリックにモデリングする大枠の流れと目的については、以下の記事をご参照くださいませ。
Grasshopperで不規則なフレーム構造のドームをモデリング
以下の流れで、不規則なフレーム構造のドームをモデリングを実装します。
基準線を設けてロフト形成してドームの外形を生成
生成したドーム外形にランダム生成ベクトルを投影して線分を生成
ドーム外形上に生成した線分に厚みを持たせて構造体を形成
基準線を設けてロフト形成してドームの外形を生成
まず、ドームの外形となる面を生成します。「Circle」のコンポーネントに対して、”Radius”に半径と"Plane"に中心点を受け渡します。今回は、中心点を原点とするため、”Plane”はデフォルト値を用います。複数の異なる半径の基準円を「Circle」で生成し、「Move」で高さを変更し、それらを「Loft」の”Curves”に受け渡し、ロフト形状を生成します。この時、”Cruvesに”接続する円の接続順序によって生成されるロフト形状が異なりますので注意してください。
生成したドーム外形にランダム生成ベクトルを投影して線分を生成
次に、点群をランダム生成して原点を起点としたベクトル情報を抽出し、抽出したベクトル情報をロフト形状上に投影してランダムな線分を生成します。まず、ランダムなベクトル情報を生成するために、「Populate 3D」を用います。”Region”にランダムな点群を生成する十分な大きさの空間を設け(この場合は「Sphere」で半径"Radius"を40とした球体を構成)、"Count"に生成する点群の数を整数で設定します。ランダム生成した点群と原点の座標情報を「Vector 2Pt」に受け渡すことでベクトル情報を取得します。取得したベクトル情報を用いて、「Plane Normal」で原点を起点とする平面情報に変換し、変換した弊免除法を「Brep | Plane」の"Plane"に受け渡すことで、ロフト形状状にランダム生成したベクトルを投影した線分を取得します。
ドーム外形上に生成した線分に厚みを持たせて構造体を形成
最後に、「Brep | Plane」のコンポーネントで得られたランダム生成された情報に基づく線分に厚みを持たせることで構造体を形成します。”Curves”の線を「Pipe」コンポーネントに接続し、”Radius”の値を受け渡すことで構造体の太さを表現することが可能です。