Autor Tema: Programa generador de fractales de difusión

0 Usuarios y 1 Visitante están viendo este tema.

30 Mayo, 2011, 02:44 pm
Leído 7283 veces

anilandro

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 8
  • Karma: +0/-0
  • Sexo: Masculino
    • La Web de Anilandro
Hola a todos

Antes que nada, y ya que éste es mi primer mensaje en el foro, me presento. Mi nick es Anilandro, tengo 57 años, soy técnico superior en informática y he trabajado profesionalmente 30 años en electrónica. Actualmente trabajo de programador de sistemas domóticos en un organismo público.

Paralelamente, siempre me ha apasionado la ciencia y la tecnología, y aunque tal vez sea un poco tarde, también han comenzado a interesarme las bases matemáticas que subyacen bajo estas disciplinas. Tengo una web en que voy publicando mis trabajos, algunos de ellos relacionados con el software y la criptografía que con el tiempo me gustaría comentar.

Por de pronto, diré que he acabado mi primer programa generador de fractales, en concreto del tipo de difusión, en que he aplicado una variante propia del sistema DLA (Agregación por Difusión Limitada).

El procedimiento DLA original consiste a en un punto-semilla visible contenido en una nube de otros puntos invisibles que se mueven por efecto browniano. En el instante en que uno de tales puntos móviles toca el punto semilla, queda adherido al mismo, pasando a convertirse también en semilla. La consecuencia suele ser un crecimiento arborescente, ya que los puntos brownianos tienen más tendencia a unirse a los extremos que a los recovecos de la imagen en formación.

En mi caso he utilizado un sistema generador diferente, basado en "rayos" virtuales de dirección aleatoria que salen de los lados de la pantalla, y en el momento que su frente pasa a la distancia de 1 pixel de un punto semilla, se incorpora a la misma, en este caso copiando además su color.
Otra de las características de mi programa es que tiene en cuenta la "densidad de puntos" para condicionar el crecimiento, a igual que las ramas y hojas de un árbol se ve afectado por todas sus vecinas del mismo tipo en su lucha por capturar el máximo de luz. 

Ventana del programa PDLA-V1, generador de fractales por difusión


El programa, que llamo PDLA, tiene 18 opciones de configuración, frente a la una o dos que tienen otros programas muy conocidos como el veterano Fractint. Está escrito en Visual Basic y contenido en un fichero ejecutable de 65 K que no precisa instalación.

Para quienes les interese experimentar con él, puede bajarlo de forma totalmente libre desde: http://dl.dropbox.com/u/5592203/Progs/PDLA-V1-%20by_%20Anilandro.rar

Y las instrucciones completas pueden verse en: http://sites.google.com/site/anilandro/05810-dentritas-01

Algunas de las imágenes generadas con el PDLA-V1

Con semilla de cuadrado de puntos aleatorios y crecimiento circular


Con semilla recta de 50 píxels y crecimiento circular


Con semilla de un único punto y crecimiento vertical


Con semilla de cuatro rectas paralelas en que se aprecian las zonas de sombra.


Espero vuestros comentarios

Un saludo
"La vida solo es energía que ha aprendido a defenderse", Anilandro

01 Junio, 2011, 08:38 am
Respuesta #1

anilandro

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 8
  • Karma: +0/-0
  • Sexo: Masculino
    • La Web de Anilandro
¿Es que en más de 200 lecturas nadie tiene un comentario...? ¿Ni para bien ni para mal...? ¿Alguien ha probado el programa...?

Saludos
"La vida solo es energía que ha aprendido a defenderse", Anilandro

08 Junio, 2011, 01:55 pm
Respuesta #2

anilandro

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 8
  • Karma: +0/-0
  • Sexo: Masculino
    • La Web de Anilandro
Por las peticiones de algunos compañeros que aun tienen ordenadores antiguos, he hecho una versión apaisada del programa generador de fractales, cuya ventana ocupa ahora 630x506 pixels, lo cual le permite funcionar con resoluciones de pantalla de 800x600.



Los controles son los mismos de la versión normal, y el archivo puede bajarse desde la misma página web o directamente desde:

http://dl.dropbox.com/u/5592203/Progs/PDLA-V1a-%20by_%20Anilandro.rar


Un saludo

Por cierto: 1.000 lecturas en este tema y ni un sólo comentario... todo un record... ¿es que nadie se anima a decirme "hola"...?
"La vida solo es energía que ha aprendido a defenderse", Anilandro

09 Junio, 2011, 04:52 pm
Respuesta #3

Phicar

  • $$\Large \color{#c88359}\pi\,\pi\,\pi\,\pi$$
  • Mensajes: 513
  • Karma: +1/-0
  • Sexo: Masculino
    • redinfocol.org
Hola, por que te animaste a hacerlo en VB? y no en un lenguaje un tris menos dependiente? y mas audaz :)?

BtW: Esta chevere :)
redinfocol.org

09 Junio, 2011, 08:07 pm
Respuesta #4

anilandro

  • $$\Large \color{#6a84c0}\pi$$
  • Mensajes: 8
  • Karma: +0/-0
  • Sexo: Masculino
    • La Web de Anilandro
Hola Phicar. Gracias por responder. A estas alturas ya me sentía como el hombre invisible intentando conseguir una cerveza en la barra de un bar atestada de gente.

Si por dependiente te refieres al sistema operativo, te diré que en Java apenas he hecho cuatro cosas y no me gusta demasiado debido a la Programación Orientada a Objetos. Comencé en los ochenta a programar con un Sinclair ZX81 y sigo siendo de la antigua escuela, entonces si ya me costó pasar del Basic con números de línea, a la programación estructurada, las exigencias y la rigidez del Java me supera.

Por otra parte, no soy demasiado exigente con los sistemas operativos, y los pinitos con el Linux los dejé hace años, así que utilizo el Visual Basic 6.0 que es sencillo y no te complica la vida como el C.

Si necesitara mucha más velocidad ya sería otra cosa.

Un saludo
"La vida solo es energía que ha aprendido a defenderse", Anilandro