FractalPark
MagnetMedia

Magnet Type 1

Un cociente de Möbius al cuadrado con un polo en z = c, que reúne el plano en cuencas agrupadas y cadenas tipo cuenta.

Abrir en Explorar
Esferas cobrizo-naranjas de muchos tamaños agrupadas sobre un campo azul profundo salpicado de pequeñas rosetas en forma de estrella azules y blancas
Una vista Julia de Magnet Type 1: cuencas redondeadas y suaves se agrupan en racimos, mientras rosetas tipo estrella llenan sus fronteras fractales.

Resumen

Magnet Type 1 parte de ((z + c) / (z − c))². El cociente entre paréntesis es una transformación de Möbius, la función racional no trivial más simple; al elevarlo al cuadrado se obtiene un mapa racional de grado dos. A diferencia de z² + c, este mapa no manda los puntos lejanos cada vez más lejos. Ellos regresan hacia 1.

La dinámica se centra en dos ubicaciones opuestas. El cociente es cero en z = −c y tiene un polo en z = c. Una órbita que roza el polo sale volando muy lejos y luego regresa cerca de 1 en su siguiente paso. Las cuencas estables se extienden por el plano; entre ellas hay una frontera fractal hecha de capa tras capa de preimágenes del polo.

FractalPark ofrece un plano de parámetros, donde c se mueve, y vistas Julia, donde c se mantiene fija. La imagen guía es un primer plano Julia. Sus cuencas redondeadas se agrupan en montones como limaduras de hierro alrededor de un imán —de ahí el nombre de la familia.

Las matemáticas

A Möbius quotient, squared

z(n+1) = ((z(n) + c) / (z(n) - c))^2

Each step forms (z + c) / (z − c), then squares it. The ratio is zero at z = −c and blows up at z = c. Squaring makes −c a double zero and c a double pole, while leaving the map with rational degree two.

Infinity behaves differently here. As |z| grows, (z + c) / (z − c) approaches 1, so the next value lands near 1 however large z becomes. Huge values arise only near z = c. FractalPark treats |z| above 16 as escaped, so a “fast escape” marks a close pass by the pole, not a one-way trip to infinity.

On the Riemann sphere, the pole maps to infinity and infinity maps to 1, so the orbit remains well-defined at the singularity. A numerical renderer cannot divide by zero: when the denominator is exactly zero, the shader substitutes 0, and the next step continues from f(0) = 1. That is a computational safeguard, not another mathematical definition.

Historia

In 1986, Heinz-Otto Peitgen and Peter H. Richter brought magnet fractals into the literature in *The Beauty of Fractals: Images of Complex Dynamical Systems*. Their chapter “Magnetism and Complex Boundaries” (pp. 129–138) presented rational maps derived from renormalization transformations in a model of magnetic materials. There, the boundary between magnetic and non-magnetic phases is fractal. Iterating the transformation draws that boundary, giving the images their clustered, field-like structure.

Fractint later included the maps as “magnet1” and “magnet2,” in both Mandelbrot-style and Julia-style views; the name was then adopted by other fractal software. POV-Ray’s documentation still calls its magnet1 and magnet2 patterns “derived from some magnetic renormalization transformations,” crediting the Fractint help files.

The classic Type 1 formula from that lineage is ((z² + c − 1) / (2z + c − 2))². FractalPark implements a simplified squared quotient, ((z + c) / (z − c))², under the same name; every render and every mathematical statement on this page refers to the formula as FractalPark actually computes it.

Características visuales

In this Julia-set close-up, large smooth copper-orange spheres gather on the right in clusters of very different sizes. The deep blue at left and below holds smaller spheres and blue-white rosettes, each star-shaped around a faint orange core.

The rounded blobs are basins, where orbits settle. Rosettes and dense grain trace the fractal border between them. This arrangement belongs to this parameter and framing—other c values rearrange it. The warm/cool palette is a colouring choice, not a property of the formula.

Remix y ejemplos

Empieza desde el Documento canónico

Abre el mismo estado de fórmula aprobado que usa esta guía y luego cambia la vista, la coloración, las transformaciones o la animación en el Explorar interactivo.

Preguntas frecuentes

Why is it called Magnet?

