[Grasshopper]ドメイン範囲を作るConstruct Domain²(Dom²)の使い方

[Grasshopper]ドメイン範囲を作るConstruct Domain²(Dom²)の使い方 Grasshopperコンポーネント

ドメイン範囲を作る、Construct Domain²(Dom²)コンポーネントの使い方について解説します。

見え方1
見え方2

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

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

アイコン表示に変えたい場合、以下のリンク先の記事を参考にしてください。

ドメイン範囲を作る

Construct Domain²(Dom²)を使うことで、ドメイン範囲を作ることができます。

そして、Isotrimなどと一緒に使うことで、サーフェス・面の任意の部分を抽出することができます。

使用するサーフェス

最初は、こちらのサーフェスを使って解説します。

ドメイン範囲を作る

使用コンポーネント:①Surface ②Construct Domain²(Dom²) ③Isotrim

最初は、IsotrimにReparameterizeした場合のConstruct Domain²(Dom²)の使い方を見ていきます。

Construct Domain²(Dom²)のUとV端子に、0~1.0の数値を入力します。

今回は、U端子に0.5・V端子に0.9を入力しています。

すると、u方向が0~0.5・v方向が0~0.9のドメイン範囲が作成されました。

そして、Construct Domain²(Dom²)をIsotrimのD端子につなげます。

最後に、サーフェスのデータをS端子につなげます。

今回は、先程のサーフェスをSurfaceに格納し、つなげています。

Reparameterize

この際に、Isotrimの左側のS端子を右クリックし、Reparameterizeに設定してください。

これにより、サーフェスの位置を0~1.0の数値で指定することができるようになります。

サーフェスの一部を抽出できた

すると、このようにサーフェスの一部を抽出することができました。

よく見てみると、u方向が0~0.5の範囲なので、1つの方向は半分の長さになっています。

一方でv方向は、0~0.9の範囲なので、もう一方の方向の長さは9割あります。

数値を逆にする

今度は、U端子に0.9・V端子に0.5を入力し、数値を逆にしてみました。

抽出されるサーフェスが変わった

すると、抽出されるサーフェスのそれぞれの向きの長さの比率が、先程とは逆になりました。

数値をどちらも1にする

今度は、どちらの数値も1.0にしてみます。

サーフェス全体が抽出される

Reparameterizeによって、1.0がそれぞれの長さの最大値になっているので、サーフェス全体が抽出されました。

このようにuとv端子に入力する数値を変えることで、ドメイン範囲を変えることができます。

ドメイン範囲の初期値を設定する

先程までは、ドメイン範囲の初期値は自動的に0になっていました。

Construct Domainを組み合わせることで、ドメイン範囲の初期値を設定することができます。

ドメイン範囲の初期値を設定する

追加コンポーネント:①Construct Domain

まずは2つのConstruct Domainを用意します。

そして、Construct DomainのA端子に、最小値の値を入力します。

今回は、どちらにも0.3を入力しています。

B端子には、ドメイン範囲の最大値を入力します。

今回は、どちらにも0.8を入力しています。

そして、それぞれのConstruct Domainを、Construct Domain²(Dom²)のUとV端子につなげます。

すると、0.3~0.8のドメイン範囲がuとv方向に、それぞれ作成されていることが分かります。

サーフェスで見てみる

サーフェスで見てみると、それぞれの方向で、サーフェスが0.3~0.8の位置に収まっています。

このように、ドメイン範囲の初期値を決めることもできます。

Reparameterizeを使わない場合

IsotrimにReparameterizeを使わない場合には、それぞれの方向の長さの数値を直接入力します。

使用するサーフェス

分かりやすいように、上の平らなサーフェスを使って解説します。

両辺のそれぞれの長さは、20×30です。

Reparameterizeを使わない場合

Reparameterizeをしていた時は、0~1.0の数値を入力していました。

しかし、Reparameterizeしていない場合には、実際の長さを入力します。

今回は、両辺の長さが30と20なので、30と20をそれぞれUとV端子につなげました。

サーフェス全体が抽出された

すると、それぞれの方向の長さの最大値なので、サーフェス全体が抽出されました。

数値を半分にする

2つの数値を半分の15と10にしてみます。

それぞれの方向の長さが半分になった

すると、このようにそれぞれの方向の長さが半分になりました。

このように、Reparameterizeを使わない場合には、長さの数値を直接入力してください。

Construct Domain²(Dom²)コンポーネントを使用しているグラスホッパー記事はこちら↓