STUDIO TAMA

thumbnail

投稿日:2021-12-20

【Grasshopper Tutorial】 Vector Field

  • #Grasshopper

  • #GH Modeling

  • #Basic

今回は Vector Field を 3 次元で使用し、上画像の様なオブジェクトを作成してみようと思います。少ないコンポーネントで実装しています。是非作成してみてください。こちらの記事は動画化しているので、動画の方がよい方は以下にリンクをのせておきます。

概要

thumbnail

上画像がプログラムの全体像となっております。各グループごとに説明していきます。

半球にランダムな点を作成

thumbnail
  1. 「Sphere コンポーネント」で半径 100mm の球を作成します。
  2. 「Brep | Plane コンポーネント」で球と XY 平面との交線を取得します。
  3. 「Surface Split コンポーネント」で取得した交線で球を切断します。
  4. 「List Item コンポーネント」で切断した球の上半分を取得します。
  5. 「Populate Geometory コンポーネント」で半球の表面にランダムに点を生成します。上画像の様になっていれば OK です。

ベクトル場の作成

thumbnail
  1. 「Volume コンポーネント」で球の中心を取得します。
  2. 「Point Charge コンポーネント」で球の中心から発する(引きつける)ベクトル場を発生させます。入力端子 C に強さ Charge を入力します。正の値を入力すると入力した点から発するベクトル、負の値で入力した点へ向かうベクトルとなります。
  3. 「Point Charge コンポーネント」の入力端子 D には減衰値を入力します。今回は 0 を入力しています。入力端子 B にはベクトル場を発生させたい境界を入力しますが、今回は未入力としています。
  4. 「Spin Force コンポーネント」で球の中心から発する回転するベクトル場を作成していきます。入力端子 S に強さを表す数値を入力します。正の値を入力すると反時計回りのベクトルが、負の値で時計回りのベクトルが取得できます。
  5. 「Spin Force コンポーネント」の入力端子 R には回転半径を、入力端子 D には減衰値を、入力端子 B にはベクトル場を発生させたい境界を入力します。入力端子 B に関しては今回は未入力としています。
  6. 「Merge Fields コンポーネント」で「Point Charge コンポーネント」と「Spin Force コンポーネント」で発生させたベクトル場を結合します。
thumbnail
  1. 生成したベクトル場を確認してみます。中心を球の中心と一致させた 1 辺 100mm の正方形を作成し、「Tensor Display コンポーネント」を使用して確認します。上画像の様に、中心点に回転しながら向かっていく反時計回りのベクトル場が作成されているのがわかります。「Point Charge コンポーネント」の値を正の値にすれば中心から離れていくベクトルとなり、「Spin Force コンポーネント」の Strength の入力値を負にすれば時計回りのベクトル場となります。試して確認してみてください。
  2. 「Field Line コンポーネント」を使用して、作成したベクトル場で特定の点を動かした際の動線を可視化します。入力端子 F に作成したベクトル場を入力し、入力端子 P に半球の表面にランダムに作成した点を入力します。入力端子 N には Step 数を入力します。
  3. 1 枚目の画像の様に、半球の中に画像の緑色のような曲線が取得できていれば OK です。

完成

thumbnail
  1. 最後に、先ほど取得した曲線を「Extrude Point コンポーネント」で球の中心に向かって押し出していき完成です。
  2. 上画像のようになっていれば OK です。
thumbnail

以上になります、変数を変えてみながらどうな挙動をするか確認してみてください。(※動作が重いかもしれませんので注意してください。)Vector Field を使用した別のチュートリアルも以前作成しましたので、よろしければ以下のリンクからのぞいてみてください。

thumbnail

【Grasshopper Tutorial】 Paper Sphere

Grasshopperを使用したPaperSphereのモデリング

目 次