How to parametrically create gently changing curves

I’m not sure how to describe what I’m looking for except through the examples below. This is a kind of shape that’s often seen in vine inspired motifs. It’s similar to a spiral in that the rate of curvature is changing, but the change isn’t constant, and sometimes it changes to the other direction.

Does anyone know a good way to procedurally create these kinds of curves?


What are the constraints and requirements for the curves. NURBS curves by placing control points tend to be smooth and can be almost any shape. The higher the degree the smoother the curve will tend to be but the more difficult to change the shape locally. Note that for curves created using interpolation (curves through selected points) the higher the degree the more the curves will tend to develop oscillations.

I assume you only use Grasshopper and not Rhino by itself. To learn more about NURBS curves you might try creating curves directly in Rhino by placing control points, and then moving the control points. Use the Curve command and experiment with different degree curves and number of control points.

Then you can experiment with creating curves using Grasshopper.

I know about nurbs curves. What I’m trying to figure out is how to do the whole thing procedurally, without manually placing points.

Find a geometric arrangement of control points which produces the desired family of curves and can be desribed by a small number of parameters. Use the parameters to create the network of control points, and then create the curve using those control points.

Just like you can deconstruct a circle into its constituent x and y values:


You can do the same with these curves. If you can figure out the equation for these constituent curves you can generate these swirls based on them:

deconstructcurve.gh (12.1 KB)

1 Like

If you are trying to only create one curve, maybe try the Bezier Span component.

https://www.grasshopper3d.com/m/discussion?id=2985220%3ATopic%3A960158

It still basically works by defining 4 points. It id practically unavoidable, curves are made of control points.

The spiral end won’t be achievable this way though, you could look into some grasshopper spiral definitions and math formulae.

Yes, spiral control point patterns in a degree 5 curve can make these shapes.

VineCrvs.3dm (27.3 KB)

image

1 Like

Parameterized this strategy with a Fibonacci loop in anemone:



2021-09-11_Biswirl.gh (12.8 KB)

Here’s something based on exponential curves. If you play around with the sliders you’ll see what everything does.

exponential scrolls.gh (15.5 KB)