2011年11月2日水曜日

パラメトリック、アルゴ リズミック、デジタル・ファブリケーション

2011/11/8(火)、”コンピューテーショナル・デザインの建築設計への応用について、フランスやアメリカでの最新の動向を踏まえ実践方法を紹介する。”という内容で、パラメトリック、アルゴ リズミック、デジタル・ファブリケーションというシンポジウムが開催されます。
詳細はこちら

2011年10月18日火曜日

圳宝安国際空港(Shenzhen Bao'an International Airport)

中国の圳宝安国際空港空港(Shenzhen Bao'an International Airport)ターミナルのデザインの例がYoutubeで公開されています。
一昨年の、3D modeling Symposium in Berlin で、紹介されたものを見ましたが、コンピュテーショナルデザインの良い例でしょう。
自由曲面形状を持つ建物のパネルをハニカム構造で製作するさいにいかに、部材を共通化してコストも抑えるという前段階の検証を、RhinoでEXCEL(Grasshopper以前)で行っていたようです。
このムービーを見るだけでも多くの事が分かります。

ムービーはこちら

コンピュテーショナルデザイン・モデリングも、意匠段階から製造の段階でも威力を発揮しそうです。

2011年7月15日金曜日

Essential Mathmatics 日本語版










このドキュメントでは、3次元形状を操作するために必要なベクトル、行列、アフィン変換等が、Grasshopperを使用して分かりやすく説明してあります。またNURBSの基礎知識にも網羅されています。Grasshopperを使用したコンピュテーショナルデザインは、これらの知識が必要となりますので、是非、一読してください。

2011年5月26日木曜日

海外のGrasshopperチュートリアルから

海外では、様々なRhinoやGrasshopperのSNSサイトがあり、情報交換やチュートリアルやサンプルがアップロードされています。
英語ですから敬遠される方もいるかと思いますが、下記のチュートリアルは説明がなくても良く分かります。












ジュエリーデザイナー向けに2つアップされています。
http://www.gjd3d.com/video/defining-a-parametric-weave
http://www.gjd3d.com/video/modeling-a-parametric-rosette

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にアップされています。

2011年5月18日水曜日

Voronoi パターンシミュレーション

前回のVoronoi パターンを利用した建築モデリングの補足です

Reduceコンポーネント”の、S-入力に、数値を指定によって、乱数によって削除される点群が変わります。

左の例は、S-入力の、0から100までのスライダーを接続しています。これを変えていくと残される点群が変化してゆきます。

緑色の点が、初期値、白の点群が、乱数で削除されさらに、X-Y方向に乱数で移動させたもの。



ここで、スライダーを右クリックして、コンテクストメニューから、”Animate”を選択すると、スライダーの数値の変化に対応したアニメーション画像を作成出来ます。








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

もし”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コマンドを使用しても同様のことが可能です。

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オブジェクトにします。

2011年3月1日火曜日

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

Grassjopperのサンプルその3をアップロードしました。
3DBasic1、3DBasic2 サンプルダウンロード

GH定義、3DBasic1は、Rhinoモデルを必要としません。
GH定義上で円を作成、半径指定、その円を移動し、それぞれの円を点で分割し、ラインで結びます。
分割点を通るラインを移動させる場合は、”Shiftコンポーネント”の”S入力”にシフトの数を定義します。さらに、”W入力”に、”Boolean Togle”コンポーネントを接続し、”True”設定をします。
”Shiftコンポーネント”は、例えば、”0,1,2,3,4,5,6,7,8,9”からなる10個のデータを、”3”シフトした場合、”3,4,5,6,7,8,9”で終わってしまいます。ここで、”W入力”を”True”にすることによって、”3,4,5,6,7,8,90,1,2”という並びをつくり、ラインを意図通り作成します。

左の例は、円を3つ使用した例です。
ポイントが3つ出来れば、円弧を描くことが出来ます。









3DBasic2は、円を4つ使用します。
このGH定義もRhinoモデルは不要です。
これにより、3次の自由曲線を描くことが出来ます。
この定義ファイルでは、作成した3次の曲線を回転し、ロフトでサーフェスを作成しています。

以上、スライダーの値を変えて、形状の変化を見てください。

2011年2月24日木曜日

GH サンプル アップロードその1、その2

簡単なGrasshopperのサンプルをアップロードしました。

多角形作成サンプル ダウンロード

このGH定義は、Rhinoのオブジェクトを必要としません。
全て、GH側で、多角形の中心座標、多角形の数、高さ、半径をしていすることが出来ます。


上記パラメーターは全て、スライダーコンポーネントで入力します。
GH Version 0.8.0004





2Dバーシック・サンプル ダウンロード
このサンプルは、ホイールの孔のエッジ形状をRhinoの自由曲線で半分作成しておき、ミラーし、回転し、配置することが出来ます。
Rhinoのヒストリー機能で出来そうなロジックですが異なる点は、元のカーブをリビルドすると、失われるヒストリー機能と異なり、継続可能です。
また、回転コピーする数を変更する度に、回転コマンドを実行する必要がありますが、GHでロジックに組み込んでしまえば元のカーブを変形しながら、自由に数を変えてシミュレーションすることが出来ます。





GHでは、回転角度を、ラジアンで指定するため、ここでは、関数コンポーネントを使用して角度をラジアンに変換しています。

GH Version 0.8.0004

2011年2月17日木曜日

データ編集

「Params」タブからIntegerコンポーネントを2個、ワークスペースに配置します。

また、配置したコンポーネントを右クリックして、コンポーネント名称をそれぞれ
「1 2 3 4 5」、「6 7 8 9 10」
と変更します。

配置したコンポーネントを右クリックして、「Set Multiple Integers」(複数の整数値設定)を選択。
各々に、
1,2,3,4,5
6,7,8,9,10
を入力し「Commit changes」をクリック。
また、コンポーネントを右クリックして、「Manage Integer collection」(整数値の管理)を選択するとInteger value manager 画面が開き、整数値に編集に加え、追加、削除、順番変更が行えます。
値は数式での入力もできます。
更にIntegerコンポーネントを追加し、先の2つのコンポーネントを接続すると、両者の順番通りに整数列ができます。