https://www.archdaily.com/33110/burnham-pavilion-zaha-hadid
今回は、グラスホッパーでザハ・ハディッドの貝殻のようなBurnham Pavilionを再現しました。
動画で見る
全体の様子



上3枚の画像は、グラスホッパーの様子です。



上3枚の画像は、ライノセラス上に書き出した様子です。

上の画像は、最終的にレンダリングした様子です。
それでは、順番に解説していきます。
今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
全体コンポーネント
全体コンポーネント:①Construct Point ②YZ Plane ③Polygon ④Scale NU ⑤Addition ⑥Series ⑦Unit X ⑧Move ⑧Area ⑨Division ⑩Graph Mapper ⑪Multiplication ⑫Scale ⑬Cull Index ⑭Trim Tree ⑮Shift List ⑯Tween Curve ⑰Merge ⑱Loft ⑲Cap Holes ⑳Negative ㉑Offset Curve ㉒Solid Difference ㉓List Item






基準の曲線を作成する
最初は、基準となる曲線を作成します。

Construct PointのZ端子に、基準となる高さの数値を入力します。
今回は、1500の数値を入力しています。
すると、上の画像のように、0,0,1500の座標の位置に、点が作成されます。
その後、Construct Pointを、YZ Planeにつなげます。
すると、点の位置に、Y方向とZ方向から作成される作業平面が設定されます。

その後、YZ Planeを、PolygonのP端子につなげます。
そして、PolygonのR端子に、半径の数値を入力します。
今回は、500の数値を入力しています。
また、PolygonのS端子に、多角形の角数の数値を入力します。
今回は3の数値を入力しているので、三角形が作成されます。
さらに、PolygonのRf端子に、角の丸みの半径の数値を入力します。
今回は、220の数値を入力しています。
すると、上の画像のように、角が丸い三角形の曲線が作成されました。

その後、PolygonのP端子を、Scale NUのG端子につなげます。
さらに、Scale NUのY端子に、スケールの倍率の数値を入力します。
今回は、2の数値を入力しています。
すると、上の画像のように、曲線が横方向に2倍の大きさにスケールが変わりました。
これで、基準の曲線を作成することができました。
曲線を複製してスケールを変える
次に、曲線を複製してスケールを変えていきます。

Additionに、複製する個数より、1だけ少ない数値を入力します。
今回は、20の数値を入力しています。
さらに、Additionに、1の数値を入力します。
すると、20+1=21の数値が出力されます。
その後、Additionを、SeriesのC端子につなげます。
さらに、SeriesのN端子に、複製した際の間隔の数値を入力します。
今回は、500の数値を入力しています。
すると、0から500ずつ増加する数値が、21個作成されます。
また、Scale NUのG端子を、MoveのG端子につなげます。

すると、上の画像のように、曲線をX方向に配列コピーすることができました。

すると、上の画像のように、曲線の中心点を取得できます。

次に、スケールを変えるための数値を作成します。
1の数値を、DivisionのA端子につなげます。
また、先程使用した20の数値を、DivisionのB端子につなげます。
すると、1÷20の数値が出力されます。
その後、Divisionを、SeriesのN端子につなげます。
さらに、先程使用したAdditionを、SeriesのC端子につなげます。
すると、0から1÷20の数値ずつ増加する数値が、21個作成されます。
この数値は、次に使うグラフのX座標の数値になります。
その後、Seriesを、Graph Mapperにつなげます。

この際に、Graph Mapperを右クリックし、Graph typesからBezierに設定してください。
そして、2つ前の画像を参考に、グラフの形を設定してください。

この際に、両端の〇を、一番下から少し上に移動させてください。
一番下にあると、0の数値が出力され、スケール変更の際に曲線のスケールが0になってしまいます。
その後、Graph Mapperを、Multiplicationにつなげます。
また、任意の倍率の数値を、Multiplicationにつなげます。
今回は、13の数値を入力しています。

その後、MoveのG端子を、ScaleのG端子につなげます。
さらに、AreaのC端子を、ScaleのC端子につなげます。
また、Multiplicationを、ScaleのF端子につなげます。
すると、上の画像のように、曲線のスケールが変わります。
各曲線の中間に新たな曲線を作成する
次に、各曲線の中間に、新たな曲線を作成していきます。

