GH Basics GH Tips Grasshopper

【Grasshopper Tips】 Torus Pattern

今回は上画像の様な、トーラス状のオブジェクトを生成していこうと思います。基本的な内容となっておりますので是非ご参考ください。こちらはWeaverbirdというプラグインを使用しております。こちらからインストールできます。こちらの記事は動画化しております。動画の方がよい方は以下のリンクからどうぞ!

概要

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

ベースとなる円の作成

  1. Circleコンポーネントで半径65の円を生成します。
  2. Perp Framesコンポーネントで円を等分割する位置に曲線に直行した平面を生成します。3の倍数だと都合がいいので、平面の数は5×3で15としています。
  3. Circleコンポーネントで生成した平面に半径30の円を生成します。
  4. Divide Curveコンポーネントで生成した円の分割点を取得します。3分割しています。

分割点を螺旋状に結ぶ曲線を生成

  1. 前項で生成した円の分割点の位置を回転させていきます。Rotateコンポーネントを用意します。
  2. Rotateコンポーネントの回転の中心点は、各円の中心点になるのでPerp Framesコンポーネントから取得します。Graftしてから接続します。
  3. 回転する角度のリストを作成します。今回は各円を3分割しているので、それぞれ360度÷3で120度ずつ回転させていきます。Seriesコンポーネントで120度ずつ増えていくリストを生成します。
  4. Rotateコンポーネントに角度のリストを接続します。Degree・Graftしてから接続します。
  5. Flip Matrixコンポーネントでリストとブランチを反転させます。
  6. Interpolateコンポーネントで回転させた分割点を結ぶ曲線を取得します。PeriodicInvertしTrueにすることで閉じた曲線が取得できます。

生成した曲線をもとにオブジェクト生成

  1. 前項で生成した3本の曲線に対してPerp Framesコンポーネントで、曲線に直行する平面を取得します。今回は各曲線に対して100平面取得しています。
  2. Circleコンポーネントで取得した平面に円を生成します。半径20としています。
  3. Loftコンポーネントで生成した円同士を結ぶサーフェイスを生成します。
  4. Loft OptionsコンポーネントでClosedをTrueにすることでサーフェイスを閉じます。上画像の様なオブジェクトが生成できていればOKです。

生成したオブジェクトのメッシュ化

  1. 一番最初に生成した円の分割数を5×3で15としていましたが、3×3で9に変更します。
  2. Meshコンポーネントでメッシュ化します。
  3. Reduce Meshコンポーネントでメッシュ数を減らします。Face Countを150としています。(※こちら処理が重いのでご注意ください。Simple Meshコンポーネントを使用したかったのですが、ワークしてくれませんでしたのでやむなくこちらを採用しています・・・)

Weaverbirdで別パターン

  1. Weaverbird's Picture Frameコンポーネントでメッシュの中心をくりぬきますDistanceを1とし、メッシュエッジから1の距離までサーフェイスを残します。
  2. Weaverbird's Mesh Thickenコンポーネントで上でくりぬいたメッシュに厚みを持たせます。Distanceは3にしています。上画像の様に別パタンのオブジェクトが生成されました。

SubDで別パターン

  1. SubD from Meshコンポーネントをかけて別パターンのオブジェクトを生成します。有機的になりましたかね・・・・

完成

以上になります。色んなやり方があるかと思いますので、自分なりの方法で試してみてください。

-GH Basics, GH Tips, Grasshopper
-, ,