2023年1月15日日曜日

【Grasshopper_73】行もしくは列ごとにパスを分類する方法


今回ご紹介するのは、一つのパスに格納されているデータを横もしくは縦の行列ごとに分類する方法です。トップ画像の形状そのものは参考ということで、グラデーション的な色をつけております。

・XY平面上に、適当な大きさのサーフェスを作成し、Lunch Boxプラグインに含まれているHexagon Cellsコンポーネントを使い、六角形を敷き詰めます。

・出力側から六角形のポリカーブとその中心点を取り出すことができます。Panelにつないで中身を確認すると、1つのパスの中にすべてのデータが格納されている状態です。

・六角形のポリカーブとその中心点は座標軸に沿って並んでいないケースが多いため、ここではY軸方向にそって整列させます。

・具体的には、六角形の中心点のY座標値をDeconstruct コンポーネントを使って取り出し、その数値を基準としてSort Listコンポーネントにつないで位置を揃えます。

・次の工程では、位置を揃えた六角形とその中心点及びY座標値を使いますので3つを取り出します。

・今回のメインテーマである、階層分けの部分です。

・Y座標値の数値が小数点付きのため、計算しやすいように小数点以下を切り離します。Text Splitコンポーネントにつないで"."を境に文字データを分離し、List Itemコンポーネントにつないで0番目のデータを取得することで、Y座標値の整数を取り出せます。

・黄緑色のアイコンで表示されている、Creat Setコンポーネントにつなぐと、ダブっている数値を一つだけ残して削除することができます。このダブりを除去したY座標値と全Y座標値をEqualityコンポーネントにつなぎ、TrueとFalseの2値に変換します。階層合わせのため、Graftの設定を忘れずにチェックしておきます。

・あとはCull Patternコンポーネントを通すと、Y座標値ごとにパスを分類した状態のデータになります。

・後はお好みでデータをいじって完成! ここでは、Y座標値ごとに色のグラデーションを表示してみました。

・DeconstructコンポーネントのX座標値に繋ぎ変えると、縦方向の階層分けになります。

0 件のコメント:

コメントを投稿

【Grasshopper_98】SporphとSurface Morphingの特徴、違いなどについて

今年もまたGWに突入しましたね。コロナ明けに円安、インバウンド特需のおかげで東京から郊外に出かけると例年以上に混雑に巻き込まれそうなので、昨年と同様、連休中は家に籠ってブログを更新します。今回のテーマは、Surface MorphingとSporphの違いについてまとめてみました。