Polyspline SOP

From TouchDesigner Documentation
Jump to: navigation, search

Summary
[edit]

The Polyspline SOP fits a spline curve to a polygon or hull and outputs a polygonal approximation of that spline. You can choose either to create divisions between the original points, or to ignore the position of the original points and divide the shape into segments of equal lengths.

Polyspline can optionally resample the output curve, providing control over the length and number of its segments.

Tip: When using this SOP, it is useful to enable Points display in the Viewport options dialog. This way you can see exactly what effect the SOP is having.

PythonIcon.pngpolysplineSOP_Class


Parameters - Page

Group group - Subset of faces to use. Accepts patterns, as described in Pattern Matching.  

Spline Type basis - - Spline type to use. There are seven choices:

  • Bezier bezier - Typical Bezier spline.
  • Special Bezier sbezier - Variation on Bezier.
  • Special Smooth Bezier c1bezier - Variation on Bezier.
  • Degree 2 Bezier degree2 - Variation on Bezier.
  • BSpline bspline - Softer curve does not pass through the original points of the Source.
  • Cardinal cardinal - The curve passes through the original points of the Source.
  • Linear linear - Straight line segments.

Close closure - -

  • Off cnone - Output spline open.
  • On calways - Output spline closed.
  • If polygon does cifpoly - Use the closure of the input face. In other words, Closed splines are created if the Source polygons are closed, open splines are created if the Source polygons are open.

Division Method divide - -

  • Standard standard - Do not resample curve.
  • Even Length Segments evenlen - Ensure equal segment lengths.
  • Even X Segments evenx - Ensure segments have equal length in X.
  • Even Y Segments eveny - Ensure segments have equal length in Y.
  • Even Z Segments evenz - Ensure segments have equal length in Z.

Segment Length segsize - The length of the segments in the resampled curve.

Division Method Standard If Even Length Segments are selected, Segment Length sets the length of output segments. The number of output segments is determined by Output Divisions. If Output Divisions is zero, the number of output segments is calculated using the Segment Length parameter, and is determined by how many segments of this size will fit into the overall shape. If Even Length Segments is selected, along with zero Output Divisions and Segment Length of zero, an error message is generated, saying "Invalid number of divisions or segment size".  

Output Divisions polydivs - Number of segments in the resampled curve.

If Division Method = Standard is selected, this has no effect. If Even Length Segments is selected, this parameter sets the number of edges that is created. The length of the segments is determined by Segment Length. If Segment Length is 0, the length of the output segments is determined by dividing the over all shape into this number of segments.

If the Output Divisions parameter is set to zero, the value of the Segment Length parameter is used to calculate the number of Output Divisions.  

Sample Divisions edgedivs - Number of spline divisions before resampling.

If Division Method = Standard is selected, this is the number of subdivisions for every edge. If Even Length Segments is chosen, it has the subtle effect of determining the accuracy with which the segment lengths can be calculated.  

First CV Count first - Number of times to repeat the first control vertex, determining its multiplicity. This determines the number of times to replicate the first vertex of the Source polygon(s). This is most useful when the Source consists of open polygons; extra vertices at the beginning of the line will force the curve to extend to the beginning of the line. For example a value of two will force a Cardinal curve to extend to its first vertex and a value of three will force a Bspline to start at is first vertex.  

Last CV Count last - This determines the number of times to repeat the last control vertex, determining its multiplicity. This determines the number of times to replicate the last vertex of the Source polygon(s). This is most useful when the Source consists of open polygons; extra vertices at the end of the line will force the curve to extend to the end of the line.  

CV Tension tension - The tension exerted by the points from the Source polygons. The greater the tension, the closer the resulting shape will be to the original shape.  


Operator Inputs

  • Input 0 -

TouchDesigner Build:

SOPs
Add • Alembic • Align • Arm • Attribute Create • Attribute • Basis • Blend • Bone Group • Boolean • Box • Bridge • Cache • Cap • Capture Region • Capture • Carve • CHOP to • Circle • Clay • Clip • Convert • Copy • CPlusPlus • Creep • Curveclay • Curvesect • DAT to • Deform • Delete • Divide • Extrude • Facet • File In • Fillet • Fit • Font • Force • Fractal • Grid • Group • Hole • Import Select • In • Introduction To SOPs id • Inverse Curve • Iso Surface • Join • Joint • Kinect • Lattice • Limit • Line • Line Thick • LOD • LSystem • Magnet • Material • Merge • Metaball • Model • Noise • Null • Object Merge • Oculus Rift • OpenVR • Out • Particle • Point • Experimental:Point • Polyloft • Polypatch • Polyreduce • Polyspline • Polystitch • Primitive • Profile • Project • Rails • Experimental:Raster • Ray • Rectangle • Refine • Resample • Revolve • Script • Select • Sequence Blend • Skin • Sort • Sphere • Spring • Sprite • Stitch • Subdivide • Superquad • Surfsect • Sweep • Switch • Text • Texture • Torus • Trace • Trail • Transform • Trim • Tristrip • Tube • Twist • Vertex • Wireframe • ZED

An Operator Family that reads, creates and modifies 3D polygons, curves, NURBS surfaces, spheres, meatballs and other 3D surface data.