GH Basics GH Tutorial Grasshopper Objects

【Grasshopper Tutorial】 Paper Sphere

今回は上画像の様な、紙を組み合わせたような球体Paper Sphereを作成していこうと思います。プログラムを組んでいく中で、Vector Fieldsを使用していきます。使いこなせば作成できるものの幅が広がるかと思いますので、是非挑戦してみてください。こちら動画化もしてますので、動画の方がわかりやすい方は以下のリンクからどうぞ!

概要

上画像がプログラムの全体像です。大まかな流れは以下の様になっております。

  1. ベースとなる四角形を作成
  2. Vector Fieldsを作成
  3. Vector FieldsからNurbs Curveを作成
  4. Nurbs Curveを押出し
  5. 押出しを回転
  6. 押出しを球体で切断

ベースとなる四角を作成

  1. 「Rectangleコンポーネント」で四角形を作成していきます。今回は原点(0,0,0)を中心とした1000mm×1000mmとしました。
  2. 「Evaluate Surfaceコンポーネント」を使用し、作成した四角形内の点を取得します。入力端子uvに「MD Sliderコンポーネント」を使用し、値を入力します。今回は(u : 0.5, v : 0.5)を入力し、四角形の中点を取得します。

Vector Fieldsを作成

  1. 「Spin Forceコンポーネント」を使用し、入力した平面から発生する回転するベクトルを作成します。入力端子Pに「Evaluate Surfaceコンポーネント」で取得した四角形の中点を、入力端子S(Strength)にはSpin Forceの強度を(今回は1を入力)、入力端子R(Radius)にはSpin Force半径を(今回は2を入力)、入力端子D(Decay)には減衰値を(今回は0)、入力端子B(Bounds)には境界を入力します(今回は最初に作成した四角形)。
  2. 「Point Chargeコンポーネント」を使用し、入力した点から発生するベクトルを作成します。入力端子Pに「Evaluate Surfaceコンポーネント」で取得した四角形の中点を、入力端子C(Charge)にはPoint Chargeの強度を(今回は2を入力)、入力端子D(Decay)には減衰値を(今回は0)、入力端子B(Bounds)には境界を入力します(今回は最初に作成した四角形)。
  3. 「Merge Fieldsコンポーネント」で2つのベクトルを結合します。
  4. 「Tensor Displayコンポーネント」でベクトルを可視化してみます。上画像の様に、四角形の中点から境界に向けて緩やからカーブを描くベクトルになってればOKです。(※数字を変化させてどのようにベクトルが変化していくか、是非確認してみてください。)

Vector FieldsからNurbs Curveを作成

  1. 「Circleコンポーネント」「Evaluate Surfaceコンポーネント」で取得した点を中心とした円を作成します。今回は半径を5としてます。
  2. 「Divide Curveコンポーネント」で作成した円を分割します。今回は20分割しています。
  3. 「Field Lineコンポーネント」でVector Fieldsで点を動かした際の曲線を可視化します。入力端子Fに「Merge Forceコンポーネント」の出力端子を、入力端子Pに「Divide Curveコンポ―ネント」で取得した円の分割点を、入力端子NにStep数を入力(今回は10000)を入力してます。
  4. 「Divide Curveコンポ―ネント」「Field Lineコンポーネント」によって可視化した曲線を分割します。今回は10分割しています。
  5. 「Nurbs Curveコンポーネント」で分割点をつなぐNurbs Curveを作成します。上画像の様になっていればOKです。

Nurbs Curveを押出し

  1. 「Extrudeコンポーネント」を2つ用意し、作成したNurbs Curveを上下Z方向に押し出していきます。+Z方向に500mm、-Z方向に500mm押し出します。
  2. 「Brep Joinコンポーネント」で作成した2つの押し出しを結合します。上画像の様になっていればOKです。

押出しを回転

  1. 「Roate3Dコンポーネント」で作成した押し出しを90度回転させます。Y軸回りに90度、Z軸回りに90度回転させたものをそれぞれ作成します。
  2. 上画像の様になっていればOKです。

押出しを球体で切断

  1. 「Sphereコンポーネント」で序盤に「Evaluate Surfaceコンポーネント」で取得した、四角形の中心点を中心とした、半径500mmの円を作成します。
  2. 「Split Brep Multipleコンポーネント」で球を用いて押し出したBrepを切断します。入力端子Bには2つの「Rotate3Dコンポーネント」の出力端子と「Brep Joinコンポーネント」の出力端子を接続し、入力端子Cに作成した球を接続します。
  3. 「List Itemコンポーネント」を用いて、切断後のオブジェクトを取得して完成です。変数を変えていろんな形状を試してみてください。

以上になります!今回はVector Fieldsを基本的な使用方法で活用してみました。Vector Fieldsは3次元での活用も可能ですので、是非挑戦してみてください!

【参考文献】

  • AppliCraft : https://www.applicraft.com/

-GH Basics, GH Tutorial, Grasshopper, Objects
-, ,