Houdini 11 Nodes Surface nodes

Resamples one or more curves or surfaces into even length segments.

The Resample op only applies to polygons so when presented with a NURBS or Bezier curve input, it first converts it to a polygon using the Level of Detail parameter before continuing.

Inputs / Geometry Types

The Resample op works in conjunction with any primitive type that can be converted to polygons. This includes Bezier curves, NURBS curves, circles, and polygons.

Example

To create a constant length flag with the Resample SOP:

1. Create a number of horizontal lines using a Grid SOP: Primitive Type: Polygon; Connectivity: Rows; Size: 3, 1

2. Append a Group SOP: Group: group1; Entity: Points; Number: Enable; Pattern: 0-99:1,10

3. Append a Spring SOP: Source Group: group1; Forces/Wind: 1, 0, 0; Turbulence: 1, 0, -1

4. Clip each line to a constant length by appending a Resample op: Maximum Segments: On; Segments: 15

5. Appending a Skin SOP whose parameters can stay at the default, and enable the Points display in the Viewport options.

6. Click Play to view the result. Adjust the view as necessary.

7. Toggle the display op back and forth between the Spring SOP and the Skin SOP. Notice how the lines are stretched and deformed from their original length by the forces acting on them in the Spring SOP. After resampling, they are a constant length.

Parameters

Group

Group of curves of surfaces to resample.

Level of Detail

Level of detail at which to convert non-polygonal inputs.

Resample by polygon edge

Each edge of the polygon will be resampled independently. This option will preserve corners in the input.

Method
 Even Length Segments Measure the natural edge length. Even X Segments Measure the edges against the X axis. Even Y Segments Measure the edges against the Y axis. Even Z Segments Measure the edges against the Z axis.
Measure
 Along Arc Measure distance along the original curve between resampled points. Along Chord Measure distance between resampled points.
Maximum Segment Length

Specify maximum length of resulting edges.

Length

The maximum segment length of resulting edges.

Maximum Segments

Specify the maximum number of edges.

Segments

The maximum number of edges.

Maintain Last Vertex

Include final CV of original in resampled polygon.

Examples

 ResampleLines Load | Launch `.../examples/nodes/sop/resample/ResampleLines.otl`This example demonstrates the use of the Resample SOP on three types of curves. (Polygon, NURBS and Bezier) The Resample SOP rebuilds the curve by converting it into a series of Polygon Line Segments. The curve may be rebuilt “Along Arc” or “Along Chord”. “Along Arc” utilizes the Hull information as a basis of reconstruction, and can be defined by a Maximum Segment Length and/or Maximum Segment number. “Along Chord” can only be defined by Maximum Segment Length. Resampling the curve based on Maximum Segment number divides the line into segments of equal, but unspecified length, spanning from start to endpoint. Line detail is directly proportional to the Segment number. Resampling the curve based on Maximum Segment Length will rebuild the entire line into equal length segments except the last segment. If the Maintain Last Vertex option is on, the last segment will be less than or equal to the Maximum Segment Length value, depending on its distance to the endpoint. With the option off, the endpoint is disregarded and the line is created out of equal lengths. Turn on Points in the display to see how the Resample SOP resamples line segments.

Other examples that use this node

Example forExample name

`.../examples/nodes/dop/applyrel/ApplyRelationship.otl`

`.../examples/nodes/dop/particlefluidobject/../particlefluidsolver/PopFlow.otl`

`.../examples/nodes/dop/particlefluidsolver/PopFlow.otl`

`.../examples/nodes/dop/pyrosolver/BillowyTurbine.otl`

`.../examples/nodes/pop/attractor/AttractToCurvePoints.otl`

`.../examples/nodes/pop/follow/FlockOnPath.cmd`

`.../examples/nodes/sop/creep/CreepBlob.otl`

`.../examples/nodes/sop/creep/CreepParticleTubeA.otl`

`.../examples/nodes/sop/fur/FurBallWorkflow.otl`

`.../examples/nodes/sop/primitive/PrimCenter.otl`
`.../examples/nodes/sop/sweep/SweepCurve.otl`