8 votos

Continua para colorear de un fractal de Mandelbrot

Recientemente he empezado a hacer una pequeña fractal de la aplicación en Javascript usando el famoso Mandelbrot bombilla $(z = z^2 + c)$. He estado tratando de encontrar el mejor método de coloración de los puntos en el plano complejo, y me he encontrado con algunas ideas muy interesantes:

http://linas.org/art-gallery/escape/escape.html

http://en.wikibooks.org/wiki/Fractals/Iterations_in_the_complex_plane/Mandelbrot_set#Real_Escape_Time

Así que me he centrado en este "normalizado número de iteraciones del algoritmo" y me he encontrado con un pequeño obstáculo mental de la clasificación lo que se necesita para ser calculado. Básicamente, estoy confundido acerca de la primera ecuación que se muestra en el segundo enlace. Suponiendo que tenemos un complejo número de $Z$ cual es el resultado final de la $n$ iteraciones. No puedo entender lo que "Zx2" o "zy2" es y cómo se podría añadir juntos o tomar la raíz cuadrada de la suma de los mismos. Es que sólo la abreviatura básicos de los operadores complejos, o hay algo más? Básicamente, mi problema es que yo no soy especialmente bueno en la lectura de la notación matemática en esta área.

De todos modos...cualquier dirección de orientación puede ofrecer sería extremadamente útil. Gracias de antemano!

7voto

Andrew Puntos 140

Basado en el código de C que allí se indican, Zx es sólo la parte real $\Re z$ e Zy es sólo la parte imaginaria $\Im z$.

Recuerde que la compleja fórmula de iteración para el conjunto de Mandelbrot

$z=z^2+c$

cuando se expande a variables reales parece

$x=x^2-y^2+u$

$y=2xy+v$

donde$z=x+iy$$c=u+iv$.

Las variables con un 2 anexa son los cuadrados, como se puede ver en cómo se definen, así, por ejemplo, $|z|=\sqrt{x^2+y^2}$ sqrt(Zx2+Zy2) que se utiliza para determinar el monto de la iteración diverge (escapa al infinito), que es utilizado por el colorante funciones.

6voto

pix0r Puntos 17854

edit: "Zx2" y "Zy2" se definen en el código C en el segundo bloque de código en este punto de su wikilibros enlace. Ellos son los cuadrados de las partes real e imaginaria, respectivamente, de $z$.


No estoy seguro de si es exactamente la misma, pero lo que yo he usado es: $$n-\log\left(\frac{\log(|z|)}{\log(r)}\right)$$ donde $z$ es el resultado de $n$ iteraciones y acaba de escapar como señaló $|z|>r$ (donde $r$ es el escape de radio). Esto genera los números reales en el $[0,n)$, por lo que podría dividir a por $n$, para finalizar con un número en $[0,1)$.

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