Estoy buscando tener un algoritmo que pueda dibujar aleatoriamente un patrón "ondulado ondulado" según la imagen.
Sería bueno si se dibujara progresivamente como lo haría con un bolígrafo y si se basara en la velocidad, la aceleración y las fuerzas, como podría ser una animación de doble péndulo.
Esto sería para javascript en la biblioteca p5.
¿Hay alguna forma de producir esto que a) parezca dibujado a mano yb) llene una página, algo así como una curva de Hilbert?
Muy interesado en escuchar ideas de cómo se podría producir esto, independientemente de si existe algún tipo de algoritmo formal, aunque un algoritmo formal sería lo mejor.
Salud
Puedo pensar en dos soluciones, pero podría haber más ya que todavía no soy muy bueno codificando en general.
En primer lugar, puede utilizar el ruido perlin. con el codigo
var noiseSeeds = []; //This changes the noise value over time var noiseTime = 0; var x = 0; var y = 0; function setup() { createCanvas(400, 400); //This will help for making two separate noise values later noiseSeeds = [random(100), random(100)]; } function draw() { //Finding the x value noiseSeed(noiseSeeds[0]); x = noise(noiseTime)*400; //Finding the y value noiseSeed(noiseSeeds[1]); y = noise(noiseTime)*400; //Increasing the noise Time so the next value is slightly different noiseTime += 0.01; //Draw the point stroke(0); strokeWeight(10); point(x, y); } Puede crear un garabato en la pantalla. Tendría que usar createGraphics() de alguna manera para hacer esto más eficiente. Este método no es el mejor porque los valores generalmente están más cerca del centro.
La segunda solución es hacer un punto que tenga dos estados: lejos de un borde y cerca de un borde. Si bien está lejos, el punto seguirá yendo relativamente en la misma dirección con pequeños cambios de velocidad. Sin embargo, cuanto más se acerca el punto a los bordes, mayor (exponencialmente) cambia la velocidad, de modo que el punto se curva alejándose del borde. No sé exactamente cómo podría implementar esto, pero podría funcionar.