Estoy tratando de generar una cuadrícula de puntos en el lienzo descrito por vectores para hacer un campo de flujo. Genero los vectores en un bucle anidado, luego los empujo a una lista y finalmente intento dibujarlos. Sin embargo, cuando intento dibujarlos, no se reconocen los atributos .x e .y. Creo que esto se debe a que la lista de vectores está vacía/solo tiene una entrada y no puedo entender por qué. Disculpas si este es un problema simple: esta es la primera vez que uso javascript y p5.js. Mi código se muestra a continuación, debería generar una cuadrícula uniforme de puntos.
let width = 600; let height = 600; let points = []; function setup() { createCanvas(width, height); background(30); let density = 50; let spacing = width / density; for (var x = 0; x < width; x += spacing); { for (var y = 0; y < height; y += spacing); { var p = createVector(x, y) points.push(p) } } } function draw() { noStroke(); fill(255); for (var i = 0; i < points.length; i++); { circle(points[i].x, points[i].y, 1); } }EDITAR: mi código definitivamente genera un vector, pero solo uno por alguna razón. Así que creo que el problema es que los bucles for no se ejecutan correctamente.
Su sintaxis de bucle for es incorrecta. No debe haber un punto y coma después del paréntesis de cierre y la llave de apertura:
// ! for (var i = 0; i < points.length; i++); { circle(points[i].x, points[i].y, 1); }Deberá corregir cada uno de sus bucles for.