The name comes from a family made widely known by Fractint. Its maps trace back to renormalization calculations for a model of magnetic phase transitions, presented in Heinz-Otto Peitgen and Peter H. Richter’s 1986 book *The Beauty of Fractals*. The squared-quotient formulas form clustered, domain-like basins; their boundaries mark the transition between magnetic and non-magnetic phases.

FractalPark’s Type 1 keeps the name and the squared-quotient shape but uses the simpler ratio ((z + c) / (z − c))². The formula shown on this page is exactly the one the engine computes.

What happens near z = c?

At that point the denominator z − c vanishes. Thus z = c is a pole of the quotient, and a double pole after squaring. Orbits that skim past it leap to very large values, then fold back near 1 a step later.

This behaviour builds the boundary: a growing web of points whose orbits eventually hit the pole. For the rare pixel that lands exactly there, the shader uses a safe value rather than divide by zero, matching the orbit’s continuation on the Riemann sphere.

Referencias

Recorrido por el código fuente

  1. frm-v1:3aec931a4991e14e53348c6d28e9fcbaf8127cad6298dafc2a8ee9e2ac8d8143:init/0

    En magnet1, este nodo ejecuta if ismand: z = 0; de otro modo z = pixel.

  2. frm-v1:3aec931a4991e14e53348c6d28e9fcbaf8127cad6298dafc2a8ee9e2ac8d8143:loop/2

    En magnet1, este nodo ejecuta ratio = numerator / denominator.

  3. frm-v1:3aec931a4991e14e53348c6d28e9fcbaf8127cad6298dafc2a8ee9e2ac8d8143:loop/3

    En magnet1, este nodo ejecuta z = ratio * ratio.

  4. frm-v1:3aec931a4991e14e53348c6d28e9fcbaf8127cad6298dafc2a8ee9e2ac8d8143:bailout

    En magnet1, este nodo ejecuta |z| <= 4.

Características de sintaxis

state-flow

El flujo de estado concreto es: la elección de ismand inicializa z; después, numerator y denominator forman ratio antes de elevarlo al cuadrado.

stopping-test

La prueba de parada solo evalúa |z| <= 4; no asigna el estado.

Experimento de parámetros

Pasos

  1. Con los demás controles del perfil fijos, ejecuta magnet1 con 48 iteraciones.
  2. Después usa las 96 iteraciones del perfil fijado y anota si hay diferencia.

Qué observar

Anota si numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio cambia el resultado visible o la prueba de parada |z| <= 4 frente a la línea base; la definición no garantiza una diferencia.

Ejercicio

Sigue las anotaciones de magnet1 y explica cómo se ejecuta numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio en las operaciones señaladas.

Comprobación de finalización

Tu respuesta explica las 4 anotaciones, señala numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio y distingue |z| <= 4 como prueba de parada, no como asignación.

Pista

El flujo de estado ejecuta if ismand: z = 0; de otro modo z = pixel → numerator = z + c → denominator = z - c → ratio = numerator / denominator → z = ratio * ratio en secuencia y entrega el resultado al paso siguiente.

Fuentes y derechos

Fuente: definición de ejecución fijada y decisión de publicación.

La información de derechos sigue la decisión fijada en la unidad en inglés.

Registro de la fórmula

magnet1

Esta implementación canónica de FractalPark está publicada y se puede ejecutar.

Vista previa determinista de magnet1

Código fuente canónico

Lenguaje
frm-like/1
Biblioteca estándar
1
Modo del perfil
parameter-plane
Centro del perfil
-0.5, 0
Zoom del perfil
0.4
Iteraciones del perfil
96
Evidencia del perfil
mechanical

Parámetros

No hay parámetros declarados

Código fuente canónico

Esta revisión canónica verificada es de solo lectura. Remix crea una bifurcación editable independiente.

Cargando código canónico…

Fuente e implementación

ID de fórmula
12fc34ff-196d-5924-830e-6edb72dfc172
Nombre canónico
magnet1
Nombre original
magnet1
Fuente histórica
FractalPark
Implementación actual
Propiedad del proyecto

Esta es una implementación propia del proyecto FractalPark. El archivo enlazado es la Definition canónica fijada.

¿Problemas de derechos o atribución?

Envía el ID de la fórmula y las pruebas. El mantenedor puede retener o retirar la implementación mientras revisa la reclamación. contact@fractalpark.com