こんにちは、建築ソフト解説員のUMAです。
今回は、Grasshopperを使っていると時々出てくる『Reparametarize』について解説していきます。
はじめに
今回解説するReparameterizeは、Grasshopperにおいて、曲線上の任意の位置や曲面における任意の位置を指定する際に多用するものです。
このRepameterizeを理解することで、特に曲面に対してモデリングしていくような複雑な形状をGrasshopperで作りやすくなります。
そこで今回は、曲線における任意の位置を指定する[t]パラメーターと曲面における任意の位置を指定する[u,v]パラメーターについて解説します。
[t]パラメーターとは
[t]パラメーターは、曲線における任意の位置を指定するパラメーターです。
例えばEvaluate Curveを使って、様々な曲線における[t=0.5]の位置を取得してみましょう。
以上のように、曲線によって[t=0.5]の位置はバラバラなので、複数の曲線において中点や3等分された点を取得したい場合などには、それぞれ値を指定する必要があるのが難点です。
(曲線を等分するのであれば、Divide Curveなどといったコンポーネントでも対応できてしまいますが)
[u,v]パラメーターとは
[u,v]パラメーターは、曲面における任意の位置を指定するパラメーターです。
uとvのそれぞれは、曲面の境界線おける任意の位置を指定します。
つまり、U方向の[t]パラメーターの値がuに、V方向の[t]パラメーターの値がvになります。
では、実際にEvaluate Surfaceを使って、曲面における(u,v)=(0.5,0.5)の位置を取得してみましょう。
以上のように、参照する曲面によって(u,v)=(0.5,0.5)の位置はバラバラなので、異なる曲面形状において面の中心点を取得したりする場合などには、それぞれ値を指定する必要があるのが難点です。
Reparameterizeとは
では、本題に入りましょう。
Repameterizeは日本語で正規化と呼ばれ、[t]パラメーターと[u,v]パラメーターを0から1の値に再定義する操作です。
このRepameterizeによって、曲線においては全体の長さをℓとしたとき、tℓで表せる位置を取得できるようになります。(画像では、t=0.2)
曲面においては、曲面の境界線の長さをℓu,ℓvとしたとき、u方向にuℓu進み、v方向にvℓv進んだ位置を取得できるようになります。(画像では、u,v=0.25,0.5)
このようにRepameterizeによって、曲線や曲面上の任意の点を取得しやすくなります。
まとめ
今回解説したRepameterizeは、Grasshopperを使って複雑な形態を作成すること際に非常に大切です。
また、GrasshopperをRhinoと連携して使う際に、Rhino上の曲線や曲面をInputするタイミングでRepameterizeをしておくと、思わぬエラーを防ぐことになりますので、ぜひ使ってみてください。
以下の記事では、[u,v]パラメーターを生かして、スペースフレームをモデリングしています。
【Grasshopperの使い方を端的に解説!】スペーストラスを作ってみよう。