RhinoとGrasshopperを使ったデザインの世界へようこそ!今回は、パラメトリックデザインの基本的な考え方の一つ、「ある要素の変化にともなって、別の要素も変化させる」というロジックを、円のスケール調整を例に見ていきましょう。特定の点からの距離に応じて円の大きさを変える、そんな魅力的なテクニックを学ぶことができますよ。

距離の測定と数値の準備

まずは、基準となる点と、その点から距離を測る複数の円の中心点を準備します。Rhino上で点を配置し、Grasshopperにそれらの点をPointコンポーネントで読み込みましょう。次に、基準点と各円の中心点との距離を測るために、Distanceコンポーネントを使います。このDistanceコンポーネントは、二つの入力された点の間の距離を数値として出力してくれます。

数値のリマップで変化を調整

Distanceコンポーネントから出力される距離の値は、そのまま円のスケールに使うと意図しない結果になることがあります。例えば、距離が0から100の範囲で変化するのに、円のスケールは0.1から1.0の範囲で変えたい、といった場合です。ここで活躍するのがRemap Numbersコンポーネントです。このコンポーネントは、入力された数値の範囲(Source Domain)を、指定した新しい範囲(Target Domain)に変換してくれます。Construct DomainコンポーネントとNumber Sliderを組み合わせることで、直感的にリマップの範囲を調整できますよ。

距離に応じた円のスケール調整

Remap Numbersで変換された数値を、いよいよ円のスケールファクターとして使います。まず、Grasshopper上で基本的な円を生成するためにCircleコンポーネントを使用し、その中心点と半径を設定します。次に、この円をスケールするためにScaleコンポーネントを接続しましょう。Scaleコンポーネントの「G」(Geometry)入力には作成した円を、「C」(Center)入力には円の中心点を、「F」(Factor)入力にはRemap Numbersから出力されたスケーリングファクターを接続します。これで、基準点からの距離に応じて、円のサイズが動的に変化するようになりましたね!

さらに高度な条件分岐へ

今回の基本的なロジックを理解すれば、さらに複雑な条件分岐を加えることも可能です。例えば、ある距離以上になったら円を大きくする、あるいは、特定の範囲外の円は表示しない、といった制御もできるようになります。Larger ThanSmaller Thanといった比較演算子と、Dispatchなどのリスト操作コンポーネントを組み合わせることで、より洗練されたパラメトリックデザインの表現が可能になります。ぜひ、様々な条件を試して、あなただけのユニークなデザインを探求してみてください。

まとめ:パラメトリックデザインの基礎

このチュートリアルで学んだ「距離に応じてオブジェクトをスケールする」というロジックは、Grasshopperにおけるパラメトリックデザインの非常に重要な基礎です。Distanceで距離を測り、Remap Numbersで数値を調整し、Scaleでオブジェクトを変換する。この一連の流れをマスターすることで、様々な幾何学的要素を動的に制御し、より複雑でインタラクティブなデザインへと応用する道が開けます。ぜひ、この概念を応用して、建築、プロダクト、アートなど、多岐にわたる分野で創造性を発揮してくださいね!