|On this page|
This node is used to sample a type of interpolating spline defined by one or more control polygons. Splines are defined using a novel spline formulation involving a blend between individual spline segments to create a C2 continuous curve with some nice properties.
Using the Hybrid Spline type, bounded, C2 continuous curves can be formed that are able to make nice circular and elliptical segments, as well as straight lines.
Using the Helix Spline type, bounded, C2 continuous curves can be formed that are able to form nice ellipses.
Using a form of segment blending, combinations of different spline types can be used to allow circular type curves in some areas, with helices in others. Splines have no constraints on the combinations of possible segment types.
The control polygon(s).
Points to include as control points.
The type of spline to interpolate the control points using.
Uses a combination of Circular and Elliptical Splines to create nice circular or elliptical arcs. This type of spline generally gives nice behaving curves that are bounded and non self-intersecting.
Splines use circles that interpolate 3 points.
Splines use ellipses that interpolate 3 points, where the central point is the first axis, the further point from the center is the second axis, and the ellipse is fitted to pass through the remaining point.
Splines are defined by a helix-like curve created as a blend of two helix segments sharing a common axis. The first segment interpolates the first and second point. The second segment interpolates the second and third point. The segments are blended together to provide a C2 continuous curve with points at angles of -180, 0, and 180.
Override Spline Type with Attribute
When enabled the SOP will pick up a
splinetype string attribute on the input points,
indicating what type of spline should be used for the segment centered at the given point.
Adjacent segments can have any combination of spline types, and the resulting curve will
always be C2 continuous (Provided Re-parametrization Strength is non-zero).
splinetype attribute may be one of 'hybrid','circle','ellipse', or 'helix'.
The type of helix spline used when Spline Type is set to Helix. This option only changes the method of choosing the axis of the helix.
The axis of the helix is defined as the vector between the first and third points. Helices of this type will have an equal radius for both segments, but the elongation may not be equal for both segments.
The axis of the helix is chosen such that the distance, along the axis (projected distance), between the first and second point, and the second and third point are equal. Helices of this type will have an equal elongation for both segments, but the radius may not be equal for both segments.
The angle p1-p2-p3 is used to set the axis as a weighted blend of the Directional and Balanced typed. At an angle of 180 degrees, the axis will be equal to that of Directional. At an angle of 0 degrees, the axis will be equal to that of Balanced.
Controls the influence of a segments parametrization on neighboring segments. At a value of 0.0, curves have no influence on the parametrization of neighboring segments, these will feature parameter speed discontinuities at control points. At a value of 1.0, segments have a strong influence on the parametrization of neighboring segments, allowing for nice transitions in speed between segments. At any value other than 0.0, the resulting parametrization is C2 continuous.
Adjust by Pseudo-Arclength
Whether to shift sample positions based on the approximate arclength to approximate an even spacing between samples. When enabled, the total number of samples on the curve is unchanged, however there will no longer be exactly Segment Divisions number of samples between each pair of control points.
The number of additional curve samples between each pair of sampled positions to more accurately compute the arclength between successive samples.
How many times to sample each spline segment.
Use Curveu Output
Whether to output the
curveu of each point as an attribute.
The name of the attribute to be output containing the
curveu of each point.
Use Tangent Attrib
Whether to output the tangent of the curve as an attribute.
The name of the attribute to be output containing the curve tangent.
Fitting Iteration Limit
Controls the limit to the number of bisection iterations when fitting ellipses. If the ellipse is fitted within the Error Tolerance before this limit is reached, then it will still break out early.
Controls the error tolerance when fitting ellipses, circles, and straight lines.