[Grasshopper]ランダムに回転するボロノイのファサード[データも配布]

[Grasshopper]ランダムに回転するボロノイのファサード[データも配布] grasshopper
本サイトはプロモーションが含まれています

今回は、グラスホッパーでランダムに回転するボロノイのファサードの作成方法について解説します。

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


↑YouTube始めました。

本サイトIArchwayでは、GrasshopperやRhinocerousのサポートや相談をココナラで受け付けています。


全体の様子

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

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

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

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

レンダリング

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

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

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

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

全体コンポーネント

全体コンポーネント:①XZ PlaneRectangleSurfacePopulate 2D ⑤Voronoi ⑥AreaScaleRuled SurfaceUnit YExtrudeDivisionNegativeMoveXY PlaneList LengthConstruct DomainRandomRotateCurve ⑳Curve | Plane ㉑PolyLineRotate AxisPipeMerge ㉕Solid Union

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

基準となるボロノイのサーフェスを作成する

最初に、基準となるボロノイのサーフェスを作成していきます。

四角形の線データ

最初に、XZ Planeを配置します。

すると、X方向とZ方向から作成される作業平面が作成されます。

その後、XZ Planeを、Rectangle(P)につなげます。

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

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

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

サーフェス

その後、Rectangle(R)を、Surfaceにつなげます。

すると、上の画像のように、四角形の線データからサーフェスが作成されます。

ランダムな点

その後、Surfaceを、Populate 2D(R)につなげます。

さらに、点の個数の数値を、Populate 2D(N)につなげます。

今回は、300の数値を入力します。

さらに、任意のランダムさを変えるシード値を、Populate 2D(S)につなげます。

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

すると、上の画像のように、ランダムな点が300個作成されます。

ボロノイの線

その後、Populate 2Dを、Voronoi(P)につなげます。

さらに、Surfaceを、Voronoi(B)につなげます。

すると、上の画像のように、ボロノイの線データが作成されます。

ボロノイのサーフェス

その後、Voronoiを、Surfaceにつなげます。

すると、上の画像のように、ボロノイの線データから、ボロノイのサーフェスが作成されます。

これで、基準となるボロノイのサーフェスを作成することができました。

枠を作成する

次に、枠を作成していきます。

中心点

Surfaceを、Areaにつなげます。

すると、上の画像のように、各サーフェスの中心点を取得できます。

スケール変更

その後、Area(C)を、Scale(C)につなげます。

さらに、Surfaceを、Scale(G)につなげます。

その後、倍率の数値を、Scale(F)につなげます。

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

すると、上の画像のように、各サーフェスのスケールが小さくなりました。

枠のサーフェス

その後、SurfaceScale(G)を、Ruled Surfaceにつなげます。

すると、上の画像のように、スケール変更前と後の枠線をつなぎ、枠のサーフェスが作成されます。

スケール

その後、Scale(G)を、新たなScale(G)につなげます。

さらに、先程のArea(C)を、新たなScale(C)につなげます。

さらに、先程の0.9の数値を、新たなScale(F)につなげます。

すると、上の画像のように、新たに小さくなったボロノイのサーフェスが作成されます。

厚み

その後、2つのExtrudeを用意します。

Ruled SurfaceScale(G)を、Extrude(B)にそれぞれつなげます。

その後、厚みの数値を、Unit Yにつなげます。

さらに、Unit Yを、2つのExtrude(D)につなげます。

すると、上の画像のように、厚みを付けることができました。

移動

その後、先程の50の数値を、Division(A)につなげます。

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

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

その後、Divisionを、Negativeにつなげます。

すると、25の数値が-25になりました。

その後、Negativeを、Unit Yにつなげます。

その後、2つのMoveを用意します。

Unit Yを、2つのMove(T)につなげます。

その後、Extrudeを、2つのMove(G)にそれぞれつなげます。

すると、上の画像のように、先程とは逆方向に厚みの半分だけ移動しました。

この移動は、後程作成する回転軸が、枠の中心に来るために移動させています。

これで、枠を作成することができました。

回転軸を作成してボロノイを回転させる

次に、回転軸を作成してボロノイを回転させます。

線

1つ目のScale(G)を、Curveにつなげます。

すると、上の画像のように、ボロノイの線を取得できます。

軸を作成する数値

Area(C)を、XY PlaneXZ Planeにつなげます。

すると、X方向とY方向、X方向とZ方向から作成される作業平面が、各中心点の位置に作成されます。

その後、XZ Planeを、List Lengthにつなげます。

すると、作業平面の個数の数値を取得できます。

今回の場合、300の数値が取得されます。

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

さらに、180の数値を、Construct Domain(B)につなげます。

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

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

さらに、List Lengthを、Random(N)につなげます。

さらに、任意のランダムさを変えるシード値を、Random(S)につなげます。

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

すると、0~180の数値範囲で、数値が300個作成されます。

その後、XY Planeを、Rotate(G)につなげます。

Degrees

さらに、Randomを、Rotate(A)につなげます。

この際に、Rotate(A)を右クリックし、Degreesに設定してください。

さらに、XZ Planeを、Rotate(P)につなげます。

すると、各XY作業作業平面が、XZ作業平面上でランダムに回転します。

交差点

その後、Curveを、Curve | Plane(C)につなげます。

さらに、Rotate(G)を、Curve | Plane(P)につなげます。

すると、上の画像のように、ボロノイ線と作業平面が交差する位置に、点が作成されます。

点をつなぐ線

その後、Curve | Plane(P)を、PolyLine(V)につなげます。

すると、上の画像のように、点をつなぐ線が作成されました。

Flatten

この際に、PolyLine(Pl)を右クリックし、Flattenに設定してください。

ランダムな数値

その後、内側のボロノイの方のMove(G)を、List Lengthにつなげます。

すると、内側のボロノイの個数の数値を取得できます。

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

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

さらに、90の数値を、Construct Domain(B)につなげます。

すると、0 To 90という数値範囲が作成されます。

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

さらに、List Lengthを、Random(N)につなげます。

さらに、任意のランダムさの数値を変えるシード値を、Random(S)につなげます。

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

すると、0~90の数値範囲内で、数値が300個作成されます。

Degrees

その後、Randomを、Rotate Axis(A)につなげます。

この際に、Rotate Axis(A)を右クリックし、Degreesに設定してください。

Flatten

その後、PolyLineを、Rotate Axis(X)につなげます。

この際に、Rotate Axis(X)を右クリックし、Flattenに設定してください。

回転

その後、内側のボロノイの方のMove(G)を、Rotate Axis(G)につなげます。

すると、上の画像のように、線を回転軸にしてボロノイが回転しました。

Graft

この際に、Rotate Axis(G)を右クリックし、Graftに設定してください。

これで、回転軸を作成してボロノイを回転させることができました。

回転軸のパイプとボロノイを結合する

最後に、回転軸のパイプとボロノイを結合していきます。

パイプ

PolyLineを、Pipe(C)につなげます。

さらに、半径の数値を、Pipe(R)につなげます。

さらに、2の数値を、Pipe(E)につなげます。

2の数値を使うと、パイプの角が丸くなります。Pipe(R)につなげます。

これにより、上の画像のように、線からパイプが作成されます。

Simplify

その後、Rotate Axis(G)とPipeを、Mergeにつなげます。

この際に、Merge(D1とD2)を右クリックし、Simplifyに設定してください。

データを結合

すると、データを結合できます。

結合

その後、Mergeを、Solid Unionにつなげます。

すると、ボロノイとパイプのモデルが結合されました。

完成
完成

先程の枠を表示すると完成です。

今回は以上になります。

Comment

Translate »