このドキュメントでは、3次元形状を操作するために必要なベクトル、行列、アフィン変換等が、Grasshopperを使用して分かりやすく説明してあります。またNURBSの基礎知識にも網羅されています。Grasshopperを使用したコンピュテーショナルデザインは、これらの知識が必要となりますので、是非、一読してください。
2011年7月15日金曜日
2011年5月26日木曜日
海外のGrasshopperチュートリアルから
2011年5月23日月曜日
GH サンプル アップロードその9
Grasshopperサンプルその9をアップロードしました。
OrientOnSrf Example サンプルダウノロード
ファイルを解凍すると、2つのGH定義ファイルがあります。これらはRhinoデータを必要としません。
この定義ファイルでのキーポイントは2つです。
1つは、”Surface>Freeform>Surface from Points”コンポーネントによる点群からのサーフェスの作成です。
この例では、点群を”Panel”コンポーネントに入れ、その点群を入力としています。この例では、U列を”7”にしています。このコンポーネントに入力する点群の数は、必ず、U列xV列の数に等しくなる必要があります。

次に、”Transform>Euclidean>Orient”コンポーネントで、ベースサーフェスに配置するオブジェクトを指定しますが、この時、”Surface>Analysis>Evaluate Surface”コンポーネントで、ベースサーフェス上に配置するUV値から、法線方向の平面を取得し、配置する方向を指定します。

この例では、UV値の値を変えてシミュレーション出来る様になっています。
また、配置後のオブジェクトに対して、スケールを実行し、配置後のオブジェクトサイズのシミュレーションも行っています。
このシミュレーションのアニメーションはYoutubeにアップされています。
OrientOnSrf Example サンプルダウノロード
ファイルを解凍すると、2つのGH定義ファイルがあります。これらはRhinoデータを必要としません。この定義ファイルでのキーポイントは2つです。
1つは、”Surface>Freeform>Surface from Points”コンポーネントによる点群からのサーフェスの作成です。
この例では、点群を”Panel”コンポーネントに入れ、その点群を入力としています。この例では、U列を”7”にしています。このコンポーネントに入力する点群の数は、必ず、U列xV列の数に等しくなる必要があります。

次に、”Transform>Euclidean>Orient”コンポーネントで、ベースサーフェスに配置するオブジェクトを指定しますが、この時、”Surface>Analysis>Evaluate Surface”コンポーネントで、ベースサーフェス上に配置するUV値から、法線方向の平面を取得し、配置する方向を指定します。

この例では、UV値の値を変えてシミュレーション出来る様になっています。
また、配置後のオブジェクトに対して、スケールを実行し、配置後のオブジェクトサイズのシミュレーションも行っています。
このシミュレーションのアニメーションはYoutubeにアップされています。
2011年5月18日水曜日
Voronoi パターンシミュレーション
前回のVoronoi パターンを利用した建築モデリングの補足です
”Reduceコンポーネント”の、S-入力に、数値を指定によって、乱数によって削除される点群が変わります。
ここで、スライダーを右クリックして、コンテクストメニューから、”Animate”を選択すると、スライダーの数値の変化に対応したアニメーション画像を作成出来ます。

画像出力するビュー、解像度、フレーム数を指定して画像を作成します。後は、ビデオエンコーダーを使用して、AVIやMPEGファイルを作成します。

数値スライダーの変化によって、ビューのイメージが変わって行きます。
”Reduceコンポーネント”の、S-入力に、数値を指定によって、乱数によって削除される点群が変わります。 左の例は、S-入力の、0から100までのスライダーを接続しています。これを変えていくと残される点群が変化してゆきます。
緑色の点が、初期値、白の点群が、乱数で削除されさらに、X-Y方向に乱数で移動させたもの。
ここで、スライダーを右クリックして、コンテクストメニューから、”Animate”を選択すると、スライダーの数値の変化に対応したアニメーション画像を作成出来ます。 
画像出力するビュー、解像度、フレーム数を指定して画像を作成します。後は、ビデオエンコーダーを使用して、AVIやMPEGファイルを作成します。
もし”Bongo”を持っていれば、Bongoのビデオエンコーダーを使用しても良いでしょう。

