[Grasshopper]ザハ・ハディッドの貝殻のようなBurnham Pavilionを再現

grasshopper
https://www.archdaily.com/33110/burnham-pavilion-zaha-hadid

今回は、グラスホッパーでザハ・ハディッドの貝殻のようなBurnham Pavilionを再現しました。


本記事では、コンポーネントはアイコン表示になっています。


全体の様子

全体の様子1
全体の様子2
全体の様子3

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

全体の様子4
全体の様子5
全体の様子6

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

レンダリング

上の画像は、最終的にレンダリングした様子です。

それでは、順番に解説していきます。

今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら

ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。

全体コンポーネント

全体コンポーネント:①Construct PointYZ PlanePolygonScale NUAdditionSeriesUnit XMoveAreaDivisionGraph MapperMultiplicationScaleCull Index ⑭Trim Tree ⑮Shift List ⑯Tween Curve ⑰MergeLoftCap HolesNegativeOffset CurveSolid DifferenceList Item

全体コンポーネント1
画像をクリックして拡大して見る
全体コンポーネント2
画像をクリックして拡大して見る
全体コンポーネント3
画像をクリックして拡大して見る
全体コンポーネント4
画像をクリックして拡大して見る
全体コンポーネント5
画像をクリックして拡大して見る
全体コンポーネント6
画像をクリックして拡大して見る

基準の曲線を作成する

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

点

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個作成されます。

その後、Seriesを、Unit Xにつなげます。

その後、Unit Xを、MoveのT端子につなげます。

また、Scale NUのG端子を、MoveのG端子につなげます。

配列コピー

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

中心点

その後、MoveのG端子を、Areaにつなげます。

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

スケールの数値

次に、スケールを変えるための数値を作成します。

1の数値を、DivisionのA端子につなげます。

また、先程使用した20の数値を、DivisionのB端子につなげます。

すると、1÷20の数値が出力されます。

その後、Divisionを、SeriesのN端子につなげます。

さらに、先程使用したAdditionを、SeriesのC端子につなげます。

すると、0から1÷20の数値ずつ増加する数値が、21個作成されます。

この数値は、次に使うグラフのX座標の数値になります。

その後、Seriesを、Graph Mapperにつなげます。

Bezier

この際に、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端子につなげます。

また、AreaのC端子を、ScaleのC端子につなげます。

さらに、1より小さい倍率の数値を、ScaleのF端子につなげます。

今回は、0.95の数値を入力しています。

すると、上の画像のように、新たに作成した曲線のスケールが小さくなりました。

階層を変える

その後、ScaleのG端子を、Trim TreeのT端子につなげます。

そして、3の数値を、Trim TreeのD端子につなげます。

すると、上の画像のように、データの階層が3つ削除され、{0;0;0;0}から{0}に変わります。

つなげる順番

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

Graft

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

データが結合された

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

1つの階層に3つの線

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

厚みを付ける

最後に厚みを付けていきます。

各階層の3つの曲線をつなぐサーフェス

Mergeを、LoftのC端子につなげます。

すると、上の画像のように、各階層の3つの曲線をつなぐサーフェスが作成されます。

そして、Loftを、Cap Holesにつなげると、穴が塞がります。

Flatten

この際に、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につなげると、穴が塞がります。

Flatten

この際に、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 DifferenceList Itemを、Mergeにつなげ、データを結合します。

これで完成です。

今回は以上になります。

コメント

Translate »
タイトルとURLをコピーしました