Triangulate 2D surface node

Connects points to form well-shaped triangles.

All Parameters Example files

See also: Divide, Poly Reduce

Triangulate 2D connects 2D points in the input geometry to create “well-shaped” triangles (roughly similar sizes without acute angles). If the input points are not planar, Triangulate 2D will project them onto a plane.

This operator is useful for creating geometry panels for use as cloth objects in dynamics .

Tip

To introduce randomness into the triangulation, pipe the original geometry through a Scatter SOP to add extra points at random locations.

Geometry with more irregular triangulation (instead of regular rows of triangles) will have better looking bends when used in cloth simulations.

Technically, Triangulate 2D produces a constrained Delaunay triangulation, and the refinement process is Delaunay refinement.

Parameters

Points

Subset of points to use for triangulation.

Refine

Improves the quality of the triangulation by adding new points. The triangulation will include some new points beyond the ones in the input, but the triangles will have better shapes. Specifically, this guarantees the output triangles respect the Maximum Area and Minimum Angle parameters.

If you start with the following points:

With Refine off, Triangulate 2D will create triangles using the available points, and may in the process introduce undesirable long skinny triangles:

With Refine on, Triangulate 2D will add points to create better triangles conforming to the Maximum Area and Minimum Angle parameters.

Maximum Area

The maximum area for the interior of each triangle. Decrease this value to get smaller and more similarly sized triangles. Very small values can make the triangulation take a long time.

Minimum Angle

The minimum angle, in degrees, for the interior of each triangle. Increasing this value to get more symmetrical triangles and eliminate long skinny triangles. Values larger than 30 degrees may prevent the triangulation from working.

Constraint Primitives

Enter the primitive numbers of primitives that should be preserved in the output triangulation.

If one of the primitives is closed, you can turn on Remove edges outside constraints to trim away edges outside the constraint primitives.

Turn on No new points on constraints to prevent Triangulate 2D from inserting new points on the edges of constraint primitives as it triangulates.

Remove Edges Outside Constraints

Remove edges outside the constraint primitives after triangulation is completed. This is useful if you just want to triangulate the interior of the constraint.

No New Points on Constraints

When this option is off, Triangulate 2D may satisfy some constraints by adding new points on constraint edges. This gives better triangulation, but you may not want to change the topology of the constraint primitives.

Turn this option on to prevent Triangulate 2D from adding points to the constraint primitives.

Note

If Refine is on, Triangulate 2D must be able to add points to the constraint primitives, so this option is disabled.

Create Group for New Constraint Points

Create a point group containing any points Triangulate 2D created on the constrained edges.

Group Name

When Create Group for New Constraint Points is on, Triangulate 2D creates a group with this name to contain points created on the constrained edges.

Maximum New Points

Limits the number of new points that can be added during triangulation. New points might be added to satisfy constraints or during refinement, up to this limit. This is mostly useful to ensure that the triangulation doesn’t run forever, and should usually be set to a value much larger than the number of points you expect to generate.

Keep Primitives

Keep all input primitives (except the constraint primitives) in the output in addition to new primitives created during triangulation.

When this option is off, the input primitives do not appear in the output.

Recompute Point Normals

Recomputes point normals (if they exist).

Example files

BasicTriangulate2D

$HFS/houdini/help/examples/nodes/sop/triangulate2d/BasicTriangulate2D.cmd

Load | Launch

This example demonstrates basic use of the Triangulate2D SOP on a small number of points.

MasterTriangulate2D

$HFS/houdini/help/examples/nodes/sop/triangulate2d/MasterTriangulate2D.cmd

Load | Launch

This example demonstrates advanced use of the Triangulate2D SOP, including constraints and refinement.

Usages in other examples

Example name Example for

Cloth Create Seam surface node

Load | Launch

Cloth Solver dynamics node

Load | Launch

Cloth Solver dynamics node

Load | Launch

Cloth Solver dynamics node

Load | Launch

Cloth Solver dynamics node

Load | Launch

Cloth Solver dynamics node

Load | Launch

Switch Solver dynamics node

Load | Launch

RBD Glue Object dynamics node

Load | Launch

Fan Force dynamics node

Load | Launch