Fractales en programacion

Definición:

Si bien el concepto de "fractal" no es nuevo ya que aparece representado en la naturaleza y las primeras nociones datan de principios del siglo XX, la definición formal fue propuesta por el matemático Benoît Mandelbrot en 1975 y deriva del latín fractus, que significa quebrado o fracturado. La definición que propuso Mandelbrot fue que "Un fractal es un objeto geométrico cuya estructura básica, fragmentada o aparentemente irregular, se repite a diferentes escalas". Una figura que puede ser espacial o plana, y que está formada por componentes infinitos. Su principal característica es que su apariencia y la manera en que se distribuye estadísticamente no varía aun cuando se modifique la escala empleada en la observación. Los fractales son, por lo tanto, elementos calificados como semi-geométricos (por su irregularidad no pertenecen a la geometría tradicional) que disponen de una estructura esencial que se reitera a distintas escalas. La otra característica de los fractales es la autosimilitud, lo que significa que las partes tienen la misma estructura que el conjunto total. Y esta característica se presenta en 3 clases diferentes:
  1. Autosimilitud Exacta: el fractal resulta idéntico a cualquier escala.
  2. Cuasiautosimilitud: con el cambio de escala, las copias del conjunto son muy semejantes, pero no idénticas.
  3. Autosimilitud Estadística: el fractal debe tener dimensiones estadísticas o de número que se conserven con la variación de la escala.

La teoría fractal supone una revolución en la ciencia ya que está ayudando a explicar y estudiar diversos aspectos de la naturaleza, incluido el cuerpo humano donde hay varios ejemplos de estructuras fractales, como ser la red vascular y la red neuronal. La aplicación de esta teoría se puede encontrar hoy en día en disciplinas tan diversas como en economía, música, arte, informática, robótica, comunicaciones, química, medicina ya comentada, y en infografía - paisajes fractales - que es una de las primeras aplicaciones de los fractales, y por tanto una de las más desarrolladas, y que vamos a ver en este blog.

Paisajes Fractales

Un paisaje fractal es una representación de un paisaje, real o imaginado, producido mediante fractales. Generar artificialmente imágenes de paisajes naturales si bien parece complicado, en realidad es bastante sencillo. Aunque existen varios métodos, uno de los más fáciles consiste en reticular el cuadrado donde vamos a levantar el paisaje con N x N casillas de la siguiente manera: comenzamos con nuestro cuadrado original y lo subdividimos en cuatro cuadrados.




Esta operación nos produce 5 nuevas intersecciones (en la cruz que se genera). A cada una de estas nuevas 5 intersecciones le asignamos una perturbación aleatoria sobre su altura cero inicial. Iteramos el proceso hasta conseguir el total de N x N casillas que nos habíamos propuesto. A cada iteración reducimos el valor absoluto de la perturbación sobre los nuevos puntos generados. Esta factor nos controlará la rugosidad del terreno. Un factor grande produce superficies suaves y, contrariamente, un factor de reducción pequeño, producirá terrenos muy rugosos. 


Sobre los nuevos 4x4-2x2=12 puntos aplicamos la perturbación de altura, escalada con el factor de rugosidad.


El valor absoluto de la perturbación inicial  determinará la altura media del terreno final. Por ejemplo: podemos comenzar con una perturbación inicial de +/- 100 y escalarla a cada paso en un factor 2. Así los 5 primeros puntos creados tendrán alturas comprendidas entre -100 y +100. A la siguiente iteración, los nuevos puntos se moverán alrededor de +/- 50 sobre sus posiciones, etc... 


Y de esta forma uno puede seguir iterando hasta conseguir el nivel de detalle deseado. Hacer esto a mano es muy difícil, por eso necesitamos utilizar programa de computación que nos ayudan a generar estas figuras definiendo los parámetros y valores que necesitamos.

Ejemplos de Paisajes Fractales

Image result for paisajes fractales
Paisaje realizado con fractales.

Image result for paisajes fractales
Ejemplo de un programa de computación para generar paisajes fractales.

Image result for paisajes fractales
Imagen realizada con fractales.



Comentarios

Publicar un comentario

Entradas populares