xxxxxxxxxx
104
/*
cat(x-position, y-position, diameter, type);
types: tabby, black, and crazy
*/
function setup() {
createCanvas(400, 1024);
}
function draw() {
background(225);
cat(200, 250, 200, "tabby");
}
function cat(x, y, d, type) {
if (type == "tabby") {
colorBody1 = 255;
colorBody2 = 136;
colorBody3 = 19;
colorHead1 = 255;
colorHead2 = 165;
colorHead3 = 55
eyeColor = 0
} else if (type == "black") {
colorBody1 = 0;
colorBody2 = 0;
colorBody3 = 0;
colorHead1 = 75;
colorHead2 = 75;
colorHead3 = 75;
eyeColor = 255;
} else if (type == "crazy") {
colorBody1 = random(0, 255);
colorBody2 = random(0, 255);
colorBody3 = random(0, 255);
colorHead1 = random(0, 255);
colorHead2 = random(0, 255);
colorHead3 = random(0, 255)
eyeColor = 0
}
//tail
// noFill();
// strokeWeight(10);
// stroke(209,114,15);
// arc(175, 200, 50, 50, HALF_PI, 3 * HALF_PI);
// arc(175, 150, 50, 50, PI, HALF_PI);
//ears
noStroke();
fill(colorBody1, colorBody2, colorBody3);
var ear1 = {
firstX: x - (0.866 * d / 4),
firstY: (y - d / 2) - (0.5 * d / 4),
secondX: x - (0.866 * d / 4) + (10 / 50) * (d / 2),
secondY: (y - d / 2) - (0.5 * d / 4),
thirdX: x - (0.866 * d / 4) + (10 / 50) * (d / 4),
thirdY: (y - d / 2) - (0.5 * d / 4) - (20 / 50) * (d / 2)
}
var ear2 = {
RfirstX: ear1.firstX + (30 / 50) * (d / 2),
RsecondX: ear1.secondX + (30 / 50) * (d / 2),
RthirdX: ear1.thirdX + (30 / 50) * (d / 2)
}
triangle(ear1.firstX, ear1.firstY, ear1.secondX, ear1.secondY, ear1.thirdX, ear1.thirdY);
triangle(ear2.RfirstX, ear1.firstY, ear2.RsecondX, ear1.secondY, ear2.RthirdX, ear1.thirdY);
//body
ellipse(x, y, d);
//head
fill(colorHead1, colorHead2, colorHead3);
ellipse(x, y - d / 2, d * 0.5);
//eyes
stroke(eyeColor);
strokeWeight(d * 4 / 100);
point(x - (10 / 50 * d / 2), y - (d / 2));
point(x + (10 / 50 * d / 2), y - (d / 2));
//mouth
strokeWeight(d * 2 / 100);
var smile = {
startingX: x,
startingY: (y - (d / 2)) + (15 / 50) * (d / 2),
theWidth: (15 / 50) * (d / 2),
theHeight: (5 / 50) * (d / 2)
}
arc(smile.startingX, smile.startingY, smile.theWidth, smile.theHeight, 0, PI);
//nose
noStroke();
fill(255, 134, 154);
var nose = {
firstX: x,
firstY: y - (d / 2),
secondX: x - ((5 / 50) * (d / 2)),
secondY: (y - d / 2) + ((10 / 50) * (d / 2)),
thirdX: x + ((5 / 50) * (d / 2)),
}
triangle(nose.firstX, nose.firstY, nose.secondX, nose.secondY, nose.thirdX, nose.secondY);
}