int imgWidth = 300;
int imgHeight = imgWidth * 3/2;

float flowerCenterX = imgWidth/2.0;
float flowerCenterY = 1/3.0 * imgHeight;

float circleSize = 30;

float dist = 50;
float angle = 2 * PI/5.0;


//straight down
float petal1X = flowerCenterX;
float petal1Y = flowerCenterY + dist;

// petal one away from centered down one
float petal2DeltaX = dist * sin(angle);
float petal2DeltaY = dist * cos(angle);

// going counter-clockwise: on the right of petal1
float petal2RX = flowerCenterX + petal2DeltaX;
float petal2RY = flowerCenterY + petal2DeltaY;

// going clockwise: on the left of petal1
float petal2LX = flowerCenterX - petal2DeltaX;
float petal2LY = flowerCenterY + petal2DeltaY;


// petal two away from centered down one
float petal3DeltaX = dist * sin(2 * angle);
float petal3DeltaY = dist * cos(2 * angle);

// continue counter-clockwise: now two up on the right of petal1
float petal3RX = flowerCenterX + petal3DeltaX;
float petal3RY = flowerCenterY + petal3DeltaY;

// continue clockwise: now two up on the left of petal1
float petal3LX = flowerCenterX - petal3DeltaX;
float petal3LY = flowerCenterY + petal3DeltaY;

size(imgWidth, imgHeight);
background(255, 255, 255);

noStroke();
fill(245, 190, 190);
ellipse(flowerCenterX, flowerCenterY, circleSize, circleSize);

fill(250, 250, 140);
ellipse(petal1X, petal1Y, 1.4 * circleSize, 1.4 * circleSize);

// on the right of petal1
ellipse(petal2RX, petal2RY, 1.4 * circleSize, 1.4 * circleSize);
// on the left of petal2
ellipse(petal2LX, petal2LY, 1.4 * circleSize, 1.4 * circleSize);

ellipse(petal3RX, petal3RY, 1.4 * circleSize, 1.4 * circleSize);
ellipse(petal3LX, petal3LY, 1.4 * circleSize, 1.4 * circleSize);


// for debugging
//stroke(0, 0, 0);
//strokeWeight(10);
//point(flowerCenterX, flowerCenterY);
//println(flowerCenterX + " " + flowerCenterY);