【集中講座】Grasshopperコンポーネント基礎: Twist

Grasshopperコンポーネント基礎講座では、Grasshopper Indexページで紹介されているコンポーネントを解説していきます。

第7回目は「Twist コンポーネント」です。

Twist コンポーネントってなあに?


[Twist]コンポーネントは簡単にいうと、
入力したジオメトリを、指定した軸を元に、指定した値でひねるように回転・変形させるコンポーネントです。



G端子には[回転させるジオメトリ]を、X端子には[回転軸]を、A端子には[回転させる値]を入力します。
I端子にはTrue/Falseを入力することで、[ジオメトリ全てをツイストさせるか/回転軸までツイストさせるか]を切り替えられます。
R端子にはTrue/Falseを入力することで、ツイストする際に[ジオメトリを変形させないか/変形させるか]を切り替えられます。

どうやって使うの?

実際に使ってみましょう。
今回は、半球形のサーフェス上に曲線を作成し、それを回転させます。

Step1

まずはベースとなる半球型状のサーフェスを作成していきます。
[Sphere]コンポーネントで球形のサーフェス作成します。今回は原点を中心に、半径20の球を作成しました。



これを[Plane Through Shape]コンポーネント、[Split Brep]コンポーネントを使って分割します。
[Plane Through Shape]とは、入力したジオメトリを貫通するように、指定した基準平面に、サーフェスを作成するコンポーネントです。
P端子には基準平面を、S端子にはジオメトリを、I端子にはオーバーする長さ寸法値を入力します。
今回は球を、ワールド座標のx,y平面で2分割したいので、P端子には[Plane Normal]コンポーネントを繋ぎます。



これで球の外周より[2]大きい平面サーフェスが、ワールド座標のx,y上に作成されました。次に[Split Brep]コンポーネントを繋ぎます。
[Split Brep]は、入力したBrepを、入力したオブジェクトでカットするコンポーネントです。

B端子には球を、C端子には平面サーフェスを入力します。さらに[List Item]コンポーネントを接続します。
[List Item]は、入力したリストの、Index番号を指定し、その番号のアイテムを出力するコンポーネントです。
[Plane Through Shape]で作成した平面サーフェスによって[Split]された上部がIndex0番、下部がIndex1番として出力されます。



今回はIndex0番:上部の半球形を出力します。これでベースのサーフェスが完成しました。

Step2

次に、作成したサーフェス上に曲線を作成します。
まず、[Divide Surface]コンポーネントを使ってU方向・V方向に分割点を作成します。
[Divide Surface]は、入力したサーフェスを、指定した数でU方向/V方向に分割し、その[分割点(P)]・[法線ベクトル(V)]・[UV値(uv)]を出力するコンポーネントです。

▼例:サーフェスをU方向に3、V方向に2、分割する点が出力されている

S端子には作成した半球形のサーフェスを、U端子・V端子にはそれぞれ分割数を入力します。

この分割点を通る曲線を作成するために[Interpolate]コンポーネントを繋ぎます。
[Interpolate]コンポーネントは、入力した点を通る曲線を作ります。V端子には点群を、D端子には次数を入力します(デフォルトは次数3)。P端子では曲線を閉じるように、K端子ではノットの間隔を指定することもできます。
[Divide Surface]コンポーネントのP端子を、[Interpolate]コンポーネントのV端子に接続し、曲線の完成です。

Step3

最後に、作成した曲線を[Twist]コンポーネントで回転・変形させます。
G端子には回転させるジオメトリを入力するので、[Interpolate]コンポーネントのC端子を入力します。
X端子には回転軸を入力するので、[Line SDL]コンポーネントを使って垂直線を作成します。[Line SDL]は、[始点]・[方向]・[長さ]を指定して直線を作成するコンポーネントです。S端子は始点を入力するので原点を、D端子は方向を入力するので[Unit Z]コンポーネントを接続します。L端子は長さを入力します。半球形の高さと揃えるために、Step1で作成した球の半径と同じ値を入力します。作成した曲線を[Twist]コンポーネントのX端子に接続します。

A端子には回転させる値を入力します。今回は90°回転させるので、値[90]を入力した後にA端子の[Degrees]を有効にして度数として認識させます。

▼A端子を右クリックして[Degrees]をクリックする

これで曲線の[Twist]は完成しましたが、さらに逆回転させた曲線も作成していきます。[Negative]コンポーネントを使うことで値の正負を反転させることができます。

▼[Twist]コンポーネントをコピーし、値[90]を[Negative]で[-90] に反転させ、逆回転の曲線を作成する


仕上げに[Pipe]コンポーネントを接続してパイプ形状にします。C端子には2種類の曲線を、R端子にはパイプの半径を入力して完成です。



▲綺麗な形状だったのでBake(Rhinoで編集できるようにオブジェクトとして出力すること)してレンダリングしてみました。

今回は[Twist]コンポーネントをメインに、
[Plane Through Shape]、[Split Brep]、[List Item]、[Divide Surface]、[Interpolate]、[Negative]コンポーネントを紹介しました。

▼Grasshopperコンポーネント基礎講座⑦Twistコンポーネントを動画で見る▼

~スキルアップ集中講座TOP~