Using Blender 3.0, I'm trying to create procedural baroque ornamentation using geometry nodes (so that widths and curvature of each swirl can be varied at random). As the base of each swirl, I am trying to create a curve that tapers at both ends, like this one drawn in Illustrator: curve tapered at both ends

I know that this kind of radius variation along the body of a curve is possible with a tapering object, but there are no geometry nodes for that, and unfortunately, the curve parameter geometry node only seems to provide a 0 to 1 tapering method that leaves one end thick, as shown below:

curve tapered at only one end

You can also see a disconnected color ramp node in that image. I attempted to use that to ramp the radius, but it seemed to consider only the endpoints. When both ends of the radius are black, the whole curve has 0 radius, regardless of the white color stop in the middle. Any other ideas for how to achieve tapering at both ends through geometry nodes?

  • $\begingroup$ Resample curve after Bezier Segment node. $\endgroup$ Dec 23, 2021 at 2:59
  • $\begingroup$ Thank you so much! This worked perfectly. $\endgroup$ Dec 23, 2021 at 3:47

1 Answer 1


You can use the float curve and set curve radius nodes to do this. The float curve will shape the curve, if needed you may add a resample curve also to add a bit more geometry.

Here is the node tree: enter image description here

and result:

enter image description here

Note that in 3.1 curve parameter has been removed, and is now spline parameter.

  • $\begingroup$ thanks Tim, easiest way to taper! $\endgroup$
    – noibat
    Dec 3, 2022 at 17:01
  • $\begingroup$ In case anyone stubles on this in later blender versions the "Curve parameter" node is called "Spline Parameter" $\endgroup$
    – SkaveRat
    Nov 13, 2023 at 1:52

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .