let x, y;

let img; // Declare variable 'img'.


function setup() {
  createCanvas(720, 400);
  // Starts in the middle
  x = width / 2;
  y = height;
	background(65,150,random(220,255),random(220,255));
  frameRate(29);
    img =loadImage('https://collectionapi.metmuseum.org/api/collection/v1/iiif/207770/434967/main-image'); // Load the image
      img2 =loadImage('https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/Vein_sceleton_hydrangea_ies.jpg/685px-Vein_sceleton_hydrangea_ies.jpg'); // Load the image

  
}



function draw() {



  
 
  // Jiggling randomly on the horizontal axis
  x = x + random(-50, 50);
  // Moving up at a constant speed
  y = y+random(-2, 1);
  z=random(-1,1);
  
  
   strokeWeight(z);
    
  // Draw a circle
    
  
 

  stroke(45,120,255,2);
  

    fill(255,255,130,25);
 triangle(x+30000, y+500, x-30000, y+500, width/1.1, height/1.1);
      fill(random(0,25),random(0,25),random(0,255),3);
 triangle(x+300, y+500, x-300, y+500, width/1.3, height/1.3);
  fill(random(0,255),random(0,25),random(0,255),3);
 triangle(x+900, y+900, x-300, y+500, width/1.1, height/2);
   fill(random(0,25),random(0,25),random(0,255),3);
 triangle(x+900, y+900, x-900, y+500, width/13, height/1.3);
  fill(random(0,25),random(0,255),random(0,255),3);
 triangle(x+900, y+900, x-300, y+500, width/2, height/3);
  fill(random(0,255),random(0,255),random(0,25),3);
  stroke(45,120,255,15);
  triangle(x+1200, y+1200, x-1200, y+800, width/1.5, height/2);
  
  
    fill(random(0,255),random(0,255),random(0,255),7);
// triangle(x+370, y+2, x-700, y+200, width/1.6, height/1.3);
      fill(random(0,255),random(0,255),random(0,255),7);
 triangle(x+1000, y+1000, x-1000, y+1000, width/4,height/1.7);
  fill(random(0,255),random(0,255),random(0,255),7);
 triangle(x+900, y+900, x-300, y+500, width/1.1, height/2);
   fill(random(0,255),random(0,255),random(0,255),7);
 triangle(x+700, y+600, x-500, y+400, width/13, height/3.5);
  fill(random(0,255),random(0,255),random(0,255),7);
 triangle(x+1900, y+1200, x-900, y+1500, width/2, height/2.5);
  fill(random(0,255),random(0,255),random(0,255),13);
  stroke(45,120,255,15);
  triangle(x+1200, y+1200, x+1200, y+800, width/1.5, height/2);
  
  
  fill(random(215,255),random(210,255),random(250,255),random(0,12));
  stroke(0,0,255,2);
  ellipse(x, y, 60, 60);
  
   fill(150,150,25,5);
  ellipse(x, y, random(0,500), random(55,500));
   
       fill(255,255,255,5);
  ellipse(x-5, y-200, 200, 200);
  
    fill(255,255,255,random(0,100));
  ellipse(x-10, y-200, 10, 10);
   fill(255,255,255,random(0,7));
  ellipse(x-10, y-200, random(0,1000), random(0,1000));
  
   fill(255,255,255,25);
  ellipse(x-20, y-200, 70, 70);
     fill(255,255,255,25);
  ellipse(x-10, y-200, 40, 40);
  
    stroke(45,120,255,15);
  fill(185,150,160,50);
  triangle(x+1200, y+1200, x-100, y+800, width/1.333, height/1.1);
  
  
   strokeWeight(0);
   /*fill(random(200,255),255,200,random(1));
  ellipse(50,50,200);
     fill(random(240,255),random(200,255),random(150,255),random(50));
  ellipse(50,50,20);*/
  
background(random(random(1,255),255),random(0),random(random(1,255),255),random(0,1.5));
 
 
  // Reset to the bottom

  
   if (y < 0) {
   y = height;
   x=width/random(1.8,2.2);
   background(random(0,255),random(0,255),random(0,255),1);
   blendMode(DIFFERENCE);
  // image(img,0,-200,width,height*2);
   blendMode(LIGHTEST)
  
  }
   if (x > 700)  {
   y = height;
  x=width/random(1.8,2.2);
      background(random(0,255),random(0,255),random(0,255),random(0,1));
        blendMode(LIGHTEST);
   
   image(img2,x+(random(-1000,1000)),y+(random(-1000,1000)),random(900,1000),random(900,1000));
  
        blendMode(BURN);

  }
  if (x < -10)  {
   y = height;
x=width/random(1.8,2.2);
     background(random(0,255),random(0,255),random(0,255));
     blendMode(BLEND);
  }

}




External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.8.0/p5.min.js