FractalPark
MagnetMoyen

Magnet Type 1

Un quotient de Möbius au carré avec un pôle en z = c, rassemblant le plan en bassins groupés et en chaînes de perles.

Ouvrir dans l'Explorateur
Sphères orange cuivré de toutes tailles regroupées sur un champ bleu profond parsemé de petites rosettes étoilées bleu et blanc
Une vue de Julia de Magnet Type 1 : des bassins arrondis et lisses se rassemblent en grappes, tandis que des rosettes étoilées peuplent leurs frontières fractales.

Vue d'ensemble

Magnet Type 1 part de ((z + c) / (z − c))². Le rapport entre parenthèses est une transformation de Möbius, la plus simple des fonctions rationnelles non triviales ; l'élever au carré donne une application rationnelle de degré deux. Contrairement à z² + c, cette application n'éloigne pas toujours davantage les points lointains : ils reviennent vers 1.

La dynamique s'organise autour de deux endroits opposés. Le quotient s'annule en z = −c et possède un pôle en z = c. Une orbite qui frôle le pôle file très loin, puis revient près de 1 à l'étape suivante. Des bassins stables s'étendent à travers le plan ; entre eux, une frontière fractale faite de couche après couche de préimages du pôle.

FractalPark propose un plan des paramètres, où c bouge, et des vues de Julia, où c reste fixe. L'image de référence est un gros plan de Julia. Ses bassins arrondis se regroupent en amas comme la limaille de fer autour d'un aimant — d'où le nom de la famille.

Les mathématiques

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.

Histoire

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.

Caractéristiques visuelles

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 et exemples

Pars du Document canonique

Ouvre le même état de formule approuvé utilisé par ce guide, puis modifie la vue, la colorisation, les transformations ou l'animation dans l'Explorateur interactif.

Questions fréquentes

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.

Références

Parcours du code source

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

    Dans magnet1, ce nœud exécute if ismand: z = 0; sinon z = pixel.

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

    Dans magnet1, ce nœud exécute ratio = numerator / denominator.

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

    Dans magnet1, ce nœud exécute z = ratio * ratio.

  4. frm-v1:3aec931a4991e14e53348c6d28e9fcbaf8127cad6298dafc2a8ee9e2ac8d8143:bailout

    Dans magnet1, ce nœud exécute |z| <= 4.

Caractéristiques syntaxiques

state-flow

Le flux d’état concret est : le choix de ismand initialise z ; puis numerator et denominator forment ratio avant sa mise au carré.

stopping-test

Le test d’arrêt évalue seulement |z| <= 4 ; il n’affecte pas l’état.

Expérience sur les paramètres

Étapes

  1. En gardant les autres contrôles du profil fixes, exécute magnet1 avec 48 itérations.
  2. Utilise ensuite les 96 itérations du profil épinglé et note la différence.

Ce qu’il faut observer

Note si numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio modifie le résultat visible ou le test d’arrêt |z| <= 4 par rapport à la référence ; la définition ne garantit pas de différence.

Exercice

Suis les annotations de magnet1 et explique comment numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio s’exécute dans les opérations indiquées.

Vérification de réalisation

Ta réponse explique les 4 annotations, identifie numerator = z + c; denominator = z - c; ratio = numerator / denominator; z = ratio * ratio et distingue |z| <= 4 comme test d’arrêt plutôt que comme affectation.

Indice

Le flux d’état exécute successivement if ismand: z = 0; sinon z = pixel → numerator = z + c → denominator = z - c → ratio = numerator / denominator → z = ratio * ratio et transmet le résultat à l’étape suivante.

Sources et droits

Source : définition d’exécution épinglée et décision de publication.

Les informations de droits suivent la décision épinglée dans l’unité anglaise.

Fiche de formule

magnet1

Cette implémentation canonique de FractalPark est publiée et exécutable.

Aperçu déterministe de magnet1

Source canonique

Langage
frm-like/1
Bibliothèque standard
1
Mode du profil
parameter-plane
Centre du profil
-0.5, 0
Zoom du profil
0.4
Itérations du profil
96
Niveau de preuve du profil
mechanical

Paramètres

Aucun paramètre déclaré

Source canonique

Cette révision canonique vérifiée est en lecture seule. Remix crée une copie modifiable distincte.

Chargement de la source canonique…

Source et implémentation

ID de formule
12fc34ff-196d-5924-830e-6edb72dfc172
Nom canonique
magnet1
Nom d'origine
magnet1
Source historique
FractalPark
Implémentation actuelle
Propriété du projet

Il s'agit d'une implémentation propre au projet FractalPark. Le fichier lié est la Definition canonique épinglée.

Un problème de droits ou d'attribution ?

Envoyez l'ID de la formule et les justificatifs. Le mainteneur peut suspendre ou retirer l'implémentation pendant l'examen. contact@fractalpark.com