ScaleのG端子を、Cull IndexのL端子につなげます。
さらに、-1の数値を、Cull IndexのI端子につなげます。
すると、上の画像のように、最後の曲線のみ削除されます。

その後、Cull Indexを、Trim TreeのT端子につなげます。
そして、2の数値を、Trim TreeのD端子につなげます。
すると、データの階層が2つ削除され、{0;0;0}から{0}に変わります。

その後、ScaleのG端子を、Shift ListのL端子につなげます。
そして、1の数値を、Shift ListのS端子につなげます。
すると、曲線のデータが1つずつずれます。
その後、Shift Listを、Cull IndexのL端子につなげます。
さらに、-1の数値を、Cull IndexのI端子につなげます。
すると、上の画像のように、先程とは反対の端の曲線のみが削除されました。

その後、Cull Indexを、Trim TreeのT端子につなげます。
そして、3の数値を、Trim TreeのD端子につなげます。
すると、データの階層が3つ削除され、{0;0;0;0}から{0}に変わります。

その後、ScaleのG端子を、Tween CurveのA端子につなげます。
さらに、Shift Listを、Tween CurveのB端子につなげます。
すると、各曲線の中間に、新たな曲線が作成されます。
しかし、この状態では中心部分に余計な曲線が作成されています。

その後、Tween Curveを、Cull IndexのL端子につなげます。
さらに、-1の数値を、Cull IndexのI端子につなげます。
すると、上の画像のように、中心の余分な曲線を削除できました。

その後、Cull Indexを、Areaにつなげます。
すると、上の画像のように、新たに作成した曲線の中心点を取得できました。

その後、Cull Indexを、ScaleのG端子につなげます。
さらに、1より小さい倍率の数値を、ScaleのF端子につなげます。
今回は、0.95の数値を入力しています。
すると、上の画像のように、新たに作成した曲線のスケールが小さくなりました。

その後、ScaleのG端子を、Trim TreeのT端子につなげます。
そして、3の数値を、Trim TreeのD端子につなげます。
すると、上の画像のように、データの階層が3つ削除され、{0;0;0;0}から{0}に変わります。

その後、3つのTrim Treeを、上の画像の順番でMergeにつなげます。

この際に、MergeのD1・D2・D3端子を右クリックし、Graftに設定してください。

すると、上の画像のように、3種類の線データが結合されました。

データを見てみると、1つの階層に3つの曲線データが割り当てられます。
厚みを付ける
最後に厚みを付けていきます。

すると、上の画像のように、各階層の3つの曲線をつなぐサーフェスが作成されます。
そして、Loftを、Cap Holesにつなげると、穴が塞がります。

この際に、LoftのL端子を右クリックし、Flattenに設定してください。

その後、Mergeを、Offset CurveのC端子につなげます。
また、オフセットする距離の数値を、Negativeにつなげます。
今回は、50の数値を入力しています。
すると、50から-50の数値に変わります。
そして、Negativeを、Offset CurveのD端子につなげます。
すると、上の画像のように、曲線が内側にオフセットされます。

今回の場合、先程までは1つの階層に3つの曲線がありましたが、オフセットをすると、1つの階層に1つの曲線になってしまいます。
そのため、Offset CurveをTrim Treeにつなげ、階層を{0;0;0}から{0;0}にします。
すると、再度1つの階層に3つの曲線がある状態に戻ります。

その後、Trim Treeを、LoftのC端子につなげます。
すると、上の画像のように、オフセットした曲線をつなぐサーフェスが作成されます。
そして、Loftを、Cap Holesにつなげると、穴が塞がります。

この際に、LoftのL端子を右クリックし、Flattenに設定してください。

現段階では、1つの大きなオブジェクトの中に、少し小さいオブジェクトがあります。
大きい方のオブジェクトのCap Holesを、Solid DifferenceのA端子につなげます。
そして、小さい方のオブジェクトのCap Holesを、Solid DifferenceのB端子につなげます。

すると、上の画像のように、空洞部分ができました。

その後、小さい方のオブジェクトのCap Holesを、List ItemのL端子につなげます。
そして、0と-1の数値を、List Itemのi端子につなげます。
すると、上の画像のように、両端部分のオブジェクトを取得できました。
この取得したオブジェクトを使い、両端の穴を塞ぎます。

最後に、Solid DifferenceとList Itemを、Mergeにつなげ、データを結合します。
これで完成です。
今回は以上になります。
Comment