Rhino/Grasshopperの可能性を最大限に引き出す「ジェネラティブデザイン」は、まさに設計の未来を拓く力強いツールですよね。特に、Grasshopperの強みは、数多くの可能性の中から最適なソリューションを導き出す能力にあります。
今回のテーマは「ランダムなNurbs曲線の生成」。これまでの基本的なNurbs曲線作成の知識をベースに、さらに一歩踏み込んで、予測不能で魅力的な形状を生み出すロジックを探求していきましょう。
ジェネラティブデザインの力
ジェネラティブデザインとは、特定のルールやアルゴリズムに基づいて、自動的にデザイン案を生成する手法です。これにより、人間だけでは思いつかないような、多様で斬新なデザインを発見できます。特に初期段階でのアイデア出しや、複数の選択肢を比較検討する際に、その真価を発揮します。
Grasshopperでは、このジェネラティブデザインを視覚的なプログラミングで簡単に実現できるのが大きな魅力。今回は、その応用として「ランダムなNurbs曲線」の生成に挑戦します。
ランダムな点の生成
ランダムなNurbs曲線を作成する上で最も重要なのは、その「ガイド」となる点をいかにランダムに配置するかです。まずは、曲線を構成する制御点(Control Points)をランダムに生成するところから始めましょう。
基本的なアプローチとしては、まず定義した平面や空間内にランダムな点を配置します。例えば、平面上に点を散布するには`Populate 2D`コンポーネントが便利です。このコンポーネントに、点の数(Count)と、点を配置する領域(Region)を入力するだけで、指定された範囲内にランダムな点が生成されます。より複雑な3次元空間に配置したい場合は`Populate 3D`を使ってみてください。また、`Random`コンポーネントで数値の乱数を生成し、それを`Point`コンポーネントのXYZ座標に接続することで、より細かく点の位置を制御することも可能です。
Nurbs曲線の構築
ランダムな点が準備できたら、いよいよそれらの点を使ってNurbs曲線を構築します。ここで活躍するのが、`Nurbs Curve`コンポーネントです。このコンポーネントの「Vertices (V)」入力ポートに、先ほど生成したランダムな点のリストを接続します。
たったこれだけで、ランダムな点を通過するNurbs曲線が瞬時に生成されます。点の配置がランダムであるため、生成される曲線も毎回異なる、ユニークな形状になります。`Degree`入力で曲線の次数を変更することで、滑らかさやコントロールの度合いを調整することも忘れずに行いましょう。また、`Graph Mapper`コンポーネントを乱数生成のプロセスに組み込むことで、点の分布パターンに特定のリズムや傾向を持たせることも可能です。これにより、ただのランダムではない、意図を持ったランダム性を追求できます。
創造的な探求へ
このランダムなNurbs曲線の生成ロジックは、デザインの初期段階での形状探索に非常に強力なツールとなります。パラメータを少し変更するだけで、無限に近いバリエーションの曲線が生成されるため、思わぬ発見やインスピレーションを得られることでしょう。
建築デザインにおけるファサードの検討、プロダクトデザインにおける有機的な形状の探求、アート作品の生成など、その応用範囲は多岐にわたります。ぜひ、このロジックをベースに、自分だけのクリエイティブなデザインを探求してみてください。ガイドブックやチュートリアル(www.alexandreboucherdesign.com/guidegrasshopper.html)も活用しながら、Grasshopperの世界を深く楽しんでいきましょう!
