Esencialmente, me gustaría que todas estas líneas dispares estuvieran conectadas en un solo camino. Estoy usando vector.add() porque me gustaría un resultado acumulativo. ¿Quizás ese es el problema? ¿O tal vez es cómo estoy accediendo al elemento anterior de la matriz?
Por favor, eche un vistazo a este fragmento:
let lifespan = 200; let genes = []; let previous; let prevpos; function setup(){ createCanvas(window.innerWidth, window.innerHeight); background(255); genes[0] = createVector(50,50); stroke(0); strokeWeight(1); beginShape(LINES) vertex(genes[0].x, genes[0].y); for (let i = 1; i < lifespan; i++) { previous = genes[i-1]; genes[i] = previous.add(createVector(random(-10,10),random(-10,10))); // vertex(previous.x, previous.y); vertex(genes[i].x, genes[i].y); } endShape() } function draw(){ } <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="style.css"> </head> <body> <div id='sketch'> </div> <script language="javascript" type="text/javascript" src="https://cdn.jsdelivr.net/npm/p5@1.4.0/lib/p5.min.js"></script> <script src="sketch.js"></script> <script> </script> </body> </html>Pensé que ya había intentado esto, pero solo necesitaba descomentar una línea.
beginShape(LINES) vertex(genes[0].x, genes[0].y); for (let i = 1; i < lifespan; i++) { previous = genes[i-1]; genes[i] = previous.add(createVector(random(-10,10),random(-10,10))); vertex(previous.x, previous.y); //<-- uncomment this vertex(genes[i].x, genes[i].y); } endShape()