[Grasshopper]指定した数でリストを階層にまとめ分けるPartition Listの使い方

[Grasshopper]指定した数でリストを階層にまとめ分けるPartition Listの使い方 Grasshopperコンポーネント

指定した数でリストを階層にまとめ分ける、Partition Listコンポーネントの使い方について解説します。

見え方1
見え方2

グラスホッパー上では上の2つのどちらかで表されます。


本記事では、コンポーネントはアイコン表示になっています。


指定した数でリストを階層にまとめ分ける

Partition Listを使うことで、指定した数でリストを階層にまとめ分けることができます。

100個のサーフェスを作成
画像をクリックして拡大して見る

使用コンポーネント:①RectangleSurfaceDivide Domain²Isotrim

今回は例として、100個のサーフェスを作成し、10個のサーフェスを1つの階層にまとめます。

RectangleのXYに100を入力し、100×100の正方形を作成します。

RectangleSurfaceにつなげ、正方形をサーフェスの正方形に変換します。

SurfaceDivide Domain²のI端子につなげ、UとV端子に10入力し、2つの方向の分割数を10にします。

IsotrimのS端子にSurface、D端子にDivide Domain²のS端子をつなげます。

100個のサーフェス完成

すると、このように100個のサーフェスが作成されました。

今回は、この100個のサーフェスのデータに、Partition Listを使います。

Partition List
画像をクリックして拡大して見る

Partition ListのL端子に、Isotrimをつなげます。

そして、Partition ListのL端子に、1つの階層にいくつのデータを割り当てるかの数値を入力します。

今回はを入力することで、1つの階層に10個のサーフェスに入るようにします。

すると、上の画像のように、1つの階層に0~9のインデックス番号のサーフェスデータが割り当てられたことが分かります。

1つの階層に0~9のインデックス番号のサーフェスデータが割り当てられた

これは、元々1つの箱に0~99の100個のデータが、1つの箱に10個ずつ入るようになり、その箱が10個用意されている状態です。

Tree Branch
画像をクリックして拡大して見る

追加コンポーネント①Tree Branch

Tree Branchで階層を指定することで、指定された階層を見てみます。

最初は、一番最初の階層の{0,0,0}の階層を見てみます。

一番最初の階層

1つの目階層を見てみると、10個のサーフェスが抽出されます。

このように、1つの階層にPartition Listで指定した数の10個のデータが入っていることが分かります。

5番目の階層
画像をクリックして拡大して見る

今度は、5番目の階層を見てみます。

5番目の階層のデータ

5番目の階層でも、1つの階層に10個のサーフェスが入っていることが分かります。

このように、他の階層も10個のデータにまとめ分けられていることが分かります。

他の使用例

もう1つの使用例を見てみます。

今回は、先程の1つ1つのサーフェスを、中心点をつなぐ曲線を作成し、Partition Listを使う前と後の変化を見てみます。

画像をクリックして拡大して見る

使用コンポーネント:①RectangleSurfaceDivide Domain²IsotrimArea ⑥Partition List ⑦Interpolate

中心点を抽出

先程のIsotrimAreaにつなげることで、1つ1つのサーフェスの中心点を抽出します。

Partition Listを使わない場合
画像をクリックして拡大して見る

1つ目は、Partition Listを使わないで、AreaのC端子をInterpolateのV端子につなげます。

全ての点をつないで曲線が作成された

すると、このように全ての点をつないで、曲線が作成されました。

Partition Listを使う場合
画像をクリックして拡大して見る

次は、AreaInterpolateの間に、Partition Listを入れます。

先程と同様に、S端子に数値を10を入力します。

10個の点をつなぐ線が作成された

すると、このように10個の点をつなぐ線が作成されました。

これは、Interpolateが1つの階層にある点をつないで、線を作成するからです。

Partition Listで1つの階層に10個のデータが割り当てられるようにしているので、上の画像のように10個の点を結ぶ線が10本作成されました。

Partition Listコンポーネントを使用しているグラスホッパー記事はこちら↓