ArrayList supernova = new ArrayList();
for(int i = 0; i < 100; i++){
supernova.add(new movement(new PVector(width/2, height/2)));
background(10*hour(),25,25);
for(int i = 0; i < supernova.size(); i++){
movement p = (movement) supernova.get(i);
PVector variable1, variable2;
float r = random(0, 360);
variable2 = PVector.random2D();
lineSize = (int)random(2, 30);
size = (int)random(2, 30);
strokeWeight(size+hour());
ellipse(0,0,100+minute(),100+minute());
ellipse(1000,1000,100+minute(),100+minute());
ellipse(0,1000,100+minute(),100+minute());
ellipse(1000,0,100+minute(),100+minute());
float sw = variable2.x*lineSize*10;
float sh = variable2.y*lineSize*10;
PVector s = new PVector(sw+sin(radians(frameCount+r))*sw/2, sh+sin(radians(frameCount+r))*sh/2);
strokeWeight(size+hour());
line(variable1.x, variable1.y, variable1.x+s.x, variable1.y+s.y);
ellipse(variable1.x+s.x, variable1.y+s.y, size+second() , size+second() );
ellipse(variable1.x+s.x, variable1.y+s.y, size+second() , size+second() );