float eyeWidth, catWidth, earHeight, noseWidth;
ellipse(x, y, wd, ht*.95);
triangle(x+wd*.45, y-ht*.24, x+wd*.49, y-ht*earHeight, x+wd*.21, y-ht*.46);
triangle(x-wd*.45, y-ht*.24, x-wd*.49, y-ht*earHeight, x-wd*.21, y-ht*.46);
curveVertex(x+wd*.4, y-ht*.2);
curveVertex(x+wd*.49, y-ht*.11);
curveVertex(x+wd*.48, y+ht*.05);
curveVertex(x+wd*.35, y+ht*.15);
curveVertex(x+wd*.1, y-ht*.05);
curveVertex(x+wd*.2, y-ht*.3);
curveVertex(x+wd*.3, y-ht*.34);
curveVertex(x+wd*.49, y-ht*.11);
curveVertex(x+wd*.55, y-ht*.02);
curveVertex(x-wd*.4, y-ht*.2);
curveVertex(x-wd*.49, y-ht*.11);
curveVertex(x-wd*.48, y+ht*.05);
curveVertex(x-wd*.35, y+ht*.1);
curveVertex(x-wd*.1, y-ht*.05);
curveVertex(x+wd*.01, y-ht*.48);
curveVertex(x-wd*.3, y-ht*.38);
curveVertex(x-wd*.41, y-ht*.3);
curveVertex(x-wd*.49, y-ht*.11);
curveVertex(x-wd*.55, y-ht*.02);
curveVertex(x-wd*.23, y-ht*.43);
curveVertex(x-wd*.2, y-ht*.47);
curveVertex(x+wd*.05, y-ht*.5);
curveVertex(x+wd*.25, y-ht*.43);
curveVertex(x+wd*.45, y-ht*.24);
curveVertex(x+wd*.49, y-ht*.11);
curveVertex(x+wd*.4, y-ht*.24);
curveVertex(x+wd*.3, y-ht*.15);
curveVertex(x+wd*.2, y-ht*.24);
curveVertex(x+wd*.1, y-ht*.18);
curveVertex(x-wd*.05, y-ht*.4);
curveVertex(x-wd*.2, y-ht*.47);
curveVertex(x-wd*.23, y-ht*.55);
curveVertex(x-wd*.3, y-ht*.45);
curveVertex(x-wd*.2, y-ht*.47);
curveVertex(x-wd*.15, y-ht*.3);
curveVertex(x-wd*.4, y-ht*.3);
curveVertex(x-wd*.2, y-ht*.47);
curveVertex(x-wd*.1, y-ht*.45);
curveVertex(x+wd*.1, y+ht*.1);
curveVertex(x, y+ht*.32);
curveVertex(x-wd*.17, y+ht*.37);
curveVertex(x-wd*.1, y+ht*.43);
curveVertex(x+wd*.02, y+ht*.46);
curveVertex(x+wd*.06, y+ht*.37);
curveVertex(x, y+ht*.32);
curveVertex(x-wd*.1, y+ht*.3);
triangle(x+wd*.28, y-ht*.42, x+wd*.49, y-ht*earHeight, x+wd*.21, y-ht*.46);
triangle(x-noseWidth*.5, y+ht*.22, x+noseWidth*.5, y+ht*.22, x, y+ht*.29);
line(x, y+ht*.29, x, y+ht*.32);
curveVertex(x+wd*.1, y+ht*.1);
curveVertex(x, y+ht*.32);
curveVertex(x-wd*.2, y+ht*.36);
curveVertex(x-wd*.4, y+ht*.2);
curveVertex(x-wd*.1, y+ht*.1);
curveVertex(x, y+ht*.32);
curveVertex(x+wd*.2, y+ht*.36);
curveVertex(x+wd*.4, y+ht*.2);
curveVertex(x-wd*.12, y+ht*.07);
curveVertex(x-wd*.12, y+ht*.03);
curveVertex(x-wd*.15, y-ht*.04);
curveVertex(x-wd*.29, y-ht*.07);
curveVertex(x-wd*.35, y-ht*.07);
arc(x-wd*.2, y-ht*.02, wd/6.6, ht/6.6, .2, PI+QUARTER_PI-.2);
curveVertex(x+wd*.12, y+ht*.07);
curveVertex(x+wd*.12, y+ht*.03);
curveVertex(x+wd*.15, y-ht*.04);
curveVertex(x+wd*.29, y-ht*.07);
curveVertex(x+wd*.35, y-ht*.07);
arc(x+wd*.2, y-ht*.02, wd/6.6, ht/6.6, -.5, PI-.3);
arc(x-wd*.205, y-ht*.01, eyeWidth, ht/10, -1, 4);
arc(x+wd*.205, y-ht*.01, eyeWidth, ht/10, -1, 4);
curve(x-wd*.2, y+ht*.6, x+wd*.05, y+ht*.27, x+wd*.5, y+ht*.3, x+wd*.6, y+ht*.5);
curve(x-wd*.2, y+ht*.6, x+wd*.05, y+ht*.29, x+wd*.53, y+ht*.35, x+wd*.6, y+ht*.5);
curve(x-wd*.2, y+ht*.6, x+wd*.05, y+ht*.31, x+wd*.5, y+ht*.39, x+wd*.6, y+ht*.5);
curve(x+wd*.2, y+ht*.6, x-wd*.05, y+ht*.27, x-wd*.5, y+ht*.3, x-wd*.6, y+ht*.5);
curve(x+wd*.2, y+ht*.6, x-wd*.05, y+ht*.29, x-wd*.53, y+ht*.35, x-wd*.6, y+ht*.5);
curve(x+wd*.2, y+ht*.6, x-wd*.05, y+ht*.31, x-wd*.5, y+ht*.39, x-wd*.6, y+ht*.5);
curve(x+wd*.15, y, x+wd*.12, y-ht*.07, x+wd*.17, y-ht*.25, x+wd*.4, y-ht*.4);
curve(x+wd*.15, y, x+wd*.135, y-ht*.08, x+wd*.23, y-ht*.29, x+wd*.44, y-ht*.4);
curve(x+wd*.15, y, x+wd*.15, y-ht*.09, x+wd*.27, y-ht*.26, x+wd*.48, y-ht*.4);
curve(x-wd*.15, y, x-wd*.12, y-ht*.07, x-wd*.17, y-ht*.25, x-wd*.4, y-ht*.4);
curve(x-wd*.15, y, x-wd*.135, y-ht*.08, x-wd*.23, y-ht*.29, x-wd*.44, y-ht*.4);
curve(x-wd*.15, y, x-wd*.15, y-ht*.09, x-wd*.27, y-ht*.26, x-wd*.48, y-ht*.4);
catWidth=random(75, 200);
eyeWidth=random(catWidth/40, catWidth/10);
earHeight=random(.35, .61);
noseWidth=random(catWidth*.04, catWidth*.2);
if (x < (width-width/3)) {
else if (x > (width-width/3)) {