Houdini 12 Nodes Surface nodes

Connects points to form well-shaped triangles.

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.

• To triangulate the input without adding new points, turn off Refine and leave Constraint primitives empty.

• To increase the number of points to allow better triangles, turn on Refine. You can control the triangle quality with the Maximum Area (controls triangle size) and Minimum Angle (larger values prevent long skinny triangles with acute angles) parameters.

• To make sure certain boundary edges are present in the final triangulation, enter the primitive number(s) of the edge(s) in the Constraint primitives parameter.

Turn on No New Points on Constraints to prevent Triangulate 2D from adding points to the constrained primitives. Turn on Remove Edges Outside Constraints

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.

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).

Examples

 BasicTriangulate2D Load | Launch `.../examples/nodes/sop/triangulate2d/BasicTriangulate2D.cmd`This example demonstrates basic use of the Triangulate2D SOP on a small number of points. MasterTriangulate2D Load | Launch `.../examples/nodes/sop/triangulate2d/MasterTriangulate2D.cmd`This example demonstrates advanced use of the Triangulate2D SOP, including constraints and refinement.

Examples that use this node

Example forExample name

`.../examples/nodes/dop/flipsolver/DensityViscosity.otl`

`.../examples/nodes/dop/magnetforce/MagnetMetaballs.otl`

`.../examples/nodes/dop/rbdglueobject/ChoreographedTubeBreakup.otl`

`.../examples/nodes/dop/rbdglueobject/ShatterGlass.cmd`

`.../examples/nodes/dop/rbdpinconstraint/Chainlinks.otl`

`.../examples/nodes/dop/rbdstate/InheritVelocity.otl`

`.../examples/nodes/dop/ripplesolver/RippleGrid.otl`

`.../examples/nodes/dop/voronoifracturesolver/FractureExamples.otl`

`.../examples/nodes/sop/dopimport/LowHigh.otl`

`.../examples/nodes/sop/dopimportrecords/dopimportrecordsexample.otl`

`.../examples/nodes/sop/gluecluster/glueclusterexample.otl`
`.../examples/nodes/sop/timeshift/PlateBreak.otl`