Au Progrès

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é.

  1. Au survol, la souris attire et étire le liquide.
  2. Bouton enfoncé, elle l'arrache aux plots proches et l'emporte ; au relâchement il retombe et revient.
  3. Les aimants d'acier se déplacent à la souris ou au doigt ; deux flaques rapprochées fusionnent.
  4. Sur l'accueil, survoler un lien de la liste allume un aimant sous lui.
  5. 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

Lettre d'information

Les avancées de la semaine, dans votre boîte

Une sélection d'articles du magazine, envoyée chaque semaine. Désinscription en un clic.