These Components are now a part of Pufferfish and will be updated there from now on.
Download and install Pufferfish to get them: http://www.food4rhino.com/app/pufferfish
Components for making discrete vectors out of continuous or random vector sets. Good for matching vectors to other closest predefined vectors to give curves, swarms, and flowlines that straight line aesthetic. Works really well with plug-ins like Anemone and Boids Library, by inputting the result vectors into the rV input of the "Closest Vector" component, and the "Vector Star" into the tV input. "Closest Vector" and "Vector Star" will appear in the Vector > Vector tab. "Discrete PolyLine" makes any set of points into a polyline composed of discrete segments which align to the closest tV(targetVectors) and maintains the original lengths. "Discrete PolyLine" will appear in the Curve > Spline tab.
Closest Vector(CV): Find the closest targetVector(tV) to referenceVector(rV) by angle.
Input rV: Reference - referenceVector
Input tV: Target - targetVector
Output V: Vector - Closest targetVector(tV) to referenceVector(rV)
Output A: Angle - Angle between referenceVector(rV) and closest targetVector(tV) in radians
Discrete PolyLine (DPLine): Create a polyline by finding the closest targetVector(tV) to each vector between the vertices in referenceVertices(rV) by angle
Input rV: Reference - referenceVertices
Input tV: Target - targetVectors
Output Pl: Polyline - Discrete polyline
Vector Star(VecStar): Create a spatial subdivision of vectors from the origin out.
Input R: Resolution - Number of subdividing iterations for vector directions
Output V: Vector - Vector directions of the vector star from the origin out
Output L: Line - Line representation of the vector star
*The Vector Star is useful as the targetVector(tV) for "Closest Vector" & "Discrete PolyLine", but any custom vectors can be used as well.
Optionally, you can see a similar workflow but done without these components from Noumena's website here.