2009-07-12 11 views
12

Estoy buscando información sobre cómo dibujar fractales de llamas buscando en Google No pude encontrar mucho, cualquiera de las páginas explica cómo usar herramientas de terceros o demasiado complicado para que lo capte. ¿Alguien sabe cómo/por qué trabajan? o apuntarme en la dirección de implementaciones no demasiado complicadas?Dibujando Flame Fractales

Respuesta

9

He escrito una presentación proyector que cubre los conceptos básicos en fractales de la llama:

https://www.math.upenn.edu/~peal/files/Fractals[2009]Beamer[Eng]-PAXINUM.pdf

Todas las imágenes se hacen de mi aplicación Java del algoritmo de la llama.

El código fuente se puede encontrar aquí:

http://sourceforge.net/projects/flamethyst/

creo que el pdf http://flam3.com/flame_draves.pdf junto con la implementación en Java anterior debe recibir un largo camino.

+0

Cualquier espejos para los enlaces de arriba? – DanielGibbs

+1

Sí, ahora está en sourceforge: http: // sourceforge.net/projects/flamethyst/ –

+0

El otro, necesito actualizar, el archivo debe haber desaparecido. –

1

Creo que los fractales serían muy costosos en términos computacionales en tiempo real.

Si yo Google "simulating fire in computer graphics" obtengo una serie de cosas interesantes que sugieren que no es un problema trivial (sorpresa). SIGGRAPH es una conferencia cuyos procedimientos debe verificar. Pero ten cuidado, esto es matemáticamente desafiante.

8

Se podía leer el original paper por Scott Draves, que detalla con precisión cómo y por qué funcionan, así como una guía para una implementación en pseudocódigo.

Mientras tengas algunos conocimientos básicos de matemáticas, debería ser relativamente fácil de entender (¡aunque es bastante largo!). Para ser honesto, probablemente puedas ignorarlo y leer sobre el código, ya que gran parte del texto es información de fondo.

+0

El papel de Scott es genial. Fascinante y bastante accesible para arrancar. – Cheezmeister

+0

Tenga en cuenta que el algoritmo Draves no es el único algoritmo, pero es probablemente el más popular. –

3

Las llamas fractales son básicamente una variante de iterated function system (IFS). Usted tiene una serie de funciones a través de las cuales pasa un solo punto una y otra vez. Cada función es una combinación de una transformación afín y una o más variaciones.

Cada iteración, solo se elige una función (al azar), y el punto resultante se acumula en un búfer y se utiliza como punto de partida de la siguiente iteración.

El búfer se guarda como una imagen, después de haber sido procesado y filtrado, como se describe en el flame paper.

La mejor referencia sigue siendo la implementación original, flam3.