Aller au contenu principal

Physique

Stabilité et précision du moteur

Pas fixe, itérations, détection continue, sommeil : pourquoi la simulation tient — et ses limites.

Le pas de temps

Le moteur avance par pas de 1/60 s, identiques quelle que soit la machine. Si une image met du temps, il rattrape jusqu'à 6 pas (0,1 s) puis laisse le temps de la simulation ralentir plutôt que de faire des pas plus grands : la même scène donne toujours le même résultat, seulement plus lentement à voir.

Le solveur

À chaque pas, le moteur résout les contacts et les liaisons par itérations : 32 en vitesse, 12 en position. C'est beaucoup, et c'est mesuré : avec 8/3, dix-neuf billes sur cent traversaient le sol ; avec 32/12, aucune — et le pas coûte moins cher, parce que les tas se stabilisent et s'endorment.

La détection continue

Une pièce rapide et fine peut sauter un obstacle entre deux pas. La détection continue (le moteur cherche l'instant exact du contact) est allumée automatiquement pour toute pièce qui parcourt, en un pas, plus de 35 % de sa demi-épaisseur, et éteinte en dessous de 0,05 m/s. Sur toutes les pièces en permanence, elle coûterait vingt fois plus cher (31 ms par pas au lieu de 1,5 sur 72 billes).

Le sommeil

Les pièces immobiles s'endorment et ne coûtent plus rien ; un contact, un changement de gravité ou de ressort les réveille.

Ce qui peut mal se passer, et quoi faire

SymptômeCause probableRemède
une pièce vibre sur une autredeux pièces très différentes de masse en contact permanent, ou un pivot presque tendualléger la lourde, ou un petit jeu
un bras sur butée rebonditune butée est un ressort très raideun vrai bloc fixe contre lequel taper
un galet à coins saute sur une cameles coins accrochent les facettes du polygoneun galet rond
un ressort très raide fait sauter la piècetrop de raideur pour la masseAccorder sur la charge
le moteur n'atteint pas sa vitessecouple max trop faiblemonter le couple
une bille rebondit sans fin sur la glacerestitution + frottement nulun autre matériau
deux pièces se traversentpas au même étage, ou reliées par un pivotvérifier les calques, cocher « les pièces se touchent »

Les nombres ci-dessus viennent des mesures notées dans le code du moteur, pas d'une estimation.