A Roulette is a curve
derived by rolling one curve against another. In the image below, the
blue point on the blue ellipse is rolled along a straight line (the
*x*-axis) to generate the purple curve (which is called an
undularly).

Included here is some Matlab code to generate roulette curves, with a fair degree of generality, but also showing how to generate specific instances such as cycloids, trochoids, the Cissoid of Dioclese, and the undularly and nodary.

Examples:

cycloid: a point on the rim of a circle as the circle rotates along a line.

trochoids: a point anywhere in relation to a circle as the circle rotates along a line (a cycloid is a special case).

undularly: the focus of an ellipse, as the hyperbola rotates along a line.

nodary: the focus of a hyperbola, as the hyperbola rotates along a line.