Grasshopperでのデザインにおいて、「データ」の理解は避けて通れない、いや、むしろ最も重要なフェーズと言っても過言ではありません。

意外かもしれませんが、Grasshopperではどんな値も、たとえそれが一つの数字であっても、常に「リスト」の中に存在しています。このリストの概念をしっかり掴むことで、複雑なパラメトリックモデルも意図通りにコントロールできるようになりますよ。

リストの基本とインデックス

Grasshopperのリストは、プログラミング言語と同じく「ゼロベースインデックス」を採用しています。つまり、リストの最初のアイテムは「インデックス0」として扱われるということ。この基本を忘れないでくださいね。

リスト内のアイテム数を数えるにはList Lengthコンポーネントを使います。そして、特定のインデックスにあるアイテムを取り出したいときは、List Itemコンポーネントが非常に便利です。これを使えば、例えばリストの3番目のアイテム(インデックス2)だけを抜き出す、なんてことも簡単にできます。

リストの並べ替えと抽出

リストの順番を操作したい場合も、便利なコンポーネントが用意されています。

リストの並びを逆にするにはReverse List、そして数値や文字列に基づいてリストを並べ替えるにはSort Listが活躍します。これらのコンポーネントを使いこなせば、意図した順序でデータを取り扱えるようになりますよ。

条件によるフィルタリング

特定の条件を満たすアイテムだけを残したり、別のリストに分けたりする際によく使うのが、ブール値(True/False)を用いたフィルタリングです。

まずはExpressionコンポーネントを使って、「値が10より大きい」などの条件式を作成し、True/Falseのパターンを生成します。このTrue/FalseパターンをCull Patternコンポーネントに入力することで、パターンに基づいてリストのアイテムを間引くことができます。さらに、Dispatchコンポーネントを使えば、TrueのアイテムとFalseのアイテムをそれぞれ別の出力ポートに分割することが可能。非常に強力なデータ処理テクニックなので、ぜひマスターしてくださいね。

特定パターンでの間引き

リストからn番目ごとのアイテムを削除したい、といった場合にはCull Nthコンポーネントが役立ちます。このコンポーネントは、指定したパターンでリストのアイテムを間引くことができます。どのアイテムが削除されるかを正確に予測できるようになれば、より洗練されたデータ操作が可能になります。

これらのリスト操作のスキルは、Grasshopperでのあらゆるデザインに応用できる、まさに「データリテラシー」の核となる部分です。ぜひ手を動かして、それぞれのコンポーネントの挙動を体感してみてください。きっと、Grasshopperがもっと楽しく、もっと自由に使えるようになりますよ!