2024年9月1日日曜日

【Grasshopper_102】曲面上のひし形を徐々に凹ませるサンプル

先月のお盆期間中に、時間があったので作ってみました。

向かって右から左にかけて、ひし形を徐々に奥の方向に凹ませるサンプルです。

作り方は、XY平面上に作った凹みサーフェスを自由曲面上のひし形サーフェスに3Dモーフィングで配置していく方法になりますが、Grasshopper標準の機能のみだと難しいので、今回のサンプルではPaneling Tool for Rhino and GrasshopperとAnemoneという外部プラグインを使用しました。

・はじめに、Rhinocerosで作成した二本のカーブをGrasshopperに取り込みます。直線でも曲線でもどちらでもokです。

・先ほどの二本のカーブを使ってパターンを配置する表面を作成しつつ、ひし形の枠線を作るための斜め線を作成します。

・奥行き方向の位置を定義するため、表面の3種類のオフセット面を作成。さきほどの斜め線は1mmでオフセット曲線を左右両方に実行し、ひし形のすき間を確保します。

・オフセット面は識別しやすいように、表面に近い方からA、B、Bと名前をつけておきます。

・表面、及びオフセット面Aに投影した曲線をY方向に押し出しサーフェスを作成し、サーフェスを分割するためのBrepを作成します。

・画面に表示しているBrepは、最後に手作業で切り貼りする時の使用を想定していますので後でBakeします。

・オフセット面B、Cを分割します。

・必要なのはひし形の部分となりますので、ポリカーブをRhino画面上でひし形を囲うように作成し、上の図のようにノードを組み合わせて抽出します。

・取り出したひし形を、後の工程でX方向の位置で徐変量を計算する事を想定し、ひし形の中心点のX座標を使ってソートをしておきます。

・その次に、各ひし形の4辺のエッジの順番を揃えます。
※Splitコマンドを使ってサーフェスを分割すると、4辺エッジの順番がずれたりするのでそのための対策です。

・この後の工程で使うモーフィングの機能はUntrimサーフェスのみが対象となるため、Network Surfaceコンポーネントにつないでサーフェスを張りなおします。

・モーフィングする元になるデータをXY平面上に作成します。

・Rhino画面上で制御点が4 x 4の正方形を作成し、Grasshopper上で角の1点のみ移動させ、Point Deformコンポーネントにつないで変形させます。点の移動方向はZ方向とXマイナス方向を組み合わせていますがこのあたりはお好みで。上の図のように制御点の位置をRhino画面上で調整し、湾曲した面の形を整えます。

・変形量に変化をつけるため、Graph Mapperコンポーネントにつないで調整しています。

・最後のモーフィングの工程です。

・Paneling Tool for Rhino and Grasshopperプラグインにある、Surface Domain Numberコンポーネントを使い、表面と裏面の各サーフェス上に1 x 1のグリッドを作成し、Morph 3Dコンポーネントにつないで各グリッドごとにモーフィングを行います。

・Morph 3Dコンポーネントの設定は、面の追従性を良くするためにp入力をToggleでTrueに設定します。

・このMorph 3Dコンポーネントは残念ながら複数の元データのモーフィングには対応していないようです。その対策として、Anemoneプラグインのコンポーネントを上の図のように組み合わせて、ループ処理を行います。

・Loop Endコンポーネント上で右クリックし、Record Dataの項目にチェックを入れることを忘れないようにしてください。これをしないと、一番最後の計算結果しか取り出すことができません。

・Rhino画面上で形を整えたら完成です。


0 件のコメント:

コメントを投稿

【Grasshopper_105】三角形の中に円を敷き詰める方法

今年もいよいよ残すところあと1カ月を切りました。今年最後の投稿となりますが、三角形の枠の中に円を敷き詰めるサンプルの作り方を書いてみたいと思います。三角形が正三角形に近いほどドットの間隔が一定になります。面積がバラバラだと密度の濃淡が出てしまうので調整が難しいかもしれません。