unas lineas flotaten se mueven libremente por el espacio de trabajo

ArrayList<PVector> points;
float x0, y0, x, y, angle;
final float step = 3; //Modificación de velocidad de la línea y sombra
final float minDist = step / 220;
final float maxDist = 50; //Modificación de contorno y sombra

void setup() {
  //size(1920, 1080);
  size(1280, 720); //Modificación de largo y ancho de ventana
   strokeWeight(20); //Modificación del ancho de la línea
  smooth();
  points = new ArrayList<PVector>();
  x0 = random(width);
  y0 = 80; // Pocision de imicio de la linea
  angle = random(TWO_PI);
}

void draw() {
  x = (width + x0 + step * cos(angle)) % width;
  y = (height + y0 + step * sin(angle)) % height;
  PVector pt = new PVector(x, y);

  for (PVector p : points) {
    if (pt.dist(p) < minDist) { 
      pt = points.size() > 1080 ? points.get(int(random(1080))) : new PVector(random(width), 0);
      break;
    }
  }
stroke(0, 100); //Modificación de la opacidad de la línea

  for (PVector p : points) {
    if (pt.dist(p) < maxDist) { 
      line(p.x, p.y, pt.x, pt.y);
    }
  }
  points.add(0, pt); // No se sabe que función cumple
  x0 = pt.x;
  y0 = pt.y;
  angle += random(-0.5, 0.5); //Modificación de la dirección aleatoria de la línea

 two(); 
}
void two(){
  stroke(100, 10);//Modificación de la opacidad de la sombra de la línea

x = (width + x0 + step * cos(angle)) % width;
  y = (height + y0 + step * sin(angle)) % height;
  PVector pt = new PVector(x+8, y+8);
  for (PVector p : points) {
    if (pt.dist(p) < minDist) { 
      pt = points.size() > 1080 ? points.get(int(random(1080))) : new PVector(random(width), 0);
      break;
    }
  }
for (PVector p : points) {
    if (pt.dist(p) < maxDist) { 
      line(p.x+20, p.y+20, pt.x+20, pt.y+20);
    }
  }  
}

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

You may also like