[Grasshopper]New Opera House of Firenzeのファサードを再現[データも配布]

[Grasshopper]New Opera House of Firenzeのファサードを再現[データも配布] grasshopper
https://www.simes.it/en/overview/66/slot-pole

今回は、グラスホッパーでNew Opera House of Firenzeのファサードを再現しました。


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


全体の様子

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

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

全体の様子3
全体の様子4

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

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

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

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

全体コンポーネント

全体コンポーネント:①RectangleExplodeUnit ZMoveRuled SurfaceMultiplicationDivide SurfacePolyLineCull IndexPerp FramesDeconstruct PlaneAreaVector 2PtLoftCap HolesDivide Domain²DivisionOffset SurfaceIsotrimList LengthConstruct DomainRandomIntegerMD SliderEvaluate SurfaceExtrude

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

縦格子部分を作成する

最初に、縦格子部分を作成します。

四角形

最初に、RectangleのXとY端子に、2方向の辺の長さの数値を入力します。

今回は、X端子に40000、Y端子に20000の数値を入力しています。

すると、上の画像のように、40000×20000の四角形の線データが作成されました。

分解

その後、RectangleのR端子を、ExplodeのC端子につなげます。

すると、四角形の線データが、各頂点の位置で4つの線データに分解されました。

移動

その後、Unit Zに、真上方向に移動させる距離の数値を入力します。

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

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

さらに、ExplodeのS端子を、MoveのG端子につなげます。

すると、上の画像のように、真上方向に線データが移動しました。

サーフェス

その後、ExplodeのS端子とMoveのG端子を、Ruled Surfaceにつなげます。

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

分割点

その後、MultiplicationのA端子に、20の数値を入力します。

さらに、MultiplicationのB端子に、2の数値を入力します。

すると、20×2=40の数値が出力されます。

その後、MultiplicationのR端子を、Divide SurfaceのU端子につなげます。

さらに、1の数値を、Divide SurfaceのV端子につなげます。

そして、Ruled Surfaceを、Divide SurfaceのS端子につなげます。

すると、上の画像のように、サーフェス上に分割点が作成されます。

点をつなぐ線

その後、Divide SurfaceのP端子を、PolyLineのV端子につなげます。

すると、上の画像のように、分割点をつなぐ縦向きの線が作成されます。

Flatten

その後、PolyLineを、Cull IndexのL端子につなげます。

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

そして、Cull IndexのI端子に、0の数値を入力します。

すると、2つに重複している一番端の線を、1本消すことができます。

正方形

その後、Cull Indexを、Perp FramesのC端子につなげます。

さらに、Perp FramesのN端子に、1の数値を入力します。

すると、線の両端に、作業平面が作成されます。

その後、Perp FramesのF端子を、RectangleのP端子につなげます。

さらに、RectangleのXとY端子に、2方向の辺の長さの数値を入力します。

今回は、どちらにも100の数値を入力しています。

すると、上の画像のように、線の両端に正方形が作成されます。

点を取得

その後、RectangleのR端子を、Areaにつなげます。

すると、四角形の中心点を取得できます。

さらに、Perp FramesのF端子を、Deconstruct Planeにつなげます。

すると、線の両端にある作業平面の原点を取得できます。

正方形を移動

その後、AreaのC端子を、Vector 2PtのA端子につなげます。

さらに、Deconstruct PlaneのO端子に、Vector 2PtのB端子につなげます。

すると、正方形の中心点から、作業平面の原点までのベクトルデータを取得できます。

その後、Vector 2PtのV端子を、MoveのT端子につなげます。

さらに、RectangleのR端子を、MoveのG端子につなげます。

すると、上の画像のように、正方形が線の中心に来るように移動しました。

縦格子

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

すると、2つの正方形をつなぐサーフェスが作成されます。

そして、Loftを、Cap Holesにつなげます。

すると、サーフェスが閉じ、縦格子が完成します。

縦格子の様子

こちらが、全体の縦格子の様子です。

パネル部分を作成する

次に、パネル部分を作成していきます。

オフセット

その後、先程の100の数値を、DivisionのA端子につなげます。

さらに、2の数値を、DivisionのB端子につなげます。

すると、100÷2=50の数値が出力されます。

その後、Divisionを、Offset SurfaceのD端子につなげます。

さらに、Ruled Surfaceを、Offset SurfaceのS端子につなげます。

すると、上の画像のように、縦格子の外側部分まで、サーフェスがオフセットされました。

Graft

その後、Divide Domain²のI端子に、Ruled Surfaceをつなげます。

さらに、先程使った20の数値を、Divide Domain²のU端子につなげます。

また、100の数値を、Divide Domain²のV端子につなげます。

その後、Divide Domain²を、IsotrimのD端子につなげます。

さらに、Offset Surfaceを、IsotrimのS端子につなげます。

この際に、IsotrimのS端子を右クリックし、Graftに設定してください。

サーフェスを分割

すると、上の画像のように、サーフェスが分割されました。

Flatten

その後、Isotrimの右側のS端子を右クリックし、Flattenを選択してください。

ランダムな数値

次に、ランダムにパネルのサーフェスを消していきます。

Isotrimを、List Lengthにつなげます。

すると、分割したサーフェスの個数の数値を取得できます。

今回の場合、8000の数値が出力されています。

その後、0の数値を、Construct DomainのA端子につなげます。

さらに、List Lengthを、Construct DomainのB端子につなげます。

すると、0 To 8000の数値範囲が作成されます。

その後、Construct Domainを、RandomのR端子につなげます。

その後、作成するランダムな数値の個数の数値を入力します。

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

さらに、RandomのS端子に、任意のランダムさのシード値を入力します。

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

すると、0~8000の数値範囲で、ランダムな数値が5000個作成されます。

その後、Randomを、Integerにつなげます。

すると、出力されたランダムな少数点の数値を、整数に変換できます。

その後、Isotrimを、Cull IndexのL端子につなげます。

さらに、Integerを、Cull IndexのI端子につなげます。

パネルのサーフェスをランダムに消せた

すると、上の画像のように、パネルのサーフェスをランダムに消すことができました。

Reparameterize

その後、Cull Indexを、Evaluate SurfaceのS端子につなげます。

この際に、Evaluate SurfaceのS端子を右クリックし、Reparameterizeに設定してください。

これにより、サーフェス上の位置を、0~1の数値で指定することができます。

その後、MD Sliderを、Evaluate Surfaceのuv端子につなげます。

サーフェスの情報を取得

すると、サーフェス上に表示される点の位置のサーフェス情報を取得できます。

厚み

その後、Evaluate SurfaceのN端子を、MultiplicationのA端子につなげます。

Evaluate SurfaceのN端子からは、各サーフェスの法線方向のベクトルを取得できます。

また、厚みの数値を、MultiplicationのB端子につなげます。

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

その後、Multiplicationを、ExtrudeのD端子につなげます。

さらに、Cull Indexを、ExtrudeのB端子につなげます。

すると、上の画像のように、サーフェスに厚みができます。

完成

作成した縦格子と合わせると、完成です。

全体の様子

最終的な全体の様子です。

今回は以上になります。

コメント

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