Je pourrais me méprendre, mais il semble que vous posiez deux questions: 1. Quels sont les moyens généraux de gérer la résolution des collisions? Le terme que vous recherchez est «simulation basée sur les impulsions», et il y a un tas d'articles qui peut le faire mieux que moi.
En résumé, vous voulez faire avancer votre simulation physique dans l'espace de momentum, qui est la masse multipliée par la vitesse (ne faites pas les choses en fonction de la force, votre intégrateur ne le fait pas correctement de toute façon).
Pour la réponse angulaire, heureusement, les moments d'inertie les plus grands et les plus faibles peuvent toujours être réduits à deux axes orthogonaux (en 2D), ce qui signifie qu'une multiplication matricielle fonctionnera généralement, et si vous les alignez avec les axes X et Y, cela se transforme en un vecteur 2D.
Lorsque vous avez une collision, vous déterminez la réponse en fonction des moments linéaires et angulaires au point de collision, et un bon facteur de fudge est, si vous avez une interpénétration, d'appliquer une force de pénalité (comme mentionné ci-dessus) pour séparer les deux corps.
À partir du moment où vous finirez par ajouter de plus en plus de règles pour contrôler les comportements aberrants, comme limiter le moment angulaire maximal afin que les choses ne tournent pas comme des sommets, etc., mais c'est un bon début.
Restez simple si vous le pouvez.
- Comment résoudre les problèmes de collision multi-corps
La seule vraie façon de le faire est avec un système d'équations linéaires et beaucoup de résolution. La façon pratique de le faire est d'avoir un système comme celui ci-dessus et de faire en sorte que la physique se résorbe naturellement au fil du temps.
La plupart des jeux qui font des choses comme rouler ou se tenir debout sur des surfaces mobiles, ont un modèle hybride où vos pieds sont attachés à une surface (ou des roues à la route) pour s'adapter au temps physique (ce qui entraînerait des cycles d'interpénétration-réponse et ne fonctionnerait pas).
J'espère que cela t'aides. Si vous avez besoin d'exemples mathématiques, faites-le moi savoir.