TPED PR16 - La physique de nos mobiles

Nous allons ici nous intéresser aux comportements physiques de nos particules, c'est-à-dire à la gestion de leurs mouvements et des collisions.

Chaque mobile possède une position, un rayon, une vitesse maximum et une accélaeacute;ration maximum. Les valeurs par défaut reflètent à peu près les capacités humaines :

Dans les illustrations (images et applets), les vecteurs de vitesse seront représentés en bleu et les vecteurs d'accélération en vert.

Les déplacements

A chaque itération, le mobile se voit appliquer une accélération pendant un temps "tau". Le vecteur d'accélération est tout d'abord tronqué si sa norme exède l'accélération maximale. Il est ensuite multiplié par tau et ajouté au vecteur vitesse.
Le vecteur vitesse est alors à son tour tronqué si necessaire puis multiplié par tau avant d'être ajouté à la position du mobile.

Les collisions

Avant de réellement modifier la position du mobile, on vérifie que celui ci n'est pas entré en collision avec un mur ou un autre mobile.
Si il y a collision, le mobile n'est pas déplacé et sa vitesse est modifiée. Contre un mur, le mobile est simplement arreté. Contre un autre mobile, la vitesse est divisé par un coefficient, et une partie de cette vitesse est passée à l'autre mobile.

Ce modèle de collision est très perfectible. Il est en effet envisageable de programmer quelque chose de beaucoup plus réaliste en prenant en compte la masse des mobiles, l'angle d'attaque, ...
Mais dans notre cas, la plupart des collisions se font à petite vitesse, et avec des vecteurs vitesse presque colinéaires. Ce modèle est donc pour nous tout à fait acceptable.

page précédente page suivante
retour au sommaire