Attributed to Temple Fay
See also: Chrysanthemum curve
The so called "butterfly" curve is given by the equation
y = sin(u) (ecos(u) - 2 cos(4 u) - sin(u / 12)5.0)
#include "stdlib.h"
#include "stdio.h"
#include "math.h"
#define N 10000
typedef struct {
double x,y,z;
} XYZ;
int main(int argc,char **argv)
{
int i;
double u;
XYZ p,plast;
for (i=0;i<N;i++) {
u = i * 24.0 * PI / N;
p.x = cos(u) * (exp(cos(u)) - 2 * cos(4 * u) - pow(sin(u / 12),5.0));
p.y = sin(u) * (exp(cos(u)) - 2 * cos(4 * u) - pow(sin(u / 12),5.0));
p.z = fabs(p.y) / 2;
colour = GetColour(u,0.0,24*PI,4);
if (i > 0) {
Do something with the line from plast to p
}
plast = p;
}
}
Anaglyph contribution by Jean Tousset.

References Temple H. Fay, "The Butterfly Curve" American Mathematical Monthly 96, No. 5, May 1989.
Temple H. Fay, "A Study in Step Size" Mathematics Magazine 70, No 2, April 1997