// teardrop D. Parson Feb. 13, 2018 int xloc, yloc ; void setup() { size(500,500); background(255); xloc = width / 2 ; yloc = height/4 ; } void draw() { background(255); fill(255,255,0); stroke(0); // TEARDROP: // Left side of the teardrop: pushMatrix(); translate(xloc-10, yloc); rotate(radians(20)); scale(3.0,1.0); strokeWeight(.33); // otherwise it scales the stroke arc(0,0,10,70,radians(90), radians(270), OPEN); popMatrix(); // Right side of the teardrop: pushMatrix(); translate(xloc+10, yloc); rotate(radians(-20)); scale(-3.0,1.0); strokeWeight(.33); // otherwise it scales the stroke arc(0,0,10,70,radians(90), radians(270), OPEN); popMatrix(); strokeWeight(1); // restore the stroke width // Fill in the center of the teardrop using a triangle pushMatrix(); translate(xloc, yloc); noStroke(); triangle(0,-30,-20,33,20,33); popMatrix(); }