STUDIO TAMA

thumbnail

投稿日:2022-03-31

【Grasshopper】 Deformation of Mesh

  • #Grasshopper

  • #GH Modeling

  • #Basic

今回は、上画像の様にメッシュを変形させていきます。非常に簡単な内容となっているので、初学者の方も是非挑戦してみてください。こちらの記事は動画化もしております。動画の方がよい方は以下のリンクからどうぞ!

thumbnail

概要

thumbnail

上画像がプログラムの全体像となっております。各ブロックごとに説明していこうと思います。

球体メッシュ作成

thumbnail
  1. Mesh Sphere コンポーネントで球体のメッシュを作成します。中心は原点(0,0,0)、半径 100、メッシュ数は uv 方向 47 としています。
  2. Triangulate コンポーネントで四角形に分割されたメッシュを、三角形メッシュにします。
  3. Deconstruct Mesh コンポーネントでメッシュを分割しておきます。

メッシュの頂点を移動

thumbnail
  1. Move コンポーネントでメッシュの頂点を移動させていきます。Deconstruct Mesh コンポーネントから取得できる頂点を接続します。
  2. Deconstruct Mesh コンポーネントの出力端子 N から各メッシュの法線ベクトルが取得できます。Amplitude コンポーネントでこの法線ベクトルの量を再設定していきます。
  3. List Length コンポーネントで法線ベクトルの数を取得します。
  4. Random コンポーネントで法線ベクトルの数だけランダムな数値を作成します。ランダムな数値の範囲は適当に‐28 ~ 28 としています。(Construct Domain コンポーネントの入力端子 A には Expression で-x を入力しています)
  5. Range コンポーネントで取得したランダムな数値のリストを Amplitude コンポーネントの入力端子 A に接続しま。法線ベクトルの量がランダムに再設定されました。
  6. Move コンポーネントの入力端子 T に接続します。頂点が移動したかと思います。
  7. Construct Mesh コンポーネントで移動した頂点を使ってメッシュを再度構築します。入力端子 F には Deconstruct Mesh コンポーネントで分割した Face を入力します。これでメッシュの変形が完成です。

色付け

thumbnail
  1. ついでに色付けしていきます。Deconstruct Mesh コンポーネントで再構築したメッシュを再度分解します。
  2. Distance コンポーネントで各頂点と球の中心との距離を取得します。
  3. Bounds コンポーネントで取得した距離の最小値~最大値までのドメインを取得しまます。
  4. Deconstruct Domain コンポーネントでドメインを分解し最小値と最大値を取得します。
  5. Gradient コンポーネントで L0 に最小値、L1 に最大値を、t に Distance を接続します。これで、変形した際に中心から遠いほど Gradiate の右側の色に近づき、近ければ左側の色に近づきます。
  6. Mesh Color コンポーネントで色付けして完成です。

以上になります。応用していろんな形状を試してみてください。

目 次