Ok, en nuestra última diapo acerca de la historia de los MBA, estuvimos hablando de
sistemas de partículas y gráficos de computadoras
En los primeros tiempos de la computación gráfica, las visualizaciones estaban
esencialmente hechas usando superficies grandes con texturas, combinándolas de
forma de poder crear los gráficos, y hasta el día de hoy los gráficos se suelen
seguir haciendo de esa manera, donde se colocan las texturas sobre estos polígonos
y uno los coloca en diferentes lugares, pero hay otra forma de realizar gráficos
que consiste en no pensar en los gráficos como polígonos, sino como un punto y puede
que uno haga que ese punto tenga algún tipo de medida
pero esencialmente, manipulando el centro de ese punto, en vez manipular las cuatro
esquinas de un cuadrado o un triángulo o lo que sea
y de hecho las superficies no funcionan muy bien para cosas como humo, estrellas,
luces o aún pájaros; en vez de ello, necesitamos alguna clase de
representación de puntos, como ya dijimos y esta representación de los puntos para
los gráficos es conocida como sistemas de partículas
lo que es interesante es que se puede pensar en estas cosas como un punto y
resulta que muchos modelos físicos están escritos como puntos, son modelos de
puntos idealizados, entonces podemos aplicar estos modelos físicos a los
gráficos de computadoras en una forma muy sencilla e intuitiva y se pueden crear
imágenes muy interesantes con los gráficos de computadoras
Cómo se relaciona esto con los MBA? los sistemas de partículas también exhiben
fenómenos emergentes, por ejemplo, si tengo una representación de un conjunto de
partículas rojas, como fuego, a medida que se superponen, dependiendo de como hice
las transparencias, puede que aparezcan como denso o menos denso y así puedo tener
este efecto de llamas titilantes, que se parece mucho al fuego, ese es un fenómeno
emergente que sucede como resultado de todas estas partículas que están
interactuando, que se ven como una sola cosa que parece una llama
exhiben el mismo tipo de conducta emergente, en algunos aspectos equivalente
a los MBA, también exhiben interacción entre agentes, en el sentido de que cuando
estas partículas se presentan juntas, exhiben, se pegan en forma similar a la
forma en que los MBA o los objetos pueden interactuar
y de hecho, basado en todo esto, hay sistemas de partículas entre otras cosas
que inspiraron a Craig Reynolds a desarrollar el modelo "Boids", del que
hablamos hace mucho tiempo, en la unidad 1 y de las 3 reglas simples que crea los
patrones de bandada, y de hecho si vemos el modelo del sistema de partículas,
contiene reglas muy simples que describen como las partículas interactuan
lo que también es interesante es que el modelo "Boids", que en muchos sentidos
lideró o inspiró a otros a empezar a pensar en la "vida artificial", seguro
después de correrlo y de que lo presentara al modelo "Boids" en SIGGRAPH en el año 87
Chris organizó el primer taller sobre vida artificial
y la vida artificial tiene muchas relaciones con los MBA, debido a que tiene
esta meta de crear conductas que se asemejen a la vida dentro de una
computadora y esto usualmente significa que que la lógica de la vida se desarrolla
en ese contexto es muy interesante
y esto disparó cosas como el modelo "Boids", la teoría de autómatas celulares
disparó los algoritmos genéticos y muchas otras cosas
entonces, en muchos sentidos, los sistemas de partículas, nos ayudan a pensar en los
MBA de diferentes formas, a través del modelo Boids, a través de la vida
artificial y tuvo una gran influencia en algunos de los primeros MBA
ahora quiero mostrarles uno de los modelos de sistemas de partículas que
están disponibles en NetLogo, de hecho hay varios modelos de sistemas de
partículas en NetLogo, si quieren jugar con ellos un poquito, ahora no veo
exactamente donde están, pero los pueden buscar en la barra de herramientas y si
bajan, está dentro de "ciencias de la computación", es la herramienta oficial,
sistemas de partículas, están el "Llamas" básico, "Fuente" y "Cascada" (...)
está la idea de que podemos usar las partículas para explorar los espacios de
búsqueda
Muy intensos
voy a hablar principalmente acerca de los sistemas de partículas, el de las
"Cascadas", porque creo que es uno de los que muestra un comportamiento más
interesante
"setup" y "go", lo que empieza a hacer el sistema es tirar partículas, desde este
punto aquí, donde empiezan a caer y suponemos que se ve como la dispersión del
agua en una cascada
y lo que hace es describir las partículas en forma individual, no interactúan
directamente, ellas sólo interactúan en el sentido de que se superponen en algún
punto, tienen diferentes velocidades, masas diferentes, las de adelante van más
hacia afuera, etc. etc. y así caen y le podemos dar una velocidad inicial,
podemos cambiar la velocidad y afectar la cascada
si hago más lenta a la velocidad, caen más cerca, si incremento la velocidad, caen
más lejos
uno puede cambiar la velocidad inicial en sentido de las Y, y vemos que podemos
cerrar el grifo, ups lo cerré del todo, pero ahí vamos, va para arriba y va para
abajo
puedo cambiar cuan lejos caerán
puedo hacer cosas como cambiar la gravedad la gravedad está asignada como normal de
la Tierra, puedo bajarla, en ese caso, ups porque tenía la velocidad inicial arriba
flotan en el aire, mejor dejemos que vuelva a la caída libre, puedo cambiar
otras cosas, como el viento
para poder, dejen que vuelva a poner la gravedad, porque está demasiado lento
puedo hacer que el viento sople más o menos, que las gotas caigan más cerca
puedo cambiar el viento que sopla para abajo o que sople más para arriba un poco
podemos cambiar varias cosas diferentes
básicamente la mayoría de los sistemas de partículas controlan el número de
partículas que se ven en la pantalla en un punto del tiempo, así que una nueva
partícula es generada a medida que otra cae fuera del sitio, cuando se alcanza el
máximo nivel de capacidad; en este caso la capacidad máxima está en 300, pero lo voy
a bajar a 60, veremos que no es realmente que esté sembrado y que caigan todos (?)
veremos eventualmente que se frena y deja de producir y quedan estas gotas como
aleatorias, es interesante jugar un poco; pero vayamos al código
lo que les quiero mostrar acá acerca del código
si vemos el "go", simplemente crea las partículas, calcula las fuerzas y luego
aplica las fuerzas
y "compute-forces" esencialmente hace
cuál es el efecto de la gravedad cuando me muevo en un entorno con viscosidad
si vemos algo como "gravity" todo lo que hace es, vas a tener esta fuerza acumulada
toda la fuerza que puedas tener, podemos quitar la constante gravitatoria que
multiplica por la masa; podemos básicamente traducir, lo que hemos
aprendido de física elemental, al modelar estas partículas, es bien interesante ver
las interacciones, ok?
quiero señalar, mencionar brevemente cuales son las relaciones que tienen con
los MBA, bueno, en este caso es un MBA, pero no necesariamente tendría que ser así
una de las cosas interesantes a notar son las propiedades emergentes, esto parece
una cascada, pero si cambio el máximo de partículas para abajo
una
una, ok? esto no se ve como una cascada, se ve más bien como una pelota que rebota
es únicamente la interacción indirecta de las partículas las que hacen que parezca
una cascada
entonces, yo les recomiendo que lo miren todas las características, son muy
interesantes