Inscription / Connexion Nouveau Sujet
Forum Autre
Partager :

Moteur Physique - Rebonds

Posté par
tyalis
15-07-12 à 14:59

Bonjour, je suis en train d'essayer de coder mon propre, et modeste, moteur physique pour un jeu video. Pour l'instant j'ai juste implémenté la gravité à l'aide de la seconde loi de Newton, maintenant j'essaye de simuler le rebond.

Dans mon simulateur, j'ai une balle à laquelle je donne une position initiale, une vitesse initiale, une masse, un rayon, une élasticité ainsi que le milieu dans lequel elle trouve. Son élasticité, qui est une valeur comprise entre 0 et 1, va influer sur l'amplitude des rebonds : plus c'est proche de 1, plus les rebonds vont être importants.
Ce que je fais concrètement pour l'instant, c'est que lorsque je détecte une collision avec le sol, je réinitialise les conditions initiales comme suit :
- pos0 = position actuelle
- speed0.x = vitesse en x actuelle
- speed0.y = -(vitesse en y actuelle) * élasticité
- t0 = 0

C'est la vitesse initiale ici qui me permet de déclencher le rebond. Alors ça marche très bien en y, seul problème pour l'instant, comme je n'ai que le poids qui s'applique, me balle ne s'arrête jamais en x !
Il faut encore implémenter les frottements du sol (pour l'instant je néglige ceux de l'air). C'est là que je commence à sécher un peu.

J'ai joint un petit schéma. Déjà j'aimerais savoir si j'ai bien représenté la Réaction ? Et ensuite est-ce bien cela qui va permettre de décroitre progressivement Vx ? Comme c'est une force ponctuelle ça me perturbe un peu... Aussi comment calculer le vecteur R ? Rn est-il toujours égal à P ?
Tout ce que je sais c'est que Rt = k*Rn, avec k dépendant de la nature des matériaux.

Enfin voila, si vous avez des indications/conseils à me donner pour terminer cette histoire de rebonds, je suis preneuse ^^

PS : Mes connaissances en mécanique se limite essentiellement à la Terminale S ^^"

Moteur Physique - Rebonds

Posté par
J-P
re : Moteur Physique - Rebonds 15-07-12 à 19:29

Ce qui fait diminuer la composante horizontale de la vitesse n'est pas (dans le cas décrit) le frottement avec le sol... mais bien le frottement dans l'air.

Si la vitesse de la balle est assez faible, la force de frottement est proportionnelle à la vitesse. F = -k.v

Pour la composante horizontale de la vitesse, on a donc l'équation différentielle : dv/dt = -k.v

Dont la solution est v(t) = Vo.e^(-k.t)

Et donc, la composante horizontale du déplacement est : x(t) = (Vo/k).(1 - e^(-k.t))
-----
k est un coefficient dépendant du milieu (air) et du rayon de la balle.

Posté par
tyalis
re : Moteur Physique - Rebonds 16-07-12 à 10:17

Merci pour ta réponse Mais j'ai quelques remarques :

Citation :
Pour la composante horizontale de la vitesse, on a donc l'équation différentielle : dv/dt = -k.v

-> Tu t'es basé sur la seconde loi de newton ? Il ne manque pas la masse de la balle dans l'équation ?

Citation :
Et donc, la composante horizontale du déplacement est : x(t) = (Vo/k).(1 - e^(-k.t))

-> En fait là t'es parti de l'idée que x(0) = 0, mais ce sera pas toujours le cas. Du coup ce serait plutôt x(t) = (Vo/k).(1 - e^(-k.t)) + Xo

Posté par
J-P
re : Moteur Physique - Rebonds 16-07-12 à 11:45

J'eus du écrire :

m.dv/dt = -k.v

Dont la solution est v(t) = Vo.e^((-k/m).t)

Et donc, la composante horizontale du déplacement est : x(t) = (m.Vo/k).(1 - e^((-k/m).t))

... avec + xo si l'abscisse en t  = 0 n'est pas nulle.

Posté par
tyalis
re : Moteur Physique - Rebonds 16-07-12 à 19:02

Ok ok c'était pour être sûre ^^" Thanks



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2025

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !