football

Bonjour,

Ceci vous paraîtra sûrement trivial, mais même après avoir déchiré 5 feuilles de calculs inexacts nous ne trouvons pas la solution...

Dans le cadre de la programmation d'un jeu de foot, nous cherchons à réaliser un calcul pour diriger nos joueurs...

Voici le problème :
Le ballon se déplace avec un vecteur vitesse donné (nous ignorons la décélération puisque nous pouvons ajuster notre comportement 30 fois/sec).

Nous cherchons à calculer le vecteur vitesse que le joueur doit avoir pour intercepter la balle, ce qui nous permettra:
- de savoir à quel endroit aller pour récupérer la balle
- de savoir en combien de temps on peut la récupérer (et si on est le mieux placé)

Pour simplifier les calculs nous ne prenons pas en compte notre propre accélération, mais considérons que nous voyageons dans la direction de notre choix avec une vitesse moyenne sans transition

Considérant la trajectoire du ballon (nous travaillons en 2 dimensions) :
Yballon=Yballon0+Vyballon*t
Xballon=Xballon0+Vxballon*t

Comment trouver le vecteur vitesse du joueur pour intercepter cette trajectoire ?

Merci à vous si vous trouvez un peu de temps pour nous aider.

PS:
Nous disposons pour chacun des joueurs et le ballon des positions, vecteurs vitesse et accélération.
Un joueur peut décider d'accélérer dans la direction de son choix, pour simplifier les calculs nous ne prendrons pas cette donnée en compte

Réponses

  • Hello,

    On retire les considérations d'accélération (l'énoncé semble le proposer, même si je le trouve peu clair sur ce point précis). On a :

    Yjoueur=Yjoueur0+Vyjoueur*t
    Xjoueur=Xjoueur0+Vxjoueur*t

    On veut trouver le point où le ballon et le joueur vont se rencontrer.

    Yballon=Yjoueur
    Xballon=Xjoueur

    Yballon0+Vyballon*t=Yjoueur0+Vyjoueur*t
    Xballon0+Vxballon*t=Xjoueur0+Vxjoueur*t

    Les "t" sont les mêmes puisque le joueur et le ballon auront bougé pendant le même temps.
    On connait la vitesse à laquelle le joueur peut courir (Vjoueur, qui est donc la norme du vecteur vitesse). On recherche Vyjoueur, Vxjoueur et t.
    On sait que Vjoueur² = Vxjoueur²+Vyjoueur²
    On a donc trois équations à trois inconnues, je pense que ca doit pouvoir se terminer.

    Cordialement,

    Gari.
  • Merci pour cette réponse rapide, nous en ferons bon usage
    :)

    Sinon le site du jeu est ici, il n'est pas encore téléchargeable mais si certains sont
    tentés vous pouvez nous contacter (le jeu consiste a programmer son equipe et a la faire s'affronter avec celle des autres joueurs)

    <http://x-foot.net/&gt;


    ps:
    Et dire que j'ai un deug !
Connectez-vous ou Inscrivez-vous pour répondre.