22 votos

Una manera de determinar el número ideal de un máximo de iteraciones para cualquier nivel de zoom en un fractal Mandelbrot

He creado un código JavaScript fractal de cajón que se puede ver aquí:

http://jsfiddle.net/xfF3f/12/

Como usted probablemente todos saben, un Conjunto de Mandelbrot es creado por la iteración sobre los píxeles como si fueran las coordenadas de lo real y lo imaginario planos. Cada píxel tiene un real y una parte imaginaria (como todos los números complejos) que se puede alimentar en un bucle iterativo de su propio:

$ z = z^2 + c $

Donde tanto z y c son números complejos, z comienza en 0y c es el valor del píxel. Si ejecuta esta a un montón de veces, el cuadrado del módulo de la z (|z|) permanecerá por debajo de un límite establecido (6 en mi fractal cajón) o se va a ir por encima del límite. Si se supera el límite, se rompe la iteración y considerar la posibilidad de que el píxel se fuera de la serie. Cuando esto sucede, el color de ese pixel de un color determinado, dependiendo de cómo de grande |z| ha recibido y cuántas iteraciones se llevó a determinar que se trata de un principio el conjunto. (Ver más sobre la fórmula utilizada en mi cajón de aquí: Continua para colorear de un fractal Mandelbrot)

Así que teniendo en cuenta todo esto, podemos decir que un mayor max iteración de valor le dirá con mayor precisión si o no un punto está en el conjunto. Asimismo, tomará más tiempo para ejecutar debido a que se trata de hacer más cálculos por píxel. También hay otros visual de los factores de...

Si comienzas a una completa zoom out y ejecutar la trama con maxIterations valor de 50, 100 y 300, este:

mandelbrot full zoom out with max iteration values of 50, 100, and 300

Así que usted puede ver que, si bien el detalle de la esquina de la mejora a medida que aumente la maxIterations valor de los píxeles fuera del conjunto son casi todos de color rojo. En este nivel de zoom, yo diría algo así como 50 iteraciones sería un equilibrio ideal de la variación en el color y el detalle de borde.

Ahora si te acercas a algún nivel arbitrario de mantenimiento de 50 maxIterations, usted comenzará a ver algo como esto:

arbitrarily zoomed set at 50 maxiterations

El detalle es horrible y los colores también son un poco homogéneo. Así que vamos a ver qué pasa si queremos mantener el mismo nivel de zoom y cambiar el maxIterations número de 80, 120, 250, 500, 1000, y 2000 (recuerde, las coordenadas y el zoom son exactamente el mismo en todas las imágenes, la única diferencia es el maxIterations valor):

zoomed in changing only the number of maxIterations

Como de costumbre, el aumento de la maxIterations valor demasiado las hojas de la mayoría de los puntos fuera de la serie roja. Aquí me gustaría decir algo entre el segundo (120 maxIterations) y la tercera (250 maxIterations) es más o menos ideal.

Todo esto es relativamente fácil de hacer una imagen a la vez con su ojo y de algunos retoques, pero esto sería muy difícil de hacer si me fuera a crear un zoom como este: http://vimeo.com/1908224. Me haría falta algún método de encontrar algo como un ideal maxIterations valor en función del nivel de zoom.

Así que después de todo esto, mi pregunta es: ¿hay algún método? Si no, donde puedo empezar a mirar con el fin de averiguar esto para mí? Estoy pensando acerca de este mal? Hay más solución obvia de que me estoy perdiendo?

Gracias de antemano!

3voto

Ben Puntos 129

Si lo entiendo correctamente, usted se está preguntando "¿qué es la fórmula que indica el número de iteraciones a realizar para conseguir el conjunto de Mandelbrot a tener un 'buen' resolución en algún nivel de aumento?"


  • "Me haría falta algún método de encontrar algo así como un ideal de max valor de Iteraciones en función del nivel de zoom" no está bien formulada la pregunta; por una parte, el concepto de "ideal max iteraciones" no está bien definido y podría significar diferentes cosas para diferentes personas.

  • No hay ninguna manera fácil de hacer el video como el que está conectado, y estoy seguro de que tomó un tiempo muy largo para hacer que uno, porque cada fotograma debía ser resuelto de una en una y, a continuación, poner de nuevo juntos. No tengo manera de saber con certeza, pero yo siempre he asumido que el video fue hecho por determinar el número de iteraciones para cada fotograma (nivel de zoom) para hacer un cuadro a la vez, por ensayo y error.

Dicho esto, creo que la rapidez para que un punto sobre la serie converge tiene poco/ningún efecto sobre las propiedades de convergencia de muchos otros puntos en el juego que se encuentran muy cerca en la distancia; y por lo tanto no creo que la fórmula que se está buscando.

El problema es que algunas regiones (y algunos sub regiones...) de un conjunto requieren más iteraciones para resolver de una forma agradable que otros.

Sin embargo, si se incluye alguna información adicional, tales como la especificación de la ruta que tomó como el zoom en el conjunto, entonces probablemente sería posible encontrar una fórmula que lleva a cabo lo que están tratando de hacer. Digo esto último en base sólo a partir de mi experiencia personal, jugando con ChaosPro, no por los grandes teóricos de la razón.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X