「Parametric Design with Grasshopper」という書籍を購入してグラスホッパーの勉強をしています。前回は難しくて解らないと投げてしまったものの「人のスクリプトを読むというのは大切な事ですね。自分にはない書き方を学ぶ良い機会になります。」という発言をしながらきちんと学んでない当たり、非常に雑だなと自分でも反省しまして、もうひと踏ん張り考えようと思いました。
まずは気づいた事から書いていきたいと思います。この形状とても複雑に見えますが、実はパターンがあります。
上から眺めているだけだとよくわからないのですが、切れ目に気付くと途端に理解しやすくなります。
よくよく見ると全部同じピースの六角形で出来ています。
それから、周囲の断面形状を考えると、山形を繋げた形状になっています。要するに六角形の頂点は常に低く、中点は常に上に上がっているという事になります。
それによって常に表面が繋がって、ピースの回転をしても、シームレスな模様が出来ていると考えられます。
Brep単位のエッジを検出してあげると読み方が分かります。この20個のパターンそれぞれができるようにスクリプトを組んでいたという事が分かります。
さらに6角形のパターンを2つに分割してあげると、相似形状であることが分かります。よって、20のブランチに別れている2つのパターン要素を作成しているのではないかというところまで見当がつきます。ここでダウンロードしたスクリプトに戻ります。
パネルでツリーを確認すると20x2の各ブランチに5本の曲線等が入っていて、それをShiftでずらしてからLoftしているのが分かります。私が躓いていたのは、5本の曲線のMerge以前の、ブランチに入っている各線を作成するところでした。改めて全体像を把握してから考えてみると今まで何の操作をしていたのかよく解りました。
解らない時は、結果から全体を把握して、もう一度考えてみるというのも一つのアプローチであるという事を学んだエクササイズでした。
Parametric Design with Grasshopper ― 建築/プロダクトのための、Grasshopperクックブック