After exploring the variety of equations on the MathWorld site, I decided to use a heart curve to create peaches. My peaches are inspired by Japanese peaches, and they change color and size based on mouseX.
peachesfunction setup() {
createCanvas(480, 480);
}
function draw() {
background(150, 240, 210); //mint background
//4 peaches
for (var x = 140; x <= width; x += 200) {
for (var y = 140;y <= height; y+= 200) {
push();
leaf(x, y);
pop();
push();
translate(x, y);
peach();
pop();
}
}
}
function leaf(x, y){
push();
stroke(35, 153, 139);
strokeWeight(2);
strokeCap(SQUARE);
fill(50, 200, 180);
arc(x+15, y+15, 70, 40, PI/4, PI + PI/3, OPEN);
//arc(width/220 - 25, height/2, 40, 40, PI-PI/3, , OPEN);
pop();
}
function peach(){
var colorshift = constrain(mouseX, 5, 50);
fill(255, 180- colorshift/4, 120+colorshift/2);// peach become redder based on mouseX
stroke(250, 250, 250); //offwhite outline
scale(2.5);//no need to rotate peach shape
beginShape();
for (var i = 0; i < 2*PI; i+=0.1) {
var mx = constrain(mouseX/300, 0.7, 1.2); //mouseX multiplier
var x = mx*20*pow(sin(i),3);
var y = mx*20*cos(i)-4*cos(2*i)-2*cos(3*i);
vertex(x,y);
}
endShape();
}