FractalPark
MagnetMédio

Magnet Type 1

Um quociente de Möbius elevado ao quadrado com um polo em z = c, reunindo o plano em bacias agrupadas e cadeias semelhantes a contas.

Abrir no Explorar
Esferas cobre-laranja de vários tamanhos agrupadas sobre um campo azul profundo salpicado de pequenas rosetas estreladas azuis e brancas
Uma visão de Julia do Magnet Type 1: bacias arredondadas e suaves se reúnem em aglomerados, enquanto rosetas estreladas se amontoam em suas bordas fractais.

Visão geral

O Magnet Type 1 parte de ((z + c) / (z − c))². A razão entre parênteses é uma transformação de Möbius, a função racional não trivial mais simples; elevá-la ao quadrado produz um mapa racional de grau dois. Ao contrário de z² + c, este mapa não envia pontos distantes cada vez mais para longe. Eles voltam em direção a 1.

A dinâmica se concentra em duas localizações opostas. O quociente é zero em z = −c e tem um polo em z = c. Uma órbita que roça o polo voa para longe e depois retorna perto de 1 no passo seguinte. Bacias estáveis se espalham pelo plano; entre elas há uma borda fractal feita de camada após camada de pré-imagens do polo.

O FractalPark oferece um plano de parâmetros, onde c se move, e visões de Julia, onde c permanece fixo. A imagem-guia é um close-up de Julia. Suas bacias arredondadas se agrupam em montes como limalha de ferro ao redor de um ímã — daí o nome da família.

A Matemática

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.

História

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 Visuais

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 e Exemplos

Comece pelo Documento canônico

Abra o mesmo estado de fórmula aprovado usado por este guia e depois altere a visualização, a coloração, as transformações ou a animação no Explorar interativo.

Perguntas Frequentes

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.

Referências

Leitura guiada do código-fonte

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

    Em magnet1, este nó executa if ismand: z = 0; caso contrário z = pixel.

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

    Em magnet1, este nó executa ratio = numerator / denominator.

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

    Em magnet1, este nó executa z = ratio * ratio.

  4. frm-v1:3aec931a4991e14e53348c6d28e9fcbaf8127cad6298dafc2a8ee9e2ac8d8143:bailout

    Em magnet1, este nó executa |z| <= 4.

Recursos de sintaxe

state-flow

O fluxo de estado específico é: a escolha de ismand inicializa z; depois, numerator e denominator formam ratio antes de elevá-lo ao quadrado.

stopping-test

O teste de parada verifica apenas |z| <= 4; ele não atribui um valor ao estado.

Experimento de parâmetros

Etapas

  1. Com os outros controles do perfil fixos, execute magnet1 com 48 iterações.
  2. Depois use as 96 iterações do perfil fixo e registre se há diferença.

O que observar

Registre se numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio muda o resultado visível ou o teste de parada |z| <= 4 em relação à linha de base; a definição não garante diferença.

Exercício

Rastreie as anotações de magnet1 e explique como numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio é executado nas operações indicadas.

Verificação de conclusão

Sua resposta explica as 4 anotações, identifica numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio e trata |z| <= 4 como teste de parada, não como atribuição.

Dica

O fluxo de estado executa if ismand: z = 0; caso contrário z = pixel → numerator = z + c → denominator = z - c → ratio = numerator / denominator → z = ratio * ratio em sequência, fornecendo o resultado à etapa seguinte.

Fontes e direitos

Fonte: definição de execução fixada e decisão de publicação.

As informações de direitos seguem a decisão fixada na unidade em inglês.

Registro da fórmula

magnet1

Esta implementação canônica do FractalPark está publicada e pode ser executada.

Prévia determinística de magnet1

Código-fonte canônico

Linguagem
frm-like/1
Biblioteca padrão
1
Modo do perfil
parameter-plane
Centro do perfil
-0.5, 0
Zoom do perfil
0.4
Iterações do perfil
96
Evidência do perfil
mechanical

Parâmetros

Nenhum parâmetro declarado

Código-fonte canônico

Esta revisão canônica verificada é somente leitura. Remix cria uma bifurcação editável separada.

Carregando código-fonte canônico…

Fonte e implementação

ID da fórmula
12fc34ff-196d-5924-830e-6edb72dfc172
Nome canônico
magnet1
Nome original
magnet1
Fonte histórica
FractalPark
Implementação atual
Propriedade do projeto

Esta é uma implementação própria do projeto FractalPark. O arquivo vinculado é a Definition canônica fixada.

Problema de direitos ou atribuição?

Envie o ID da fórmula e as evidências. O mantenedor pode suspender ou retirar a implementação durante a análise. contact@fractalpark.com