2011年4月26日火曜日

GH サンプル アップロードその8

Grasshopperのサンプルその8をアップロードしました。
MapSurface Example サンプルダウンロード

MorphSurface.ghx
この例では、MorphSurface.3dmで定義した1つの点と、3本のカーブを利用しています。
まず、MxN個のグリッドを作成し、その中心に円を作成します。
次に、Rhinoモデルで定義されている1つの点を参照として、その距離により円の半径を変えるロジックを定義します。


Rhinoの3本のカーブからは、”Loft”コンポーネントでサーフェスを作成しておきます。
点を移動させるとことによって、パターンを決め、”Map To Surf”コンポーネントで、サーフェス上にマッピングすることが出来ます。



MorphSurfaceB.ghx
この定義では、単にサーフェスにパターンをマッピングさせるだけでなく、サーフェスを2つオフセットしたものに、マッピングし、各サーフェス上にマッピングされたカーブを”Loft”しているものです。

2011年4月21日木曜日

GH One Point!コンポーネントの表示の制御

Grasshopperの定義ファイルでコンポーネントを多く使用する場合、コンポーネントの表示・非表示のコントロールが必要になってきます。


個々のコンポーネントの表示・非表示を行う場合は、コンポーネントを右クリックすると、そのステータスが現れます。ここで、”Preview”をクリックするとコンポーネントの表示・非表示をトグルします。
その下の、”Enabled”はコンポーネントの実行状態をトグルします。







複数のコンポーネントを同時にステータスを変えたいときは、選択後、メニューの”Preview”、”Enabled”で行います。









次に、GH定義ファイル全体の結果をどのように表示するかですが、左図のように、”No Preview(全く表示しない)”、”Wireframe preview(ワイヤー表示)”、”Shaded Preview(シェーディング表示)"を使い分けます。GH定義で処理するデータが多くなると、再計算で表示するのに時間がかかることがあります。この場合、まず、ワイヤーフレーム表示にすると良いでしょう。
一番下の、”Selection only(選択コンポーネントのみ表示)”と合わせて使用するのも良いでしょう。
GH定義ファイルで何も表示されない場合は、まずここをチェックしてください。

2011年4月19日火曜日

GH サンプル アップロードその7

Grass hopperのサンプルその7をアップロードしました。
Morph Example サンプルダウンロード

MorphSimple.ghx
この例では、ベースとなるサーフェスに、B-rep(サーフェスもしくはポリサーフェス)を以下の手順で配置します。
1)ベースサーフェスをUV値で分割しておく。この時、サーフェスは正規化(サーフェスのUV値を、0~1の範囲に設定すること) し、”SBoxコンポーネント”に接続します。



2)次にこの配置するB-Repのバンディングボックスをとり、Z出力にバウンディングボックスの高さを、先の”SBoxコンポーネント”のH-入力に接続します。
3)最後に、”Morph”コンポーネントに、割り当てるB-rep、B-repのバウンディングボックス、分割したサーフェスに生成するボックスを入力することで、サーフェス上にB-repが変形して割り当てられます。



MorphRandamn.ghx
左の例は2つのB-Repを、ランダムに割り当てている例です。
これを行うには、”SBoxコンポーネント”から出力される、データのリストの半数に一つのB-repに、残りのリストに他のB-repを割り当てます。このリストを選択するときに、乱数を使用するとランダムに配置されます。
ベースサーフェスを、配置後、変形させると配置されたB-repも変形します。

2011年4月18日月曜日

GHのサンプ アップロードその6

Grass hopperのサンプルその6をアップロードしました。
UVDivision Example サンプルダウンロード

UVSampleA
このサンプルでは、次の手順で形状を作成しています。
1)ベースとなるサーフェスをオフセットする。
2)それぞれのサーフェスUVの分割数を指定(”Divideコンポーネント”)し、分割する(”SubSrfコンポーネント”)。
3)オフセットしたサーフェスをUV分割したサーフェスをそれぞれのサーフェス、さらにサーフェスの中でUVの範囲指定し(”Domコンポーネント”)、分割する。
4)ベースサーフェスの分割サーフェスのエッジ端点座標と、3)で作成したサーフェスエッジ端点座標から、4点サーフェス(”Srf4Ptコンポーネント”)を生成するものです。

UVSampleB
バリエーションとして、ベースサーフェス自体を(”Domコンポーネント”)、分割し、外枠を設けた例。






UVSampleC
”Sweep2コンポーネント”を使用して、ベースサーフェスとオフセットしたサーフェス間を、曲面で生成した例

2011年4月14日木曜日

GH サンプル アップロードその5

Grasshopperのサンプルその5 をアップロードしました。
Transform Example サンプルのダウンロード

このサンプルでは、Rhinoオブジェクトの編集の基本の移動・回転・スケールを行っています。移動に関しては、”Move”コンポーネントを使用して、移動距離とそのベクトル方向(X,Y,Z)を指示しますが、”MD Slider”コンポーネントを使用すれば、コンポーネント中の、イメージをドラッグすればX,Y方向の移動が簡単に行えます。








上の例は、Rhinoの複数のオブジェクトをまとめて移動していますが、個々のポリサーフェスのバウンディングボックスを、”BBOX”コンポーネントで指定してそれぞれを回転させることも出来ます。

2011年4月6日水曜日

GH サンプル アップロードその4

Grass hopperのサンプルその4をアップロードしました。
FunctionExample サンプルダウンロード

ここでは、三角関数を使用してサーフェスを作成する例を紹介します。まず、”Range”コンポーネントに数値の範囲とそれを分割する”Slider”コンポーネントを接続します。
”Range”コンポーネントは、与えられたパラメーターからそれぞれ、数値列を出力します。
2つめの”Range”コンポーネントを”Function”コンポーネント”x”に接続します。次に振幅とかかれたスライダーを、”A”につなぎます。
次にこれらの関数を、コンポーネントに記述すれば、関数計算の結果が出力がされます。

次に、1つめの”Range”コンポーネントの出力を”Pt”コンポーネントの”X”入力に接続し、”Function”の結果を”Z”入力に接続すれば、点群が発生されます。それを”IntCrv”コンポーネントに接続すれば、それらの点群を通るサインカーブが出力されます。






同様にこのサインカーブの直角に配置されるするコサインカーブを複数、作ります。


















このGHの定義では、左のように、Y="0"を通るサインカーブと、X="0"を通るカーブを5本作成し、”Move”コンポーネントで最初のカーブを5分割した点に移動します。
その後、”Sweep1”コンポーネントでサーフェスを作成しています。




最後は、Bakeして、サーフェスをRhinoオブジェクトにします。