Un système simple, un comportement chaotique
Un double pendule, ce n'est qu'une masse suspendue à une autre : deux bras, deux articulations, la gravité. Trois lignes de description, et pourtant l'un des exemples les plus nets de chaos déterministe. Les équations sont parfaitement connues et sans hasard ; malgré cela, le mouvement devient très vite imprévisible à l'œil. Je m'en sers ici comme banc d'essai pour montrer, à ciel ouvert, comment on simule proprement un système physique dans le navigateur — sans moteur, sans dépendance, en quelques kilo-octets de JavaScript.
Les équations du mouvement, issues du lagrangien
Je ne fais pas avancer les masses « à vue ». Je pars des véritables équations du mouvement, obtenues à partir du lagrangien du système (l'énergie cinétique moins l'énergie potentielle). On en tire deux équations couplées qui donnent, à chaque instant, l'accélération angulaire de chaque bras en fonction des angles, des vitesses, des longueurs, des masses et de la gravité. L'état du pendule se résume alors à quatre nombres — deux angles, deux vitesses angulaires — et toute la simulation consiste à faire évoluer ces quatre nombres dans le temps.
Intégrer avec Runge-Kutta d'ordre 4, pas avec Euler
Connaître l'accélération à un instant ne suffit pas : il faut l'intégrer pour en déduire l'état à l'instant suivant. La méthode naïve, dite d'Euler, se contente d'avancer en ligne droite dans la direction de la pente actuelle. Sur un système aussi nerveux, elle dérive vite : l'énergie gonfle artificiellement et le pendule finit par « s'emballer » de manière non physique. J'utilise donc Runge-Kutta d'ordre 4 (RK4) : à chaque pas, il évalue la pente en quatre points intermédiaires et en fait une moyenne pondérée. Pour un même pas de temps, l'erreur est incomparablement plus faible — la trajectoire reste fidèle et l'énergie, stable — au prix de quelques opérations supplémentaires. J'avance en outre à pas de temps fixe, sous-échantillonné indépendamment du rafraîchissement de l'écran, pour que la physique soit identique sur un moniteur 60, 120 ou 144 Hz.
La sensibilité extrême aux conditions initiales
C'est la signature du chaos, et je la rends visible : à côté du pendule principal, j'en simule un second, quasi identique, lancé avec un angle de départ décalé d'un cent-millième de radian. Pendant une ou deux secondes, les deux se superposent. Puis ils divergent — d'abord imperceptiblement, ensuite totalement. Aucune erreur de calcul là-dedans : c'est le système lui-même qui amplifie exponentiellement le moindre écart. La traînée laissée par la pointe, qui s'estompe peu à peu, matérialise cette trajectoire jamais deux fois la même.
Ce que ça dit de ma façon de travailler
Ce petit pendule résume une conviction que j'applique aux projets sérieux : sur un système sensible, le choix de la méthode numérique n'est pas un détail. Le même problème, traité avec Euler ou avec RK4, donne un résultat crédible ou un résultat faux — et l'écart ne se voit pas toujours au premier coup d'œil. C'est exactement l'attention que je porte à un calcul financier, à un moteur de règles métier ou à un traitement de données à fort volume : comprendre la mécanique sous le capot, choisir la bonne approche plutôt que la plus rapide à écrire, et livrer un code dont vous pouvez faire confiance aux résultats sur la durée.