A Reuleaux triangle
is the shape you get, starting from an equilateral triangle, and
adding three circular arcs, drawn from each corner. It’s not actually
a triangle, but what’s in a name?
The interesting thing is that a Reuleaux triangle is a shape of
constant width. That means it can be used as a roller (but not a
wheel). The animation below shows this – we can see that although the
centre of the triangle moves up and down, the top surface of the
rotating triangle is always level.

Follow the link below to see more, get links to 3D printable versions,
and Matlab code to play with it.
There are a large variety of sea-shells (and land shells) that can be
simply described by rotating a ellipse around a log-spiral that has
been projected onto a cone. The image below was generated using this
approach:
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.