[Grasshopper]放物線を描くように放射状に広がるルーバーの作成方法[データも配布]

grasshopper
本サイトはプロモーションが含まれています

今回は、グラスホッパーで放物線を描くように放射状に広がるルーバーの作成方法について解説します。

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


↑YouTube始めました。

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


動画で見る

全体の様子

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

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

全体の様子6
全体の様子7
全体の様子8
全体の様子9
全体の様子10

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

レンダリング

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

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

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

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

全体コンポーネント

全体コンポーネント:①CircleAreaDivisionAdditionSeriesGraph MapperBoundsConstruct DomainRemap NumbersScaleUnit ZMoveLoftList ItemDivide CurveLineProjectPerp FramesRectangleDeconstruct PlaneMultiplicationNegativeCap Holes

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

スケールが異なる複数の円を作成する

最初に、スケールが異なる複数の円を作成していきます。

円

CircleのR端子に、半径の数値を入力します。

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

すると、上の画像のように、半径1000の円の線データが作成されました。

中心点

その後、Circleを、Areaにつなげます。

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

円のスケールを変える数値

次に、円のスケールを変える数値を作成していきます。

最終的に追加する円の個数の数値を用意します。

今回は、10の数値を用意しています。

その後、10の数値を、DivisionのB端子につなげます。

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

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

その後、先程の10の数値と1の数値を、Additionにつなげます。

すると、10+1=11の数値が出力されます。

この数値は、最終的な円の個数の数値になります。

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

さらに、Additionを、SeriesのC端子につなげます。

すると、0から0.1ずつ増加する数値が、11個作成されます。

これらの数値は、次に使うグラフのX軸の数値になります。

Bezier

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

この際に、Graph Mapperを右クリックし、Bezierに設定してください。

さらに、上の画像のようなグラフの形に設定してください。

すると、入力したX軸の数値に該当する、グラフのY軸の数値が出力されます。

円のスケールを変える数値2

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

すると、Graph Mapperから出力される数値の、最小値と最大値からできる数値範囲が作成されます。

その後、Construct DomainのA端子に、1の数値を入力します。

さらに、Construct DomainのB端子に、任意の倍率の数値を入力します。

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

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

その後、Graph Mapperを、Remap NumbersのV端子につなげます。

さらに、Boundsを、Remap NumbersのS端子につなげます。

さらに、Construct Domainを、Remap NumbersのT端子につなげます。

すると、Graph Mapperから出力される数値が、1~14の数値の範囲内で値が変わります。

スケールが変わった

その後、Remap NumbersのR端子を、ScaleのF端子につなげます。

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

さらに、Circleを、ScaleのG端子につなげます。

すると、上の画像のように、円のスケールを変えながら、円が複製されました。

これで、スケールが異なる複数の円を作成することができました。

各円を真上方向に移動させて各円をつなぐサーフェスを作成する

次に、各円を真上方向に移動させて、各円をつなぐサーフェスを作成していきます。

Bezier

最初に、各円を真上方向に移動させる数値を作成していきます。

先程のSeriesを、新たなGraph Mapperにつなげます。

この際に、Graph Mapperを右クリックし、Bezierに設定してください。

すると、先程と同様に、入力したX軸の数値に該当する、グラフのY軸の数値が出力されます。

各円を真上方向に移動させる数値

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

すると、Graph Mapperから出力される数値の、最小値と最大値からできる数値範囲が作成されます。

その後、Construct DomainのA端子に、0の数値を入力します。

さらに、Construct DomainのB端子に、任意の最大の高さの数値を入力します。

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

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

その後、Graph Mapperを、Remap NumbersのV端子につなげます。

さらに、Boundsを、Remap NumbersのS端子につなげます。

さらに、Construct Domainを、Remap NumbersのT端子につなげます。

すると、Graph Mapperから出力される数値が、0~5000の数値の範囲内で値が変わります。

真上に移動

その後、Remap NumbersのR端子を、Unit Zにつなげます。

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

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

すると、上の画像のように、各円が真上方向に移動しました。

サーフェス

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

すると、上の画像のように、各円の線データをつないでサーフェスが作成されます。

これで、各円を真上方向に移動させて、各円をつなぐサーフェスを作成することができました。

放射状に広がる線をサーフェスに投影する

次に、放射状に広がる線を作成し、サーフェスに投影していきます。

一番最後の円の線データを取得

MoveのG端子を、List ItemのL端子につなげます。

さらに、-1の数値を、List Itemのi端子につなげます。

すると、上の画像のように、各円の中から、一番最後の大きな円の線データを取得できます。

線を分割

その後、List Itemを、Divide CurveのC端子につなげます。

さらに、任意の分割数の数値を、Divide CurveのN端子につなげます。

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

すると、上の画像のように、線を100等分割する位置に、点が作成されました。

直線

その後、AreaのC端子とDivide CurveのP端子を、Lineにつなげます。

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

投影

その後、Lineを、ProjectのC端子につなげます。

さらに、Loftを、ProjectのB端子につなげます。

すると、上の画像のように、サーフェス上に直線が投影されました。

これで、放射状に広がる線を作成し、サーフェスに投影することができました。

投影された曲線からルーバーを作成する

最後に、投影された曲線からルーバーを作成していきます。

正方形の線データ

Projectを、Perp FramesのC端子につなげます。

さらに、作業平面の個数の数値を、Perp FramesのN端子につなげます。

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

すると、曲線上に、100個の作業平面が作成されます。

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

さらに、辺の長さの数値を、RectangleのXとY端子につなげます。

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

すると、上の画像のように、曲線上に正方形の線データが作成されました。

正方形を移動

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

すると、各作業平面のX・Y・Z軸のベクトルデータを取得できます。

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

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

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

その後、Deconstruct PlaneのY端子とDivisionを、Multiplicationにつなげます。

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

これにより、入力した数値にマイナスが掛けられます。

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

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

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

正方形の線データをつなぐサーフェス

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

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

穴を閉じる

その後、Loftを、Cap Holesにつなげます。

すると、両端の穴が閉じます。

これで完成です。

今回は以上になります。

Comment

Translate »