今回は、グラスホッパーで回転・スケールを変えながら積み上げる方法を解説します。
今回の内容では、4つの直方体を正方形の形に組み合わせたモデルを、回転・スケールを変えながら積み上げます。
動画で見る
全体の様子


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


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

上の画像は、最終的にレンダリングした様子です。
それでは、順番に解説していきます。
今回使用したグラスホッパーとライノセラスのデータダウンロードはこちら
ダウンロードできるデータのご利用に関しては、利用規約をご覧ください。
全体コンポーネント
全体コンポーネント:①Rectangle ②Area ③Division ④Series ⑤Graph Mapper ⑥Addition ⑦Power ⑧Scale ⑨Unit Z ⑩Offset Curve ⑪Ruled Surface ⑫Move ⑬Rotate ⑭Extrude


スケールが変わる複数の正方形のサーフェスを作成する
最初に、スケールが変わる複数の正方形のサーフェスを作成していきます。

最初に、RectangleのXとY端子に、辺の長さの数値を入力します。
今回は、どちらにも2000の数値を入力しています。
すると、上の画像のように、2000×2000の正方形の線データが作成されました。

その後、RectangleのR端子を、Areaにつなげます。
すると、上の画像のように、正方形の線データの中心点を取得できました。

次に、スケールを変える数値を作成していきます。
最終的に作成する正方形の個数の数値を、DivisionのB端子につなげます。
今回は、100の数値を入力しています。
その後、1の数値を、DivisionのA端子につなげます。
すると、1÷100=0.01の数値が出力されます。
その後、Divisionを、SeriesのN端子につなげます。
さらに、先程の100の数値を、SeriesのC端子につなげます。
すると、0から0.01ずつ増加する数値が、100個作成されました。
この数値は、次に使うグラフのX軸の数値になります。

その後、Seriesを、Graph Mapperにつなげます。
この際に、Graph Mapperを右クリックし、Graph typesからConicを選択してください。
そして、1つ前の画像を参考に、グラフの形を設定してください。
すると、入力したX座標の数値に対応する、グラフのY座標の数値が出力されます。
その後、Graph Mapperを、Additionにつなげます。
さらに、1の数値を、Additionにつなげます。
すると、先程までは1未満の小数点でしたが、1が足し算されて1以上の数値になりました。
これは、次に数値を累乗にするため、1以上の数値にしています。
その後、Additionを、PowerのA端子につなげます。
さらに、指数の数値を、PowerのB端子につなげます。
今回は、4の数値を入力しています。
すると、入力した数値が4乗(X⁴)されました。

その後、Powerを、ScaleのF端子につなげます。
さらに、AreaのC端子を、ScaleのC端子につなげます。
さらに、RectangleのR端子を、ScaleのG端子につなげます。
すると、上の画像のように、スケールが変わる複数の正方形の線データが作成されました。

その後、ScaleのG端子を、Offset CurveのC端子につなげます。
さらに、オフセットする距離の数値を、Offset CurveのD端子につなげます。
今回は、50の数値を入力しています。
すると、上の画像のように、正方形の線データがオフセットされました。

この際に、Offset Curveの右側のC端子を右クリックし、Flattenに設定してください。

その後、ScaleのG端子とOffset Curveを、Ruled Surfaceにつなげます。
すると、上の画像のように、2つの正方形の線データをつなぐサーフェスが作成されました。
これで、スケールが変わる複数の正方形のサーフェスを作成することができました。
真上方向に少しずつ回転させながら移動する
次に、作成した複数の正方形のサーフェスを、真上方向に少しずつ回転させながら移動させていきます。

新たなSeriesのN端子に、オフセットの際に使用した50の数値を入力します。
さらに、先程使った個数の100の数値を、SeriesのC端子につなげます。
すると、0から50ずつ増加する数値が、100個作成されました。

さらに、Ruled Surfaceを、MoveのG端子につなげます。
すると、上の画像のように、正方形のサーフェスを真上方向に移動できました。

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

次に、少しずつ回転させる数値を作成します。
先程使った100の個数の数値を、SeriesのC端子につなげます。
さらに、回転させる角度の度数の数値を、SeriesのN端子につなげます。
今回は、20の数値を入力しています。
すると、0から20ずつ増加する数値が作成されました。

この際に、RotateのA端子を右クリックし、Degreesに設定してください。
これにより、角度を度数の数値で入力できるようになります。
さらに、AreaのC端子を、RotateのP端子につなげます。
さらに、MoveのG端子を、RotateのG端子につなげます。

すると、上の画像のように、正方形のサーフェスを少しずつ回転できました。

その後、オフセットの際に使った50の数値を、Unit Zにつなげます。
その後、Unit Zを、ExtrudeのD端子につなげます。
さらに、RotateのG端子を、ExtrudeのB端子につなげます。
すると、上の画像のように、正方形のサーフェスに厚みを付けることができました。

これで完成です。
今回は以上になります。
Comment