IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Moteur physique - forces de frottements


Sujet :

Mathématiques

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut Moteur physique - forces de frottements
    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. Voici un 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 à me donner pour terminer cette histoire de rebonds, je suis preneuse ^^

  2. #2
    Membre émérite
    Avatar de prgasp77
    Homme Profil pro
    Ingénieur en systèmes embarqués
    Inscrit en
    Juin 2004
    Messages
    1 306
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur en systèmes embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 306
    Points : 2 466
    Points
    2 466
    Par défaut
    Bonjour,
    tel que tu as modélisé le rebond, les forces de frottement sont effectivement sans effet, puisque de durée nulle. Ce que tu peux faire, c'est multiplier la vitesse en x par une constante proche (mais inférieure) à 1. Cela émulera un contact avec le sol prolongé.

    Note tout de moins que dans la réalité, les frottements de l'air ne sont pas négligeables par rapport à ceux du sol : la balle passe le plus clair de son temps en l'air.

    Finalement, tu vas avoir un problème sur le comportement de la balle à son arrêt, enfin tu verras
    -- Yankel Scialom

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Oui c'est ça le truc en fait ^^ Je vais simuler les frottements de l'air, et les frottements du sol lorsque la balle se mettra à rouler au lieu de rebondir

    Cependant juste une petite question ... imaginons une balle qui roule sur un plan incliné, Rn n'est pas égale à -P contrairement à sur un sol horizontal, mais par contre si on considère un solide et un sol indéformable, Rn + P sera forcément colinéaire à la direction de la pente non?
    Du coup Rn = Pcos(a) avec a degré de la pente par rapport à l'horizontale.

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur R&D en apprentissage statistique
    Inscrit en
    Juin 2009
    Messages
    447
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur R&D en apprentissage statistique

    Informations forums :
    Inscription : Juin 2009
    Messages : 447
    Points : 752
    Points
    752
    Par défaut
    Ne faut-il pas en plus prendre en compte le fait, en dehors des frottements, que le sol absorbe une certaine quantité de l'énergie cinétique ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Points : 1 685
    Points
    1 685
    Par défaut
    Bonjour,
    ce petit document pourra sûrement t'être utile même s'il ne répondra sûrement pas à toutes tes questions :
    http://www.lmm.jussieu.fr/~hoepffner..._tp4correc.pdf
    Concernant la modélisation proprement dite, il y a un problème classique de prépa sur les rebonds d'une balle. Je me souviens l'avoir fait en khôle mais c'est loin. A priori, l'étude de la trajectoire doit se faire en appliquant le principe fondamental de la dynamique, en résolvant les systèmes différentiels correspondants pour la vitesse et la position, et, comme le suggère Alexis, probablement en exploitant la loi de conservation de l'énergie pour déterminer la vitesse de ta balle après chaque rebond. En faisant une recherche sur google, tu devrais finir par tomber sur un exercice corrigé semblable à ce que tu souhaites faire.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Merci pour ce pdf très instructif Aleph. Effectivement il y a pas mal de chose à prendre en compte ... l'aérodynamique, l'énergie perdu par effet de rotation de la balle sur le sol etc ... Mais ça ce sera du bonus ^^

Discussions similaires

  1. Moteur physique 2D
    Par CaptainChoc dans le forum Physique
    Réponses: 6
    Dernier message: 07/08/2006, 22h47
  2. [FAQ] [3D] Physique, moteur physique
    Par Rafy dans le forum Contribuez
    Réponses: 7
    Dernier message: 04/06/2006, 17h51
  3. [Tuto] [3D] Moteur physique
    Par Rafy dans le forum Contribuez
    Réponses: 7
    Dernier message: 04/06/2006, 13h57
  4. Moteur Physique
    Par Jbx 2.0b dans le forum Physique
    Réponses: 6
    Dernier message: 11/03/2005, 12h29
  5. Moteur physique : comment l'implémenter ?
    Par haypo dans le forum Algorithmes et structures de données
    Réponses: 15
    Dernier message: 17/12/2003, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo