
UU_Rhino会#2 parametric design
この記事は2020年1月14日に行われたUU_Rhino会のまとめです。
1.題材
Box Morphコンポーネントを使って、ある一つのオブジェクトを表面に合わせた比率で歪ませて配置するということをやってみました。
話題のBox Morph
公式の詳しい解説
Morphらしきものでparametricなランプを作っている人もいるそうです。
2.製作物
今回は立方体のような少し歪んだ形を、正方形の周りに何十個と歪ませて配置したオブジェクトを製作してみました。もう少しそれぞれの距離が狭ければ、3Dプリンターで出力しランプのデザインなんかにも使えるかなと思います。(面白そう)
Rhinocerosの方でプレビュー
Grasshopperでの構造はこんな感じになっています。
3.詳しい製作過程
先に⑦のBox Morphについて先に説明しておきます。
Box Morphは入力が3つあり、G(geometry)、R(Reference)、T(Target Box)となっています。要はG入力のあるモデルを、R入力の立方体との比率を参考にして、T入力の歪んだ四角形のなかにモデルを作り出すよ、みたいな感じ。
3.1 歪んだ面を作り出すために基準の立方体を作る
Box(Center Box)<Primitive<Surface
Pt(Construct Point)<Point<Vector
とりあえずBoxコンポーネントで立方体のサーフェイスを作ります。
ちなみにPtコンポーネントは、何も入力していないので原点を表しています。FGH(Full Grasshopper)で書きたい人におすすめです。
3.2 3.1の立方体をmeshにします。
MBox(Mesh Box)<Primitive<Mesh
Weld(Weld Mesh)<Util<Mesh
3.1の立方体のサーフェイスを元に、X,Y,Zに5分割されたメッシュを作り出します。とはいえプレビューだとどの辺が5分割されているかは全くわかりません笑
3.3 DeMeshで立方体のメッシュをバラバラに分解
DeMesh(Deconstruct Mesh)<Analysis<Mesh
Ln(Line)<Primitive<Curve
BCX(Brep | Curve)<Mathematical<Intersect
DeMeshコンポーネントで立方体のメッシュから面(Face)や点(Point)のリストに分解します。(これは分解されているのがよくわかる)
DeMeshコンポーネントの出力部分にマークがたくさんついていると思うのですが、これはGraftとSimplifyです。
Graft・・・今ある階層に自分自身を入れた階層を作りだす。(大きな部屋にいた人たちがそこから自分の部屋を作るイメージ)
Simplify・・・使っていない階層を無くす。
細かい階層のお話は公式を見ると詳しく書いてあります。
ちなみにどんな感じでデータ構造が変わるのかが気になったので調べてみました。
3.4 点郡をリスト化してサイズを大きくする
DeFace(Deconstruct Face)<Analysis<Mesh
Merge(Merge)<Tree<Sets
Item(List Item)<List<Sets
Scale<Affine<Transform
DeMesh→DeFace→Mergeのようにコンポーネントを通過させることで、Faceごとのデータを上手く作り直し使いやすいデータ構造に直しているのがわかります。
3.5 サイズの異なる点群を合体する
Flip(Flip Matrix)<Tree<Sets
BANG!(Explode Tree)<Tree<Sets
Box(Twisted Box)<Morph<Transform
BANG!コンポーネントはリストの分割に便利なコンポーネントで、今回のであれば{0}〜{7}の配列を持ったリストを1つ1つ取り出すことができるみたい。
説明するより見た方が楽かも
3.6 たくさん配置するモデルの1つを作る
3.7 Box Morphで配置
G(geometry)・・・配置するモデル
R(Reference)・・・基準にする立方体
T(Target Box)・・・配置する歪んだBoxの集合
4.参考資料
宇都宮大学UU_Rhino会では、「Parametric Design with Grasshopper」を使って、遊んでいます。豊富なプログラム例があるのですごく面白いので、少し高いですがおすすめです。