http://www.gamate.com/casestudy/supershape/ ActionScript:
function Supershape(m,n1,n2,n3,phi,a,b,x,y,env) {
var r;
r = POW(POW(ABS(COS(m * phi / 4) / a),n2)+POW(ABS(SIN(m * phi / 4) / b),n3),1/n1);
if (ABS(r) == 0) {
env.x = 0;
env.y = 0;
} else {
r = 1 / r;
env.x = r * COS(phi);
env.y = r * SIN(phi);
}
}