Curvesect SOP

From TouchDesigner 088 Wiki

Summary

The Curvesect SOP finds the intersections or the points of minimum distance between two or more faces (polygons, Bziers, and NURBS curves) or between faces and a polygonal or spline surface.

PythonIcon.png curvesectSOP_Class

Parameters - Transform Page

Face Group - A subset of faces (NURBS, Bzier, polygons) to act upon. Accepts patterns, as described in Pattern Matching.

Cutter Group - A subset of faces or spline surfaces to intersect with. Accepts patterns, as described in Pattern Matching.

Find All Intersections - Compute intersection points if the faces touch the cutter primitive. If the button is unchecked, only the point of minimum distance will be found. Currently, finding the minimum distance between a face and a surface is not available.

Tolerance /tolerance - Determines the precision of the intersection.

Cut Parameters - This option will cut the faces where they intersect or at the points of minimum distance.

Left-Face Pieces - Choose what parts of the left faces to keep:

  • Keep All - All the face segments generated by the intersection(s).
  • Keep Odd-numbered Ones - The odd face segments: 1, 3, 5...
  • Keep Even-numbered Ones - The even face segments: 0, 2, 4...
  • Keep None - Delete the entire face.

Right-Face Pieces - Choose what parts of the right faces to keep:

  • Keep All - All the face segments generated by the intersection(s).
  • Keep Odd-numbered Ones - The odd face segments: 1, 3, 5...
  • Keep Even-numbered Ones - The even face segments: 0, 2, 4...
  • Keep None - Delete the entire face.

Extract Parameters - This option extracts intersection points or isoparms.

Affect - Choose which input to operate on:

  • Left Input - Extract from the left input faces.
  • Right Input - Extract from the right input (face or surface).
  • Both Inputs - Extract from both left and right inputs.

Extract Point - If the right input is a surface, choose between point and isoparm extraction; only points are extracted if the right input is a face.

Keep Original

Examples

TouchGeometry239.gif

Circles

  1. Place two NURBS Circle SOPs, one of them slightly offset in X and Y (not Z).
  2. Pipe their outputs into a Curvesect SOP, make it the display SOP.
  3. Method: Cut. For the Left Face, select Keep Odd-numbered Ones.
  4. You can extract the inside (even) or outside (odd) portion of the curve where they intersect.

Star

  1. Model a closed NURBS curve in the shape of a star (use a Model SOP).
  2. Place a NURBS Circle SOP.
  3. Pipe them into a Curvesect SOP, make it the display SOP.
  4. It produces five independent NURBS curves based on their intersection with the NURBS circle.
  5. You could append a Join SOP to reconnect the individual NURBS curves into a new continuous curve. It smoothly connects the remaining segments.

Creeping behaviour along a Path

  1. Place a new Font SOP and then a Circle SOP. Circle SOP - Type: NURBS, Radius 0.1, 0.1; Centre -3, 0.3, 0.2. Font SOP - Text: "Creep Along Me".
  2. Append a Curvesect SOP with the Font and Circle SOPs feeding into the first and second inputs respectively. Change the Tolerance to 1.0, and enable the Extract operation. Turn off Find All Intersections. Make it the display SOP.
  3. Enable the template flags on the Font and Circle SOPs (use S click).
  4. Home the view, and enable the Point display in the Viewport options.
  5. As you change the Circle's X value from -3.0 to 3.0, you will notice that a number of points will creep along the paths of the curves within the text. Using a Copy SOP to copy geometry to each of these points gives you a simple way of creating an irregular "flocking behaviour" along predetermined paths. This works, because as the circle moves above the curves in the text, the points in the curves that are closest to the circle move also.
  6. Use a Model SOP instead of a Font SOP to model several NURBS curves which are the paths to follow for more precise control over the motion.

TouchGeometry21.gif