domingo, 28 de diciembre de 2008

JavaScript

Para practicar la puesta en práctica de las recomendaciones de Douglas Crockford respecto a como programar en JavaScript, me decidí por hacer una demostración en SVG del famoso "Arnold's Cat Map". Este mapeo consiste simplemente en aplicar repetidas veces a las coordenadas de un conjunto de puntos inicial la transformación

(x, y) → (x + y, x + 2y) mod 1 .

El "mod 1" es lo que indica que trabajamos sobre el toroide ℝ2/ℤ2.



Si bien el mapa aplicado a valores reales es caótico y mezcla fuertemente el conjunto de puntos, se observa un fenómeno de recurrencia en las variantes discretas del problema (tal como la implementada). Para este caso particular en el que la imagen es de 32 X 32 pixels, la recurrencia se observa en el paso 24.

Nota de implementación: la imagen fue tomada de Wikipedia y editada y transformada a formato "JSON" utilizando PIL.

No hay comentarios: