epicycloid, a MATLAB code which computes, plots and tabulates an epicycloid curve.

An epicycloid is the curve traced by a point on the perimeter of a circle of radius r1 which is rolling around the perimeter of a a circle of radius r2. Normally, r1 is smaller than r2.

The equations for the (x,y) coordinates of the point are:

        x(t) = (r1+r2) * cos(t) - r1 * cos ( (r1+r2)*t/r1 )
        y(t) = (r1+r2) * sin(t) - r1 * sin ( (r1+r2)*t/r2 )
It is usual to write k = r2/r1. If k is an integer, then the curve is closed, and has k cusps. If k is rational, and in lowest terms is p/q, then it has p cusps. Otherwise, if k is irrational, then mathematically the curve is not closed, and fills the annulus of radiuses r2 and r2+r1.

To use the programs, you specify:


The computer code and data files made available on this web page are distributed under the GNU LGPL license.


epicycloid is available in a MATLAB version.

Related Data and Programs:


Source Code:

Last modified on 09 January 2019.