数値スライダーの変化によって、ビューのイメージが変わって行きます。
このシミュレーションのアニメーション画像はYoutubeにアップされています。
2011年5月16日月曜日
Voronoiパターンを利用した建築モデリング
今回は、4月28日の大阪のセミナーで紹介したボロノイパターンを利用したモデリングの例を紹介します。
Voronoi Example サンプルダウンロード

ボロノイ図は、良く建築系で使用されるパターンです。
ボロノイ詳細
”Mesh>Triangulation>Voronoiコンポーネント”に、点群を入力しセルの半径指定をするとその点群に応じたボロノイ図を作成します。

では、ここでは多くの点群を扱うために、まず”Vector>Grids>SqGridコンポーネント”で、任意の、MxN列の点群列を生成しておきます。

次に、”Sets>Sequence>Reduce(Randamn Reduce)コンポーネント”と、”Sets>Cull(Cull Index)コンポーネント”を使用して、残す点群をランダムに設定出来るようにしておきます。
減らす数を指定し、ランダムさに関しては、”Reduceコンポーネント”の、S-入力に整数値を指定し、削除するパターンを決めます。

さらに残った点群を”Sets>Sequence>Randomコンポーネント”を使用して、X-Y方向にランダムに移動させます。
生成された点群を”Voronoiコンポーネント”に接続し、好みのボロノイ図が出来るまで調整します。
尚、ここまでのプロセスは外部の点群データを取り込むか、自分で配置しても構いません。

次に、出来たボロノイ図を、内側にオフセットしておきます。
オフセットしたカーブを、全て分解し”Divideコンポーネント”で中点と端点を抽出しておきます。

抽出した点群を、”Crvコンポーネント”で制御点指定の周期カーブを作成します。
前の工程に戻り、点群の数、間引き数、点群の位置、オフセットの距離を気に入ったパターンが出来るまでシミュレートします。

パターンが出来上がったら、一度、Rhinoのオブジェクトとして、Bakeし、さらに形状を調整します。
Grasshopperで出来たパターンのみ使用する場合は、このプロセスは必要ありません。

出来上がった、ボロノイ図を、”Transform>Morph>Map to Surfaceコンポーネント”を使用してサーフェスにマッピングします。
マッピングしたカーブで、サーフェスを分割します。
尚、この工程が、RhinoでApplyCrvコマンドを使用しても同様のことが可能です。
Voronoi Example サンプルダウンロード


ボロノイ図は、良く建築系で使用されるパターンです。
ボロノイ詳細
”Mesh>Triangulation>Voronoiコンポーネント”に、点群を入力しセルの半径指定をするとその点群に応じたボロノイ図を作成します。

では、ここでは多くの点群を扱うために、まず”Vector>Grids>SqGridコンポーネント”で、任意の、MxN列の点群列を生成しておきます。

次に、”Sets>Sequence>Reduce(Randamn Reduce)コンポーネント”と、”Sets>Cull(Cull Index)コンポーネント”を使用して、残す点群をランダムに設定出来るようにしておきます。
減らす数を指定し、ランダムさに関しては、”Reduceコンポーネント”の、S-入力に整数値を指定し、削除するパターンを決めます。

さらに残った点群を”Sets>Sequence>Randomコンポーネント”を使用して、X-Y方向にランダムに移動させます。
生成された点群を”Voronoiコンポーネント”に接続し、好みのボロノイ図が出来るまで調整します。
尚、ここまでのプロセスは外部の点群データを取り込むか、自分で配置しても構いません。

次に、出来たボロノイ図を、内側にオフセットしておきます。
オフセットしたカーブを、全て分解し”Divideコンポーネント”で中点と端点を抽出しておきます。

抽出した点群を、”Crvコンポーネント”で制御点指定の周期カーブを作成します。
前の工程に戻り、点群の数、間引き数、点群の位置、オフセットの距離を気に入ったパターンが出来るまでシミュレートします。

パターンが出来上がったら、一度、Rhinoのオブジェクトとして、Bakeし、さらに形状を調整します。
Grasshopperで出来たパターンのみ使用する場合は、このプロセスは必要ありません。

出来上がった、ボロノイ図を、”Transform>Morph>Map to Surfaceコンポーネント”を使用してサーフェスにマッピングします。
マッピングしたカーブで、サーフェスを分割します。
尚、この工程が、RhinoでApplyCrvコマンドを使用しても同様のことが可能です。
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”しているものです。
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定義ファイルで何も表示されない場合は、まずここをチェックしてください。

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

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

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