On this page | |
Since | 17.0 |
Triangulate 2Dは入力ジオメトリ内の2Dポイントを繋げて、できるだけ(鋭角な角度を回避して)“良い形状”の2D三角形メッシュを作成します。
Triangulate 2Dは、平面上のポイントに対して動作するので、各3D入力ポイントに2D位置を割り当てる必要があります。 これには3通りの方法があります:
-
3Dポイントセットにベストフィットする平面にポイントを投影する。
-
ユーザがポイントの投影先となる平面を選択する。
-
ユーザが各ポイントの2D座標に対応したPointアトリビュートを用意する。
Triangulate 2Dは、特定のポイントのペアを出力メッシュのエッジ(またはRefinementを実行した時のエッジのサブディビジョン)にすることができます。 これらのエッジを constraints(拘束) と呼びます。 Constraints タブ下でエッジグループまたはプリミティブグループ(または両方)を用意することで、 そのconstraints(拘束)を指定することができます。
-
特定の境界エッジを最終的な三角形に存在させるには、 Constraint primitives パラメータにエッジのプリミティブ番号を入力するか、 または Constraint edges パラメータに必要なエッジのグループを指定します。
Triangulate 2Dは、 Outside Removal タブにある色々な方法を指定することで、目的の領域の外側と判断された三角形を削除することもできます。
Triangulate 2Dの Refine タブでポイントを追加すれば、三角形の形状を改良することもできます。
-
新しくポイントを追加せずに入力を三角形分割するには、 Refine をオフにし、 Constraint Primitives を空っぽのままにします。
-
ポイントの数が増えても良質な三角形を生成するには、 Refine をオンにします。 Maximum Area (三角形の大きさを制御)と Minimum Angle (値を上げると、鋭角な細長い三角形が回避されます)のパラメータを使えば、三角形の品質を制御することができます。 Minimum Edge Length パラメータを設定すれば、大きな三角形へのRefinement(精密化)を制限することができます。
Tip
三角形分割にランダム性を加えるには、元のジオメトリにScatter SOPを接続することで、ランダムな位置にポイントを追加します。
技術的には、Triangulate 2Dは、 拘束付きのドロネー三角形分割 を生成します。これは同じポイントセットに対して可能なすべての三角形分割の最小角度が最大になります。そして精密処理が ドロネーリファイン です。
パラメータ ¶
Point Group
三角形分割で使用するポイントのサブセット。
2D Positions
三角形分割に使用するポイントの2D位置を決める方法を指定します。
Fit Plane
ポイントを3Dポイントセットにベストフィットする平面に投影することで、ポイントの2D位置を取得します。
Select Projection Plane
3Dポイントの投影先となる投影平面をユーザが指定します。
Origin
Select Projection Plane が有効な時、投影平面は、“origin”として扱われるこのポイントを基準に決まります。
Distance
Select Projection Plane が有効な時、このパラメータは、投影平面と Origin で指定したポイント間の距離を決めます。
Direction
Select Projection Plane が有効な時、このベクトルは、 Origin で指定したポイントから離す投影平面の方向を決めます。
Use Attribute
指定したPointアトリビュート(アトリビュートは、最低でも2つの成分を持つ浮動小数点ベクトルでなければなりません)から各ポイントの2D位置を読み込みます。
Attribute Name
Use Attribute が有効な時、ポイントの2D位置がこの名前のアトリビュートから読み込まれます。
Constraints ¶
拘束を使用することで、特定のポイントのペアを出力三角形分割のエッジ、別名 constrained edge で強制的に繋げることができます。 拘束プリミティブグループ(すべてのエッジが拘束と見なされるポリゴンまたはポリゴンカーブで構成)を使用するか、またはエッジグループを使用するか、 または両方で拘束を指定することができます。
Edges
指定したエッジグループのすべてのエッジは、出力三角形分割の拘束として定義されます。
Note
エッジグループのエッジは、入力内のプリミティブエッジとして存在している必要がありません。 例を挙げると、“p10-20 p16-24”のエクスプレッションを拘束エッジグループとして使用すると、 ポイント10と20が出力のエッジで接続され、ポイント16と24も同様に接続されます。
Polygons
Specifies that the edges of the given polygons should be preserved in the final triangulation.
Ignore Polygon Bridge Edges
When off, removes any bridge edges from the constraint group.
Silhouette
Constrain to the set of primitives that are incident to an edge that intersects the silhouette of the projected input. The silhouette is formed from the edges whose incident primitives are oriented on opposite sides of the projection.
Allow Splitting of Crossing Constraints
Allows edges to be inserted into the triangulation for the purpose of creating closed boundaries formed from the constraint edges. This greatly improves the quality of the final mesh when removing triangles that are outside of the constraint boundaries.
Use Exact Construction for Constraint Split Points
Enables use of exact predicates when splitting triangles. This can improve triangle quality, but may be slower.
Ignore Non-Constraint Points
Simplifies the constraint set by removing all interior points.
Outside Removal ¶
このノードは、オプションで、拘束で決定される 外側 に属していると解釈可能な生成された三角形のサブセットを削除することができます。 これは、外側三角形の初期セットから開始し、拘束エッジによる現在のflood設定とは 別に floodが連続して近接三角形まで広がる一連の flooding 処理で行われます。 言い換えると、削除floodは、拘束エッジでのみブロックされます。
Flood from Convex Hull Boundary
Removes triangles that are outside of the constraint group.
Remove Outside of Constraint Polygons
Removes triangules outside the boundary of the constrained polygons.
Remove Outside of Silhouette
Removes triangles outside the boundary of the silhouette.
Refinement ¶
Refine
新しくポイントを追加することで、三角形分割の品質を改良します。 三角形分割によって、ポイントの数が入力のポイントの数より増えますが、三角形が良い形状になります。
以下のポイントから始めるとします:
Refine をオフにすると、Triangulate 2Dは利用できるポイントを使って三角形を作成します。 状況によっては、良くない細長い三角形が生成される場合があります:
Refine をオンにすると、Triangulate 2Dは Maximum Area , Minimum Angle , Minimum Edge Length のパラメータの設定に順守するように ポイントを追加して良い三角形を作成します:
Allow Splitting of Constraint Edges
Allows edges to be inserted into the final triangulation in order to improve triangle quality.
Encroach Angle
An angle threshold between 90 and 180 degrees on the angles of newly formed triangles from the insertion of edges. To avoid violating this criteria, the operator will insert additional edges.
Note
This parameter is disabled when Allow Splitting of Constraint Edges is on, so it looks like these two parameters currently do nothing.
Minimum Angle
各三角形内側の最小角度(度)。 この値を上げると、三角形がより対称的な三角形になり、細長い三角形が軽減されます。 30度より大きい値は、保証できません。 そのような値は、Refinementを永久に行なわさせてしまうことがよくあり、最大許容ポイント数( Maximum New Points )に到達した時に停止します。
Triangle Sizes
An optional specification on that target triangle size during relaxation.
Unrestricted
The default option where the target triangle sizes are unconstrained.
Cap Maximum Area
Specifies the target triangle size by an upper bound on the triangle area.
Maximum Area
The maximum target area to constrain triangle sizes.
Set Target Edge Length
Specifies the target triangle size by an upper bound on the length of the triangle edges.
Target Edge Length
The target edge length to constrain the triangle sizes.
Minimum Edge Length
ローカル領域での過剰なRefinement(精密化)を回避するには、さらに精密化される三角形の最長エッジに対して最小距離を指定します。 三角形のエッジすべてが指定した長さより短くなると、その三角形の形状の改良が終わります。
Maximum New Points
三角形分割する時に追加可能な新しいポイントの数を制限します。 新しいポイントは、拘束条件を満たしたり、 Refine を行なう時に、この数を上限に追加されます。 これは、三角形分割が無限ループに陥らないようにできるので役に立ちます。 通常では、この数は、あなたが生成したいポイント数よりも大きな値に設定します。
Regularization Steps
The number of iterations used to regularize the triangulation. More iterations will result in more uniform triangles, but will take longer.
Allow Movement of Interior Input Points
When regularizing the triangulation, this allows the interior points or the original projection to be moved in the plane.
Output Geometry ¶
Restore Original Point Positions
有効にすると、生成される三角形分割の三角形は、入力ポイントの元の3D位置を使用してトランスフォームされます。 新しく生成されるポイント(RefinementまたはConstraint Conflict Resolution用)には、入力ポイントの3D位置に基づいて補間された位置が割り当てられます。
Keep Primitives
三角形分割で作成された新しいプリミティブに加えて、出力に入力プリミティブすべて(拘束プリミティブを除く)を保持します。 無効にすると、入力プリミティブは出力されません。
Recompute Point Normals
(ポイント法線があれば)そのポイント法線を再計算します。
Remove Unused Points
有効にすると、入力ポイントグループ外のポイントが出力から削除されます。
Remove Duplicate Points from Triangulation
指定した2D位置に対して、1ポイントのみを三角形分割に挿入することができます。 複数のポイントが同じ2D位置である場合、それらのポイントのうち1つだけが三角形分割に挿入され、他のポイントは無視されます。 これを有効にすると、それらの重複したポイントが出力から削除されます。 これを無効にすると、独立したポイントのままになります。
Output Groups ¶
Split Points
Outputs a group of points used to split crossing constraints.
Constrained Edges
Outputs an edge group containing the edges specified from the constraints.
Random Seed
このノードで実装された三角形分割とRefinement(精密化)のアルゴリズムは、本質的には“ランダム化”されています。 つまり、入力ポイントを“ランダム”な順番で処理する場合にのみ、高い確率でピークパフォーマンスが期待されます。 Houdiniのノード出力は決定論的でなければならないので、このパラメータで決まる入力ポイントの固定ランダムのような並べ替えが使われます。 たいていの場合では、この固定された並べ替えがほぼ最適に実行されるはずですが、理論的には固定された並べ替えが特定のポイントセットに対して 弱く実行することができます。そのような場合にシード値を変更すると、生成される出力に影響を与えますが、特にポイント番号やプリミティブ番号に 関して三角形分割の速度に対して目に見える効果が出ます。
入力 ¶
Input1
ポイントデータを含んだジオメトリ。
出力 ¶
Output1
三角形分割された2次元メッシュ。
Examples ¶
Chainmail Example for Triangulate 2D geometry node
このサンプルでは、鎖かたびらの環を作成する新しいTriangulate2D SOPの高度な使い方を説明しています。
See also |