WEBVTT 99:59:59.999 --> 99:59:59.999 Hola y bienvenidos a otro 99:59:59.999 --> 99:59:59.999 desafio de codificacion 99:59:59.999 --> 99:59:59.999 en este desafio de codificacion 99:59:59.999 --> 99:59:59.999 voy a programar 99:59:59.999 --> 99:59:59.999 una visualizacion 99:59:59.999 --> 99:59:59.999 que se justo asi 99:59:59.999 --> 99:59:59.999 eso fue para el Thumbnail 99:59:59.999 --> 99:59:59.999 y lo voy a hacer en 99:59:59.999 --> 99:59:59.999 p5.js usando 99:59:59.999 --> 99:59:59.999 javascript en el navegador 99:59:59.999 --> 99:59:59.999 lo que se esta reproduciendo 99:59:59.999 --> 99:59:59.999 aqui es un ejemplo que hice 99:59:59.999 --> 99:59:59.999 anteriormente en Processing 99:59:59.999 --> 99:59:59.999 el cual les daria un mayor rendimiento 99:59:59.999 --> 99:59:59.999 al final de este video tambien 99:59:59.999 --> 99:59:59.999 vamos a mirar eso brevemente 99:59:59.999 --> 99:59:59.999 entonces, no voy a empezar de cero 99:59:59.999 --> 99:59:59.999 este video sera desarrolado en la 99:59:59.999 --> 99:59:59.999 idea de el Sonido de Perlin en 2D 99:59:59.999 --> 99:59:59.999 si el Sonido de Perlin en 2D no les suena 99:59:59.999 --> 99:59:59.999 familiar, para aqui, ve a la descripcion del 99:59:59.999 --> 99:59:59.999 video y ve y busca my serie de 99:59:59.999 --> 99:59:59.999 Sonido de Perlin y luego vuelve 99:59:59.999 --> 99:59:59.999 ok. Hola! ya regresaste 99:59:59.999 --> 99:59:59.999 excelente, ok vamos a empezar 99:59:59.999 --> 99:59:59.999 voy a empezar desde esta pieza de codigo 99:59:59.999 --> 99:59:59.999 en particular que genera este 99:59:59.999 --> 99:59:59.999 algoritmo en particular 99:59:59.999 --> 99:59:59.999 entonces este ya es un ejemplo del 99:59:59.999 --> 99:59:59.999 Sonido de Perlin en 2D y cada 99:59:59.999 --> 99:59:59.999 pixel obtiene un valor a escala 99:59:59.999 --> 99:59:59.999 de acuerdo a el Sonido de Perlin 99:59:59.999 --> 99:59:59.999 pero voy a hacer algo diferente 99:59:59.999 --> 99:59:59.999 lo que voy a hacer es en un tipo 99:59:59.999 --> 99:59:59.999 de cuadricula de pixeles 99:59:59.999 --> 99:59:59.999 ok este es mi cuadricula de pixeles 99:59:59.999 --> 99:59:59.999 de muy baja resolucion 99:59:59.999 --> 99:59:59.999 en vez de tener a valor en la escala 99:59:59.999 --> 99:59:59.999 de grises para cada pixel 99:59:59.999 --> 99:59:59.999 por decirlo asi lo que quiero tener 99:59:59.999 --> 99:59:59.999 es un vector, quiero tener una flecha 99:59:59.999 --> 99:59:59.999 apuntando en una direccion y quiero 99:59:59.999 --> 99:59:59.999 que esa direccion, sea una direccion 99:59:59.999 --> 99:59:59.999 fijada de acuerdo a el Sonido de Perlin 99:59:59.999 --> 99:59:59.999 porque ultimamente lo que voy a hacer es que voy a derramar un monton 99:59:59.999 --> 99:59:59.999 de particulas dentro de esta area conocido como un campo de flujo cuando 99:59:59.999 --> 99:59:59.999 derramo la particulas adentro y van a seguir las flechas 99:59:59.999 --> 99:59:59.999 ok entonces lo primero que hay que hacer es empezar a revizar el codigo 99:59:59.999 --> 99:59:59.999 para hacer vectores en vez de pixeles entonces veamos como eso puede funcionar 99:59:59.999 --> 99:59:59.999 entonces voy a trabajar con un lienzo de baja resolucion, solo de 200x200 99:59:59.999 --> 99:59:59.999 solo para empezar las cosas y una cosa que tambien necesito es pensar en 99:59:59.999 --> 99:59:59.999 una variable principal aqui, es que 99:59:59.999 --> 99:59:59.999 necesito pensar en, cual es la razon de celula a ancho, entonces no quiero tener 99:59:59.999 --> 99:59:59.999 una flecha para cada pixel, sera poco razonable tener 200 vectores en vez 99:59:59.999 --> 99:59:59.999 de tener un vector cada 10 pixeles o cada 20 pixeles, entonces llamemos una variable 99:59:59.999 --> 99:59:59.999 como scale y la voy a llamar scl corto de Scale y voy a decir que es 20 99:59:59.999 --> 99:59:59.999 y luego lo que tambien necesito tener son columnas y filas, entonces voy a tener las 99:59:59.999 --> 99:59:59.999 columnas que sean el ancho dividido por por la escala y lo voy a llevar a piso eso