# Customizable curve generator

## by kakaroto, published

## Description

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.

The Rhodonea (Rose) Curve, Epicycloid, Epitrochoid, Hypocycloid and Hypotrochoid curves can be generated with varying parameters.

## Tags

## License

Customizable curve generator by kakaroto is licensed under the Creative Commons - Attribution - Share Alike license.

## Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.
Print Thing Tag

## Instructions

*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/b*t)*sin(t); y=cos(a/b*t)*cos(t)

Epicycloid : x=(a+b)*cos(t)-b*cos(((a/b)+1)*t); y=(a+b)*sin(t)-b*sin(((a/b)+1)*t)

Epitrochoid : x=(a+b)*cos(t)-c*cos(((a/b)+1)*t); y=(a+b)*sin(t)-c*sin(((a/b)+1)*t)

Hypocycloid : x=(a-b)*cos(t)+b*cos(((a/b)-1)*t); y=(a-b)*sin(t)-b*sin(((a/b)-1)*t)

Hypotrochoid: x=(a-b)*cos(t)+c*cos(((a/b)-1)*t); y=(a-b)*sin(t)-c*sin(((a/b)-1)*t)

(See also en.wikipedia.org/wiki/Rose_%28mathematics%29 )

You can set the 'a, 'b', and 'c' parameters to affect the look of the curve (see 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!

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/b*t)*sin(t); y=cos(a/b*t)*cos(t)

Epicycloid : x=(a+b)*cos(t)-b*cos(((a/b)+1)*t); y=(a+b)*sin(t)-b*sin(((a/b)+1)*t)

Epitrochoid : x=(a+b)*cos(t)-c*cos(((a/b)+1)*t); y=(a+b)*sin(t)-c*sin(((a/b)+1)*t)

Hypocycloid : x=(a-b)*cos(t)+b*cos(((a/b)-1)*t); y=(a-b)*sin(t)-b*sin(((a/b)-1)*t)

Hypotrochoid: x=(a-b)*cos(t)+c*cos(((a/b)-1)*t); y=(a-b)*sin(t)-c*sin(((a/b)-1)*t)

(See also en.wikipedia.org/wiki/Rose_%28mathematics%29 )

You can set the 'a, 'b', and 'c' parameters to affect the look of the curve (see 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!

Download All Files
(388 kb zip file)

Please Login to Comment