Explorador de MandelbrotBeta
Amplía sin fin el conjunto de Mandelbrot y explora sus conjuntos de Julia con un clic
Esta herramienta es una versión beta que aún se está estabilizando. Avísanos si un resultado no parece correcto.
Amplía con la rueda del ratón o pellizcando con dos dedos, y arrastra para moverte. Para cada punto c se itera z → z² + c y se colorea según lo rápido que |z| escapa (negro = nunca escapó, es decir, dentro del conjunto). El coloreado suave logarítmico elimina las bandas. Pulsa «Elegir c de Julia» y haz clic en el conjunto de Mandelbrot para ver el conjunto de Julia de ese c: los c de dentro dan formas conexas y los de fuera, polvo disperso. Por la precisión de 64 bits, el zoom se detiene en unos 28 billones de aumentos (2,8 × 10¹³).
Procesando…
0.0
No se ha bloqueado: el resultado aparecerá cuando termine el cálculo.
Acerca de Explorador de Mandelbrot
Cada píxel de la pantalla es un número complejo c. Partiendo de z₀ = 0, la herramienta itera z → z² + c y, en cuanto |z| supera 256, colorea el píxel según cuántas iteraciones han hecho falta. Si |z| no cruza ese límite dentro del máximo de iteraciones, el píxel se pinta de negro y se considera parte del conjunto de Mandelbrot. Los cálculos usan coma flotante de 64 bits (f64), y la vista inicial está centrada en −0,6 con el lado corto de la pantalla abarcando 2,8.
Pulsa «Elegir c de Julia con un clic» y haz clic sobre el conjunto de Mandelbrot para cambiar de modo. Ahora c queda fijo y cada píxel aporta un punto de partida z₀ distinto para la misma iteración. Las dos imágenes salen de la misma fórmula; solo cambia qué variable se mantiene quieta.
La definición y por qué 2 es el punto sin retorno
El conjunto de Mandelbrot es el conjunto de todos los c para los que la órbita de 0 bajo z² + c permanece acotada. Está demostrado que, en cuanto |z| supera 2, la órbita se va al infinito con seguridad, así que un radio 2 basta para decidir. La herramienta espera hasta 256 no por el veredicto sino por el color: la fórmula de suavizado que se explica abajo es más precisa cuanto mayor es |z| al escapar.
Seguir algunas órbitas a mano ayuda a entenderlo. Con c = −1 la órbita es 0, −1, 0, −1… para siempre: −1 está dentro. Con c = −2 es 0, −2, 2, 2, 2… y se queda ahí: también dentro, y por eso el conjunto llega exactamente hasta −2 en el eje real. Con c = 1 es 0, 1, 2, 5, 26, 677 y supera 256 en la quinta iteración.
El artículo de Benoit Mandelbrot de 1980 dio a conocer las imágenes del conjunto, y poco después Adrien Douady y John Hubbard le dieron su nombre y demostraron propiedades como su conexión.
Tiempo de escape y color suavizado
Colorear con el número de iteraciones n tal cual produce bandas visibles, porque n es entero. Esta herramienta usa μ = n + 1 − log₂(log₂|zₙ|) para añadir una parte fraccionaria. Cuando |z| ya es grande, se eleva aproximadamente al cuadrado en cada paso, así que cuánto ha rebasado el umbral indica en qué punto entre n y n + 1 «ocurrió» realmente el cruce. Eso borra los bordes de las bandas.
También hay un atajo de velocidad. Los puntos dentro de la cardioide principal (la gran forma de corazón) y del disco de periodo 2 a su izquierda se reconocen con una sola fórmula. De todos modos agotarían el límite de iteraciones y saldrían negros, así que saltárselos hace que la primera imagen aparezca mucho antes.
Cuando el límite de iteraciones se queda corto
El negro significa «no escapó dentro del límite», no «está demostrado que pertenece». Cerca del borde muchos puntos aguantan muchísimo antes de escapar, así que un límite bajo pinta de negro puntos exteriores y hace que los filamentos finos parezcan romos.
Un caso llamativo es la entrada del Valle de los Caballitos de Mar, cerca de c = −0,75. Para c = −0,75 + εi, el número de iteraciones hasta escapar multiplicado por ε se acerca a π: lo descubrió Dave Boll en 1991 y Aaron Klebanoff lo analizó en un artículo de 2001. Con las 500 iteraciones por defecto, el punto con ε = 0,001 (que en realidad escapa tras 3146 iteraciones) se pinta por error como interior. Con «Automático según zoom», el límite crece como 200 + 120 × (log₁₀ aumento)², hasta 20 000.
Por qué el zoom se detiene hacia 10¹³ aumentos
Un f64 tiene 53 bits de mantisa. Los números entre 1 y 2 están separados unos 2,2 × 10⁻¹⁶, y los que van de 0,5 a 1, la mitad. La herramienta no deja que el ancho de la vista baje de 10⁻¹³; en un lienzo de 800 píxeles, eso da 1,25 × 10⁻¹⁶ por píxel. Donde la parte real supera 1 en valor absoluto —por ejemplo, el lado izquierdo del Valle de los Caballitos, cerca de c ≈ −1,25— ese paso es más fino que la separación entre números representables, los píxeles vecinos se redondean al mismo valor y empiezan a verse bloques cuadrados.
Los programas que generan vídeos de zoom extremo suelen calcular una órbita de referencia con precisión arbitraria y el resto como pequeñas diferencias en f64 (métodos de perturbación). Esta herramienta prioriza la respuesta inmediata en el navegador y no lo hace, así que su límite es de unos 2,8 × 10¹³ aumentos.
Conjuntos de Julia: importa dónde eliges c
Si c está dentro del conjunto de Mandelbrot, su conjunto de Julia es una sola pieza conexa; si está fuera, se rompe en polvo disperso (un conjunto de Cantor). En ese sentido, el conjunto de Mandelbrot es un mapa de los c que dan conjuntos de Julia conexos. Cuanto más cerca del borde eliges c, más intrincado resulta el conjunto de Julia; el valor por defecto c = −0,8 + 0,156i está justo al lado.
Ejemplos
c = 1, calculado como lo hace la herramienta
- Entrada
c = 1 + 0i, radio de escape 256- Resultado
z: 0 → 1 → 2 → 5 → 26 → 677; escapa en n = 5; valor suavizado μ ≈ 2,77
μ = 5 + 1 − log₂(log₂ 677) = 6 − log₂(9,40) ≈ 6 − 3,23 = 2,77. Sale menor que el recuento bruto por cómo se define la corrección; lo que importa es el orden de los colores.
Encontrar π en la entrada del Valle de los Caballitos
- Entrada
c = −0,75 + εi con ε = 0,1 / 0,01 / 0,001- Resultado
Escape tras 36 / 318 / 3146 iteraciones → por ε: 3,6 / 3,18 / 3,146
Al reducir ε, el producto se acerca a π = 3,14159…. El tercer punto sale negro con el límite por defecto de 500; sube el máximo por encima de unas 5000 iteraciones para ver que está fuera.
El extremo del eje real
- Entrada
c = −2 y c = −2,01- Resultado
−2: 0, −2, 2, 2, 2… (dentro) / −2,01: escapa en la iteración 8
El conjunto llega exactamente hasta −2 en la recta real. Basta salirse 0,01 para que la órbita se dispare en pocas iteraciones.
Cómo se usa
- Amplía con la rueda o pellizcando, y arrastra para moverte.
- Si el borde se ve borroso, sube las iteraciones máximas o activa «Automático según zoom».
- Pulsa «Elegir c de Julia con un clic» y haz clic en un punto del conjunto.
- Cambia de paleta para resaltar otra estructura de iteraciones.
Términos clave
- Tiempo de escape
- Número de iteraciones hasta que la órbita supera por primera vez el radio de escape.
- Cardioide principal
- El cuerpo en forma de corazón del conjunto; para c dentro de ella, la órbita converge a un único punto.
- Conjunto de Julia
- Para un c fijo, la frontera del conjunto de puntos iniciales cuyas órbitas bajo z² + c permanecen acotadas.
- Doble precisión (f64)
- Formato de coma flotante de 64 bits de IEEE 754: mantisa de 53 bits, unas 15–16 cifras decimales.
Preguntas frecuentes
¿Cuál es el área del conjunto de Mandelbrot?
No se conoce un valor exacto; las estimaciones numéricas la sitúan en torno a 1,5. Esta herramienta no calcula el área.
He leído que se puede ampliar sin fin. ¿Por qué se detiene?
Matemáticamente el borde tiene detalle a todas las escalas, pero la herramienta usa coma flotante de 64 bits, y cuando la separación entre píxeles se acerca a 10⁻¹⁶ ya no se distinguen píxeles vecinos. Por eso el zoom se limita a unos 2,8 × 10¹³ aumentos.
¿Todo lo negro está dentro del conjunto?
Solo significa que el punto no escapó dentro del límite. Cerca del borde, al subir el límite, algunos puntos negros adquieren color.
¿Por qué se vuelve más lento al ampliar?
Las vistas profundas contienen más puntos cerca del borde y el límite automático de iteraciones sube. El dibujo avanza en bloques de 8 píxeles, luego de 2 y luego de 1, para que la vista siga respondiendo mientras gana nitidez.
Fuentes
- B. B. Mandelbrot, Fractal aspects of the iteration of z → λz(1−z) for complex λ and z, Ann. N.Y. Acad. Sci. 357, 249–259 (1980)
- A. Klebanoff, π in the Mandelbrot set, Fractals 9(4) (2001)
- D. Goldberg, What Every Computer Scientist Should Know About Floating-Point Arithmetic (1991)
Revisado el: