FractalPark
ExóticaMédio

Circle Inversion

Um mapa quadrático recíproco que troca o perto e o longe a cada passo: valores pequenos voam para fora, valores grandes retornam em direção à origem.

Abrir no Explorar
Fractal Circle Inversion com anéis concêntricos e espinhos radiais brilhantes ao redor de um polo central
O plano de parâmetros do Circle Inversion: anéis aninhados, espinhos axiais e o polo na origem.

Visão geral

O Circle Inversion troca o crescimento quadrático familiar por um passo quadrático recíproco: tome 1/z² e depois desloque-o por c. Parece uma pequena troca. O comportamento não é.

Na iteração polinomial comum, uma vez que uma órbita cresce além de certo tamanho, ela continua se afastando da origem. Aqui essa lógica vira do avesso: perto de zero torna-se enorme, e um valor enorme volta para perto de zero. Então c decide onde esse valor trocado vai parar.

A imagem é radial, com anéis aninhados e traços axiais nítidos. A origem é um polo de ordem 2 — um ponto onde o mapa é indefinido — e sua atração se estende por todo o plano de parâmetros.

A Matemática

Reciprocal quadratic iteration

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

At each step, the map takes the reciprocal of z²—geometric inversion through the unit circle with a doubled angle—then shifts the result by the complex parameter c. That inversion gives the formula its name; it is classical circle inversion applied to z² rather than to z.

Try c = 0 and start at z₀ = 2. Then z₁ = 1/4 = 0.25, z₂ = 1/(0.0625) = 16, z₃ = 1/256 ≈ 0.0039. The orbit ricochets between large and small values rather than settling at a fixed point. For c = 0.5, start at z₀ = 1: z₁ = 1/1 + 0.5 = 1.5, z₂ = 1/2.25 + 0.5 ≈ 0.944, z₃ = 1/0.892 + 0.5 ≈ 1.62. This orbit oscillates without diverging, suggesting c = 0.5 belongs to the bounded set. Escape needs a different test from the quadratic case: a huge value may collapse on the next step, so the bailout must allow for this alternation.

História

The map z → 1/z² + c sits near the broader rational family known as McMullen maps, z → zⁿ + λ/zⁿ. Curt McMullen introduced that family in the late 1980s, showing rational maps whose parameter spaces contain several kinds of hyperbolic components, including ones with Sierpiński-carpet Julia sets.

With n = 2, λ = 1, and a translation parameter c, this gives the Circle Inversion map. Its name comes from 1/z², which inverts the complex plane with respect to the unit circle and doubles the angle. Robert L. Devaney and others later studied the McMullen family, tracing how escape loci and Julia sets change with parameters. FractalPark renders exactly this map — the n = 2, λ = 1 case with c as the translation parameter.

Características Visuais

Concentric bands and radial spines run outward from the pole at the origin. The bands mark regions whose orbits stay bounded or escape at different rates, making nested rings like a target or the ripples from a dropped pebble.

Sharp axial structures form distinct spokes. They come from the inversion’s angular part: 1/z² doubles z’s angle, creating preferred directions where the dynamics line up. The reciprocal quadratic form gives this parameter plane a more rigid radial symmetry than most.

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 the origin special?

The origin is a pole of order 2: 1/z² is undefined at z = 0 because division by zero creates a singularity. An orbit landing exactly there cannot continue; one passing nearby gets a very large next value. That is why the rendered image grows rings and spines around the origin.

How does FractalPark handle values near zero?

The renderer clips the denominator at a small epsilon value to prevent division by zero. The pole still leaves its rings and spines visible, while the calculation stays numerically stable. Its effect remains part of the rendered structure.

Referências

Leitura guiada do código-fonte

  1. frm-v1:decba7b7f3d2b3e121f53906a98d62d32743da89d72ea79c2aa1ebd5f5aa2e37:init/0

    Em circleInversion, o nó de inicialização executa somente: se ismand, z = 0; caso contrário, z = pixel.

  2. frm-v1:decba7b7f3d2b3e121f53906a98d62d32743da89d72ea79c2aa1ebd5f5aa2e37:loop/0

    Em circleInversion, este nó do laço executa somente: z2 = z * z.

  3. frm-v1:decba7b7f3d2b3e121f53906a98d62d32743da89d72ea79c2aa1ebd5f5aa2e37:bailout

    Em circleInversion, o nó bailout testa somente: |z| <= 256.

Recursos de sintaxe

initialization-flow

Em circleInversion, a característica de inicialização focaliza a única operação se ismand, z = 0; caso contrário, z = pixel.

iteration-flow

Em circleInversion, a característica de iteração focaliza a única atribuição z2 = z * z.

bailout-test

Em circleInversion, a característica de término focaliza a comparação |z| <= 256.

Experimento de parâmetros

Etapas

  1. Renderize circleInversion com a base do plano de parâmetros fixada: centro (0, 0), zoom 0.25, rotação 0, e 96 iterações.
  2. Mantenha a base fixa exceto pelas iterações, renderize uma vez com 48 iterações e compare com a base de 96.

O que observar

Em circleInversion, registre se a comparação entre 48 e 96 iterações muda algo e anote o limite da fonte |z| <= 256.

Exercício

Em circleInversion, localize as três anotações e explique se ismand, z = 0; caso contrário, z = pixel, z2 = z * z e |z| <= 256 e explique por que nenhuma instrução vizinha pertence à anotação do laço.

Verificação de conclusão

Em circleInversion, você concluiu ao listar todas as 3 chaves de anotação e explicar corretamente z2 = z * z e |z| <= 256.

Fontes e direitos

A proveniência está na unidade factual inglesa.

Os direitos estão na unidade factual inglesa.

Registro da fórmula

circleInversion

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

Prévia determinística de circleInversion

Código-fonte canônico

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

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
6c1385a9-2d23-5816-90d1-2752905fc353
Nome canônico
circleInversion
Nome original
circleInversion
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