2024年7月1日月曜日

【Grasshopper_100】三角形サーフェスのUVの仕組みを調べてみた

普段のモデリングで三角形サーフェスを扱う事例はあまり無いのですが、ふと気になったので色々試した結果をまとめてみます。ネットで調べても案外出てこないんですよね。

まずは、UV座標軸の原点の位置。
3つの辺をEdge Surfaceコンポーネントにつないでサーフェス化する場合、2本目と3本目の間の頂点がUV座標軸の原点となります。辺の選択を時計回り、反時計回りのどちらの設定にしても同じ結果になります。

次に、UとVの軸の向きです。
2辺の間の角度方向の位置がU座標、辺の長手方向の位置がV座標になります。この2つのパラメータで三角形全域の位置の指定が可能ですね。

Surface Pointコンポーネントにつないで制御点の位置を表示してみます。原点の位置に点が一つしか表示されませんが、同じ位置の点がU成分の個数分、重なっていることを意味しています。

続いて、二つの三角形サーフェス間のUV位置マッピング。
内側に3mmオフセットさせた三角形にサーフェスを張ります。抽出した辺を結合&分解をすると辺の順番が変わってしまうので、元の三角形サーフェスの辺の順番と合うようにEdge Surfaceコンポーネントにつなぎます。辺の順番さえ揃っていれば、UV座標の原点とU軸、V軸の方向は同じになりますが、向きそのものが反転してしまう場合、Flip Curveコンポーネントを間に挟むと完全に揃います。

最後に、冒頭の画像のような、膨らんだ三角形の形状を作ってみました。


・三角形のサーフェスを作成後、UV座標原点を内側に若干量移動させて縮小サーフェスを作成します。

・同時に、制御点をV座標の値ごとにパスを分け、原点に相当する0階層とそれ以外に分類します。


・分類した制御点を三角形に対してなるべく均等に内側へ移動するように加工していきます。

・制御点のZ方向への移動、Point Deformコンポーネントを使ったサーフェス化を組み合わせて完成です。

UV座標の原点近傍は制御点が密集しているため、整った形にする場合、最終的には手作業で微調整する必要がありそうです。サーフェスのUVはポリゴンメッシュのように制御点を自由に間引くことができないため、Grasshopperのみだと限界があり、どこまでをGrasshopperで作業するのか各自の判断に寄りそうだなと感じました。

0 件のコメント:

コメントを投稿

【Grasshopper_105】三角形の中に円を敷き詰める方法

今年もいよいよ残すところあと1カ月を切りました。今年最後の投稿となりますが、三角形の枠の中に円を敷き詰めるサンプルの作り方を書いてみたいと思います。三角形が正三角形に近いほどドットの間隔が一定になります。面積がバラバラだと密度の濃淡が出てしまうので調整が難しいかもしれません。