Actionscript:
- 
var canvas:BitmapData=new BitmapData(400,400,false,0x000000);
- 
addChild(new Bitmap(canvas));
- 
- 
var a:Number=-1.21;
- 
var r:Rectangle=new Rectangle(0,0,3,5);
- 
var halfWidth:Number=canvas.width/2;
- 
var halfHeight:Number=canvas.height/2;
- 
- 
render();
- 
- 
function render():void{
- 
for (var x:Number = -2; x<=2; x+=.01) {
- 
for (var y:Number = -2; y<=2; y+=.02) {
- 
- 
// equation from : http://en.wikipedia.org/wiki/Bicuspid_curve
- 
//(x^2 - a^2) * (x - a)^2 + (y^2 - a^2) * (y^2 - a^2) = 0
- 
- 
// unpoptimized:
- 
// var e:Number = (x*x - a*a) * (x-a)*(x-a) + (y*y-a*a) * (y*y-a*a);
- 
// optimized:
- 
var x_a:Number=x-a;
- 
// factoring: x^2 - a^2 = (x + a) * (x - a)
- 
var y2_a2:Number = (y + a) * (y - a);
- 
var e:Number = (x + a) * x_a * x_a * x_a + y2_a2 * y2_a2;
- 
- 
r.x=halfWidth+y*50;
- 
r.y=halfHeight-x*100;
- 
var col:Number = e * 50;
- 
if (col <10){
- 
col = Math.abs(col) + 70;
- 
canvas.fillRect(r, col <<16 | col <<8 | col );
- 
}
- 
}
- 
}
- 
}
This is a variation on a post from a little while back.... it plots a modified Bicuspid that resembles a tooth:
