Articulo de referencia

XaoS

XaoS es un programa interactivo para ampliar fractales . Permite al usuario acercar o alejar continuamente un fractal en tiempo real. XaoS tiene licencia GPL . El programa es mu...

XaoS es un programa interactivo para ampliar fractales . Permite al usuario acercar o alejar continuamente un fractal en tiempo real.

XaoS tiene licencia GPL . El programa es multiplataforma y está disponible para diversos sistemas operativos , como Linux , Windows , Mac OS X , BeOS y otros. Recientemente , se lanzó una versión web sin conexión de XaoS, publicada en xaos.app .

XaoS puede mostrar el conjunto de Mandelbrot (potencias 2, 3, 4, 5 y 6), el fractal Octo, tres tipos de fractales de Barnsley , el fractal de Newton (orden 3 y 4), el fractal Phoenix y el fractal Magnet (1 y 2). XaoS puede mostrar conjuntos de Julia a partir de partes fractales seleccionadas. Además, permite a los usuarios introducir fórmulas personalizadas.

Las versiones anteriores de XaoS pueden mostrar fractales como arte ASCII usando AAlib , lo que, junto con el hecho de estar basado en herramientas GNU de libre acceso, permite que se ejecute prácticamente en cualquier plataforma. Las versiones más recientes usan la biblioteca multiplataforma Qt .

Se incluye una ayuda interactiva y una introducción animada a los fractales. La introducción se divide en diez capítulos que presentan diferentes fórmulas en el software y sus características.

Algoritmo de Hubička

XaoS era originalmente solo un visor de Mandelbrot "mal escrito", [ 1 ] hasta que Jan Hubička agregó un zoom eficiente, utilizando una técnica a veces llamada algoritmo XaoS o algoritmo Hubička.

En aquel entonces, las películas con zoom fractal se producían recalculando completamente cada fotograma, a pesar de que naturalmente compartían gran parte de su área. Esto hacía imposible el zoom interactivo sin ordenadores muy potentes. [ 2 ] Además, a menos que se utilice aún más procesamiento para realizar el suavizado de bordes , recalcular cada fotograma produce un efecto de "parpadeo" en el que pequeñas áreas brillantes aparecen y desaparecen entre los píxeles. [ 3 ]

Sin embargo, permitir al usuario hacer zoom, en lugar de saltar como en Fractint , parecía la forma más natural de interactuar con los fractales. Para crear un zoom interactivo, Hubička necesitaba encontrar una manera de guardar los cálculos ya realizados. Guardar cada píxel calculado consumiría demasiada memoria, por lo que el algoritmo de Hubička solo guarda el fotograma anterior y, en lugar de recordar la ubicación de cada píxel, los mantiene alineados en filas y columnas y los almacena.

La parte más difícil del algoritmo XaoS consistía en elegir qué filas y columnas guardadas dibujar y dónde. Un error en esta elección generaba imágenes distorsionadas, pero debía hacerse rápidamente para que fuera útil. Tras probar varias heurísticas diferentes, finalmente el problema se trató como un problema de optimización.

Las filas y columnas restantes se colorean del mismo modo que la fila/columna más cercana y se recalculan a medida que la CPU dispone de tiempo para hacerlo. Esto implica un delicado equilibrio entre mantener el zoom y aumentar el nivel de detalle. Se da mayor prioridad al cálculo de las áreas a las que se aplica el zoom, ya que estas permanecerán en pantalla durante más tiempo y es probable que sean las que el usuario esté mirando. Al alejar la imagen, ocurre lo contrario y la prioridad recae en los bordes. [ 3 ]

El algoritmo Hubička también se puede aplicar para ampliar otras imágenes donde se calculan los píxeles, y se ha utilizado en otros programas como el programa de gráficos de funciones complejas rtzme ("Motor matemático de zoom en tiempo real") [ 4 ] , [ 5 ] y otros programas de zoom fractal.

Referencias

  1. Página de manual de XaoS
  2. CS y Danza (PDF) , archivado del original el 20 de diciembre de 2005
  3. ^ Hubička , Jan (1997), Algoritmos XaoS , archivado desde el original el 28 de marzo de 2014..
  4. ^ Kovács, Zoltán (diciembre de 2015). "¡Zzzooommm!" . doi : 10.13140/RG.2.1.3781.3843 .
  5. Visualizaciones en el plano complejo , archivadas del original el 17 de octubre de 2006.
  • Sitio web oficial
  • XaoS en GitHub