Cette application transforme n’importe quelle image en une expérience visuelle : l’image se décolle progressivement de l’écran et ses pixels s’envolent en suivant les trajectoires d’un attracteur étrange. Chaque pixel devient une particule qui quitte sa position d’origine pour spiraler dans l’espace 3D, tout en conservant sa couleur. L’aspiration ne démarre pas partout en même temps : une zone elliptique part en premier, le reste de l’image suit par vagues.
Tout est précalculé au chargement : tu peux ensuite naviguer librement dans le temps de la simulation, en avant comme en arrière, et chaque composition est entièrement reproductible à partir de quelques réglages.
Un point qui compte : ton image ne quitte jamais ton ordinateur. Elle est lue et transformée localement par ton navigateur, rien n’est envoyé sur le serveur. Tu peux le vérifier dans l’onglet Réseau des outils de développement : aucune requête ne part quand tu charges une image.

## Les cinq attracteurs
Un attracteur étrange est une figure mathématique issue d’un système d’équations différentielles : trois formules qui dictent, à chaque instant, dans quelle direction se déplace un point de l’espace. Chaque système a sa personnalité :
– **Aizawa** : une sphère creusée traversée d’une colonne centrale, à la fois dense et aérienne. C’est l’attracteur historique de cette application.
– **Thomas** : des rubans lents et entrelacés, en symétrie cyclique. Le plus doux et le plus poétique des cinq.
– **Lorenz** : le célèbre papillon à deux ailes, celui par qui la théorie du chaos est arrivée. Mouvement rapide et dramatique, les pixels se répartissent en deux lobes.
– **Halvorsen** : trois bras entrelacés en symétrie ternaire, ample et sculptural.
– **Rössler** : une spirale plate qui éjecte soudainement des gerbes verticales. Ses pointes sont si amples que la caméra recule parfois pour les suivre, c’est son caractère.
Changer d’attracteur relance le précalcul (quelques secondes) mais conserve ton image, la zone de départ et tous les réglages : tu peux ainsi comparer les cinq dynamiques sur exactement la même composition.
## Les commandes
**Charger une image** : choisis une image sur ton appareil. Le calcul des trajectoires se lance automatiquement (quelques secondes, avec pourcentage affiché), puis l’image apparaît, nette et intacte.
**Image de démonstration** : si ce bouton est visible, il charge une image d’exemple au hasard, pour essayer l’application sans rien préparer.
**Lecture / Pause** : lance l’animation automatique du début à la fin de la simulation, ou la met en pause à tout moment.
**Nouvelle zone aléatoire** : régénère l’endroit d’où part l’aspiration (position, orientation et forme de l’ellipse), sans recharger l’image ni relancer le calcul. La graine tirée s’affiche dans le champ juste en dessous : note-la si la composition te plaît.
**Graine (zone aléatoire)** : c’est le numéro d’identité de la zone de départ. Un ordinateur ne produit pas de vrai hasard : il calcule des suites de nombres pseudo-aléatoires à partir d’un nombre initial, la graine. Même graine, même zone elliptique, toujours. Tu peux donc saisir ici une graine notée précédemment (ou lue dans le nom d’une photo exportée) et valider avec Entrée pour retrouver exactement la même composition.
**Curseur T (0 à 500)** : la ligne de temps de la simulation. Fais-le glisser pour voir l’image à n’importe quel instant : à 0 elle est parfaitement plate, à 500 elle est entièrement capturée par l’attracteur. La caméra suit d’elle-même le nuage de points : elle se recentre en douceur et ne recule que si nécessaire, pour que rien ne sorte de l’écran.
**Délai max (50 à 500)** : l’étalement du départ des pixels. Une valeur faible fait partir toute l’image presque d’un coup ; une valeur élevée crée une longue vague où les zones éloignées de l’ellipse restent en place longtemps.
**Taille zone initiale (0.1 à 0.8)** : le rayon relatif de l’ellipse qui part en premier. Petite valeur : l’aspiration démarre d’un point précis ; grande valeur : une large portion de l’image décolle dès le début.
**Vitesse de transition (10 à 80)** : la durée du passage de chaque pixel entre son état « image nette » et son état « fil de la grille déformée ». Une valeur faible donne un arrachement net, une valeur élevée un décollement doux et vaporeux.
**Intensité des fils (0.10 à 0.80)** : l’opacité de chaque fil de la grille déformée. Les fils s’additionnent en lumière là où ils se croisent : avec une intensité élevée, les zones denses saturent vers le blanc ; avec une intensité faible, elles gardent la richesse des couleurs de ton image. Baisse ce curseur quand le nuage devient très dense (autour de 0.20), monte-le pour les états aérés du début (0.35 à 0.45).
**Prendre une photo (PNG 4K)** : exporte l’instant affiché en haute définition (3840 px de large), sans le panneau de réglages. Le nom du fichier contient la recette complète de l’image, par exemple :
`lorenz_T264_delai300_zone0.35_transition40_fils0.30_seed12345_3840x2160.png`
En ressaisissant ces valeurs dans l’application avec la même image d’origine, tu recrées la composition à l’identique. Le nom de fichier fait office de journal d’exploration.
## Bon à savoir
– Si la page se recharge (F5, fausse manipulation), l’application restaure automatiquement ton image et tous tes réglages : tu ne perds que les quelques secondes du précalcul. Cette mémoire est propre à l’onglet et s’efface quand tu le fermes.
– La simulation repose sur une grille de 120 points de côté reliés par des segments : chaque point suit les équations de l’attracteur avec son propre départ différé, et l’image nette se dissout progressivement en fils colorés. Les couleurs des fils sont légèrement sursaturées pour mieux résister à l’addition lumineuse.
– Les équations sont intégrées pas à pas (méthode d’Euler, 2000 pas par point) et les 101 états intermédiaires sont gardés en mémoire : c’est ce qui rend la navigation dans le temps instantanée.
Amuse-toi bien, et si tu tombes sur une composition spectaculaire, la graine et le nom de la photo suffisent à la partager.
Commentaires récents