Laboratoiren° 31er nov. 2026
Ferrofluide en WebGL : un liquide magnétique piloté par la souris
- Particules lissées
- Ray marching
- Rosensweig
- WebGL
Comment c'est fait
Le liquide est une vraie masse qui se déplace : 760 particules lissées (méthode de Clavet), avec une pression qui les tient ensemble, si bien que la quantité de liquide reste constante. Chaque image, elles sont projetées sur une grille de hauteur que le shader parcourt en lancer de rayons.
Par-dessus, les pics de Rosensweig poussent là où le champ cumulé des aimants est fort et s'inclinent vers l'aimant dominant. Deux plots proches forment un pont ; tiré par la souris, le liquide se partage, puis revient se recoller aux plots quand on relâche. La première version, une flaque unique sous un aimant invisible, est gardée de côté.
- Au survol, la souris attire et étire le liquide.
- Bouton enfoncé, elle l'arrache aux plots proches et l'emporte ; au relâchement il retombe et revient.
- Les aimants d'acier se déplacent à la souris ou au doigt ; deux flaques rapprochées fusionnent.
- Sur l'accueil, survoler un lien de la liste allume un aimant sous lui.
- Mouvement réduit : image figée après une simulation à l'avance ; résolution qui baisse seule si l'appareil peine.
- Simulation
- 760 particules lissées à masse conservée, calcul en JavaScript
- Rendu
- WebGL 1, grille de hauteur en lancer de rayons, pics de Rosensweig
- Aimants
- 3 plots déplaçables, la souris, et des liens de la page
- Code
- 20 Ko de JavaScript, sans librairie
- Fluidité
- 60 images par seconde, environ 0,9 ms par image sur une RTX 3080