/*HALLEY'S COMET
MICHAEL MIRABILE
Move cursor left to right to change time of day and see comet. (HOURS)
Move cursor up to down to change time of life. (YEARS)
FOR BEST RESULTS: Go from top left corner to bottom right corner
*/
//void settings ()
//{
// size(400,400);
//}
void setup () {
size(400,400);
}
void draw() {
background(150);
fill(100,100,200);//bluish
rect(0,0,400,400);
noStroke();
//(position from left, position from right, size, size)
//SKY BASE RECT
//Black Sky
fill(50,50,50,mouseX );//darkish
rect(0,0,400,400);
//Stars
fill(250,250,250,mouseX/2);//white
ellipse(15,10,5,5);
ellipse(10,110,5,5);
ellipse(10,160,5,5);
ellipse(10,210,sin(frameCount/7)*5,sin(frameCount/7)*7.5);
ellipse(30,130,5,5);
ellipse(40,220,5,5);
ellipse(50,230,5,5);
ellipse(60,300,5,5);
ellipse(10,310,sin(frameCount/7)*5,sin(frameCount/7)*7.5);
ellipse(10,270,5,5);
ellipse(130,10,5,5);
ellipse(120,10,5,5);
ellipse(100,230,5,5);
ellipse(190,10,5,5);
ellipse(230,10,5,5);
ellipse(300,20,5,5);
ellipse(330,10,sin(frameCount/7)*5,sin(frameCount/7)*7.5);
ellipse(50,20,5,5);
ellipse(50,30,5,5);
ellipse(50,90,sin(frameCount/7)*5,sin(frameCount/7)*7.5);
ellipse(130,50,5,5);
ellipse(180,50,5,5);
ellipse(230,50,5,5);
ellipse(250,190,5,5);
ellipse(250,170,5,5);
ellipse(270,250,5,5);
ellipse(320,50,5,5);
ellipse(300,170,5,5);
ellipse(370,150,5,5);
ellipse(350,70,5,5);
ellipse(100,80,5,5);
ellipse(140,100,sin(frameCount/7)*5,sin(frameCount/7)*7.5);
ellipse(200,130,5,5);
ellipse(230,100,5,5);
ellipse(300,120,5,5);
ellipse(370,100,sin(frameCount/7)*5,sin(frameCount/7)*7.5);
ellipse(100,120,5,5);
ellipse(150,100,5,5);
ellipse(150,150,5,5);
ellipse(150,200,5,5);
ellipse(200,150,5,5);
ellipse(200,200,5,5);
noStroke();
//COMET
stroke(255);
strokeWeight(5);
//Main
fill(155,150,155, mouseX);
line(135, 110, 165, 120);
line(135, 90, 165, 120);
line(100, 75, 165, 120);
//Trail
strokeWeight(0);
fill(255,255,255, 100);
line(100, 90, 165, 120);
line(100, 70, 165, 120);
line(70, 50, 165, 120);
noStroke();
//SUN MESH
//Outer Glow
fill(200,200,200,75);//whiteish
ellipse(mouseX + 120,100,135,135);
//Main Circle
fill(200,200,10);//yellow
ellipse(mouseX + 120,100,110,110);
//Sun Rays
rect(mouseX + 170, 100, 25,10);
rect(mouseX + 50, 100, 25,10);
rect(mouseX + 120, 150, 10,25);
rect(mouseX + 115, 25, 10,25);
fill(200,200,200,75);//whiteish
//Inner Glow
ellipse(mouseX + 120,100,75,75);
fill(200,200,200,75);//whiteish
ellipse(mouseX + 120,100,25,25);
//MOON MESH
//Outer Glow
fill(250,250,250,50);//white
ellipse(mouseX - 320,100,125,125);
//Main Moon
fill(250,250,250);//white
ellipse(mouseX - 320,100,100,100);
//Craters
stroke(1);
fill(150,150,150);//greyish
ellipse(mouseX - 295,75,30,30);
ellipse(mouseX - 345,125,20,20);
ellipse(mouseX - 345,85,25,25);
ellipse(mouseX - 300,115,40,40);
noStroke();
//Inner Glow
fill(175,175,175,50);//greyish
ellipse(mouseX - 320,100,75,75);
//GROUND BASE ELLIPSE
stroke(0);
fill(50,250,50);//green
ellipse(200,375,600,300);
//SHRUB
noStroke();
fill(50,200,50);//greenish
ellipse(100,225,75,75);
ellipse(75,250,75,75);
ellipse(125,250,75,75);
//Berries
fill(150,50,50,mouseY);//reddish
ellipse(100,250,10,10);
ellipse(80,220,10,10);
ellipse(120,270,10,10);
ellipse(110,230,10,10);
ellipse(120,210,10,10);
//TREE BASE MESH
fill(100,50,0);//brown
rect(300,220,30,mouseY/3,5);
fill(50,200,50);//greenish
ellipse(285,225,mouseY/5+ 20,mouseY/5 + 20);
ellipse(310,225,mouseY/5 + 20,mouseY/5 + 20);
ellipse(330,245,mouseY/5 + 20,mouseY/5 + 20);
fill(100,50,0);//brown
//ellipse(315,300,30,30);
//Apples
fill(250,100,50,mouseY);//reddish
ellipse(290,205,10,10);
ellipse(300,220,10,10);
ellipse(320,225,10,10);
ellipse(280,235,10,10);
ellipse(350,235,10,10);
//PICNIC TOWEL
fill(175,175,175);//monocolor
rect(135,300,125,75);
fill(25,25,25);//dark
rect(135,300,10,75);
rect(195,300,10,75);
rect(260,300,10,75);
rect(135,300,125,10);
rect(135,365,125,10);
rect(135,330,125,5);
rect(135,315,125,5);
rect(135,350,125,5);
//Basket
//Fruits in Basket
fill(50,50,100);
ellipse(220,340,10,10);
ellipse(220,340,10,10);
ellipse(220,335,10,10);
fill(150,100,100);//brownish
rect(210,340,25,25,5);
fill(50,50,50);
rect(210,350,30,3);
//BOY/MAN
//Feet
rect(110,390,10,10);
//Hands
fill(200,200,175);//palish
ellipse(115,360,10,10);
ellipse(135,360,10,10);
//Body
fill(70,70,70);//dark grey
stroke(1);
rect(110,340,10,20);
noStroke();
rect(115,340,20,40);
rect(130,340,10,20);
//Legs
fill(100,100,200);//bluish
rect(125,370,10,30);
rect(115,370,10,30);
//Head
fill(200,200,175);//palish
ellipse(125,330,30,30);
fill(200,200,200,mouseY);//grey
ellipse(125,330,30,30);
fill(150,150,200);//light blue
rect(120,310,20,20);
ellipse(125,320,30,20);
//Wrinkles
stroke(0,mouseY);
strokeWeight(2);
fill(0,0,0,mouseY);
point(120,340);
point(130,330);
point(115,330);
noStroke();
//OVERALL SHADE
fill(0,0,0,mouseX/3);//dark
rect(0,0,400,400);
}