この記事ではGrasshopperを用いたパラメトリックなモデリングのチュートリアルとして、アトラクターで制御する球体群のモデリングに取り組みます。
Rhinoceros+Grasshopperについて

Rhinoceros+Grasshopperでパラメトリックにモデリングする大枠の流れと目的については、以下の記事をご参照くださいませ。
MENTERU TECH BLOG|
Rhinoceros+Grasshopperで実現するパラメトリックなシミュレーションによる建物形状の最適化アプローチ
https://tech.menteru.jp/notes/Rhinoceros-and-Grasshopper
Grasshopperで球体群のモデリング
以下の流れで、アトラクターで制御する球体群のモデリングを実装します。
- 球体を生成する基準点を構成するグリッドを定義
- 球体サイズを規定するアトラクター点を定義
- 基準点とアトラクター点の距離でサイズが変わる球体を生成

球体を生成させる基準点を構成するグリッドを定義
まず、球体を生成する基準点を構成するグリッドを定義します。「Rectangular」
のコンポーネントに対して、”Size X”と”Size Y”にグリッドを構成する各メッシュのx方向のとy方向の長さをそれぞれ設定し、”Extent X”と”Extent Y”にグリッドを構成するメッシュの数をx方向とy方向でそれぞれ設定します。

球体サイズを規定するアトラクター点を定義
次に、球体サイズを規定するアトラクター点を定義します。球体を生成する基準点を先ほど生成したグリッドの格子点とし、生成する球体のサイズを各格子点とアトラクター点の距離に応じて変動するように想定します。そこで、アトラクター点を「MD Slider」を用いて作成します。「MD Slider」をダブルクリックすることで、プロパティ設定が可能で”X-Domain”と”Y-Domain”の範囲を設定します。ここでは、先ほど生成したグリッド内に収まるよう、それぞれ”0 To 100”と設定しました。

基準点とアトラクター点の距離でサイズが変わる球体を生成
最後に、「Sphere」のコンポーネントで球体を生成して完成です。”Base”に球体を生成する基準点としてグリッド格子点をリスト形式で受け渡し、”Radius”に球体の半径として基準点とアトラクター点の距離に応じた値を受け渡します。基準点とアトラクター点の距離は、「Distance」コンポーネントに各点を受け渡して算出が可能で、ここではさらに「Division」で算出した距離を一定の係数で除して値の大きさを修正することで、球体サイズがグリッドサイズに対して違和感のないように補正を行いました。

コメント