見出し画像

UU_Rhino会#2 parametric design

この記事は2020年1月14日に行われたUU_Rhino会のまとめです。

1.題材

Box Morphコンポーネントを使って、ある一つのオブジェクトを表面に合わせた比率で歪ませて配置するということをやってみました。

話題のBox Morph

画像1

公式の詳しい解説

Morphらしきものでparametricなランプを作っている人もいるそうです。

画像18

2.製作物

画像12

今回は立方体のような少し歪んだ形を、正方形の周りに何十個と歪ませて配置したオブジェクトを製作してみました。もう少しそれぞれの距離が狭ければ、3Dプリンターで出力しランプのデザインなんかにも使えるかなと思います。(面白そう)

Rhinocerosの方でプレビュー

画像12

Grasshopperでの構造はこんな感じになっています。

3.詳しい製作過程

Rhino会2-100

先に⑦のBox Morphについて先に説明しておきます。

画像5

Box Morphは入力が3つあり、G(geometry)、R(Reference)、T(Target Box)となっています。要はG入力のあるモデルを、R入力の立方体との比率を参考にして、T入力の歪んだ四角形のなかにモデルを作り出すよ、みたいな感じ。


3.1  歪んだ面を作り出すために基準の立方体を作る

画像6

Box(Center Box)<Primitive<Surface
Pt(Construct Point)<Point<Vector
とりあえずBoxコンポーネントで立方体のサーフェイスを作ります。

ちなみにPtコンポーネントは、何も入力していないので原点を表しています。FGH(Full Grasshopper)で書きたい人におすすめです。

3.2 3.1の立方体をmeshにします。

画像8

MBox(Mesh Box)<Primitive<Mesh
Weld(Weld Mesh)<Util<Mesh

3.1の立方体のサーフェイスを元に、X,Y,Zに5分割されたメッシュを作り出します。とはいえプレビューだとどの辺が5分割されているかは全くわかりません笑

画像12

3.3 DeMeshで立方体のメッシュをバラバラに分解

画像8

DeMesh(Deconstruct Mesh)<Analysis<Mesh
Ln(Line)<Primitive<Curve
BCX(Brep | Curve)<Mathematical<Intersect

DeMeshコンポーネントで立方体のメッシュから面(Face)や点(Point)のリストに分解します。(これは分解されているのがよくわかる)

画像15

DeMeshコンポーネントの出力部分にマークがたくさんついていると思うのですが、これはGraftとSimplifyです。

Graft・・・今ある階層に自分自身を入れた階層を作りだす。(大きな部屋にいた人たちがそこから自分の部屋を作るイメージ)
Simplify・・・使っていない階層を無くす。

細かい階層のお話は公式を見ると詳しく書いてあります。

ちなみにどんな感じでデータ構造が変わるのかが気になったので調べてみました。

画像14


3.4  点郡をリスト化してサイズを大きくする

画像9

DeFace(Deconstruct Face)<Analysis<Mesh
Merge(Merge)<Tree<Sets
Item(List Item)<List<Sets
Scale<Affine<Transform

DeMesh→DeFace→Mergeのようにコンポーネントを通過させることで、Faceごとのデータを上手く作り直し使いやすいデータ構造に直しているのがわかります。

画像16

3.5 サイズの異なる点群を合体する

画像10

Flip(Flip Matrix)<Tree<Sets
BANG!(Explode Tree)<Tree<Sets
Box(Twisted Box)<Morph<Transform

BANG!コンポーネントはリストの分割に便利なコンポーネントで、今回のであれば{0}〜{7}の配列を持ったリストを1つ1つ取り出すことができるみたい。

画像17

説明するより見た方が楽かも

3.6 たくさん配置するモデルの1つを作る

画像11

3.7 Box Morphで配置

画像13

G(geometry)・・・配置するモデル
R(Reference)・・・基準にする立方体
T(Target Box)・・・配置する歪んだBoxの集合

4.参考資料

宇都宮大学UU_Rhino会では、「Parametric Design with Grasshopper」を使って、遊んでいます。豊富なプログラム例があるのですごく面白いので、少し高いですがおすすめです。



この記事が気に入ったらサポートをしてみませんか?