Customizable curve generator
by kakaroto, published
This is a customizable curve generator which can generate up to 5 different types of curves.
The Rhodonea (Rose) Curve, Epicycloid, Epitrochoid, Hypocycloid and Hypotrochoid curves can be generated with varying parameters.
UPDATE: Now supports up to 5 different types of curves. See updated instructions below for more information. I have also removed the extrusion option since openscad doesn't support rotate_extrude correctly.
This script will generate an artistic rendering of a mathematical curve. It was originally a generator for the Rhodonea (Rose) Curve, but I've now added support for 4 more curve types.
Here are the equations used for each one of those curves :
Rhodonea curve : x=cos(a/bt)sin(t); y=cos(a/bt)cos(t)
Epicycloid : x=(a+b)cos(t)-bcos(((a/b)+1)t); y=(a+b)sin(t)-bsin(((a/b)+1)t)
Epitrochoid : x=(a+b)cos(t)-ccos(((a/b)+1)t); y=(a+b)sin(t)-csin(((a/b)+1)t)
Hypocycloid : x=(a-b)cos(t)+bcos(((a/b)-1)t); y=(a-b)sin(t)-bsin(((a/b)-1)t)
Hypotrochoid: x=(a-b)cos(t)+ccos(((a/b)-1)t); y=(a-b)sin(t)-csin(((a/b)-1)t)
(See also http://en.wikipedia.org/wiki/Rose_%28mathematics%29 )
You can set the 'a, 'b', and 'c' parameters to affect the look of the curve (see http://en.wikipedia.org/wiki/File:Rose-rhodonea-curve-7x9-chart-improved.svg for example).
You can define how many points you want to be used to draw the result (higher gives better results, but takes longer to generate the STL). You can also control the thickness and height of the curve. The rose radius will set the radius of the petals. This will basically mean that the rose should fit in a circle with that radius.
Experiment, create and enjoy!