Rebond de deux balles

cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 - 29 nov. 2008 à 17:01
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 16 janv. 2014 à 14:37
Bonjour,

Alors, voici mon problème: J'ai plusieurs balles sur ma form rebondissant sur les bords et qui ont donc une vitesse et un angle donné variant (en fait, c'est en coordonnées cartésiennes mais c'est pas dur de passer vers des coordonnées polaires donc c'est pas un problème) ...
J'intercèpte lorsqu'elles se touchent (grâce à la somme des rayons) et calcule l'angle entre ces balles, et j'aimerais trouver de quelle manière chaque balle va être influencée.
J'ai déjà cherché plusieurs manières (moyenne de la direction et de l'angle, etc.) mais je ne suis tombé que sur des bugs .
J'ai également cherché un algorithme sur internet, mais sans succès ...

Merci d'avance

A+

Antho 25
------------------------------------
Rien n'empêche Melba

13 réponses

cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
29 nov. 2008 à 22:00
Bonjour antho2005

Passionnant, ton projet !

Quand tu parles de l'angle entre les deux balles (appelons-le alpha), je pense que c'est l'angle de la droite reliant les rayons.

Si la balle A était immobile (supposition) au moment du choc, alors la balle B devrait rebondir sur elle comme si elle frappait un plan perpendiculaire à alpha. Ce cas-la, je pense que tu sais le gérer très bien.

Dans la réalité, la balle A est n'est pas immobile, ses paramètres (vitesse et drection) ne sont pas nuls au moment du choc avec B. Calcule la vitesse et la direction relatives de la balle B par rapport a la balle A. Remplace les paramètres (vitesse et direction) absolus de B par cette vitesse relative. Tu devrais alors te retrouver dans le cas précédent (balle A immobile).

Qu'en penses-tu ?

Amicalement
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
30 nov. 2008 à 17:44
Bonjour à toi, Orohena

Oui, je pense que ça peut être pas mal ... En tout cas ça en a l'air
Je vais essayer d'adapter ça à mon prog et tester tout ça ...

Je t'informerais du résultat ...

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
2 déc. 2008 à 02:04
Bonjour antho2005

Je suis en train de bosser sur ce sujet que je trouve vraiment intéressant. J'aurais aimé savoir comment se déplacent tes balles. La description que tu donnes me fait penser à un billard vu de dessus. Est-ce cela ?

D'après ce que j'ai vu sur des sites de billard, une bille qui en frappe une autre sans effet (ce qu'ils appellent l'éclatement naturel) ricoche sur elle en suivant une parallèle à la tangente au point de contact. L'autre boule part à 90° de la première, c'est-à-dire en suivant la droite passant par les centres et le point de contact.

Sur http://www.supreme.fr/billardtechniques.html ils mettent des exemples en dessin, c'est beaucoup plus clair.


Quant à la vitesse prise par chaque boule après le choc, je n'ai encore rien trouvé. Je n'ai rien trouvé non plus sur les lois qui s'appliquent lorsque les deux billes sont en mouvement au moment où elles entrent en contact.


Je suis impatient de connaître tes résultats.

Amicalement
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
3 déc. 2008 à 12:06
Bonjour, bonjour

Alors, en fait, mes balles se déplacent un peu comme sur un billard vu de dessus oui, sauf qu'elles ne perdent pas de vitesse au fil du temps (pas de friction, tout ça), donc pour l'instant je m'occupe, des angles, je verrais après pour un éventuel échange de vitesse ...
Ensuite, j'avais un petit peu cherché pour si la balle A était immobile, j'en arrive à la formule 180°(ou Pi radians) + 2*Alpha - Direction pour la nouvelle direction de la balle en mouvement après quelques dessins et calculs, j'en ai fait un programme de test et ça a l'air de marcher (d'ailleur si ça intéresse quelqu'un ...)
Cependant, si j'applique cette logique au deux balles entrant en collision, le résultat est seulement parfois satisfaisant, mais souvent, elles ont un angle complètement irréel (les deux partent du même côté ...) ou parfois rentrent l'une dans l'autre et font quelque chose de pas très joli
Je vais essayer de faire comme tu as dit dans ton premier post, de prendre un angle relatif plutôt qu'absolu ...

Merci pour ton investissement

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
3 déc. 2008 à 19:04
Bonjour antoh2005

Suite à ton post, j'ai commencé à développer quelque chose dans ce genre. Ma bille perd de de la vitesse, c'est la seule différence avec ton projet. Je travaille encore sur la rencontre avec une bille immobile.

Je me suis vite aperçu que l'aperçu des déplacements de la bille ne donnait aucun renseignement objectif sur le bon fonctionnement du programme. Par exemple, des rebonds tout à fait acceptables à l'écran se sont révélés faux en les recalculant.

Je continue à collecter des infos sur le web, j'ai trouvé un site pas mal, qui propose des solutions mathématiques pour les différentes collisions :

http://pagesperso-orange.fr/michel.staelens/billard/doc/index.htm

Je prends note de ta proposition, et je serai très intéressé d'échanger nos résultats le moment venu.

Je suis sous Excel. Je n'utilise pas de formulaire pour le moment, une feuille de calcul est suffisante.

Amicalement
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
3 déc. 2008 à 20:41
Bonjour Orohena,

Je viens de regarder le site de pagesperso-orange, et je vais tenter de faire ça ...
J'ai cependant remarqué une contradiction entre l'image et le texte: u passe par les centres dans le texte, mais t y passe dans le dessin ... enfin bon ... c'est pas bien grave

Oui, c'est vrai qu'il serait interessant d'échanger nos résultats. Pour ma part, je suis sous VB6 ...

Encore merci

A+

Cordialement

Antho 25
------------------------------------
Rien n'empêche Melba
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
3 déc. 2008 à 21:09
Oui, j'avais remarqué également cette contradiction.

Bon courage
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
7 déc. 2008 à 21:05
Bon alors ...

La technique d'inverser les t (avec comme dans le texte, u traversant les rayons) m'a l'air de bien marcher avec les formules données pour passer du repère xy à tu, mais ... (suspens )
Un problème tout con: en fait ça marche bien je dirais la moitié du temps, et l'autre moitié, les balles ne sont pas assez loin, et le rebond se reproduit, et les balles sont l'une sur l'autre et bougent bizrrement pendant un petit moment ... Et je n'arrive pas à traiter une seule fois un rebond (donc le reconnaitre, ou une autre technique) ...

Voili Voilou

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
8 déc. 2008 à 19:22
Bonjour Anthony

J'ai démarré à fond les manettes sur ce projet en pensant que j'allais régler ça en deux jours . Mais j'ai rencontré assez tôt les mêmes problèmes que toi, où les billes deviennent complètement folles . C'est là que je me suis aperçu que le déboguage de ce genre de programme n'était vraiment pas simple.

Alors, depuis jeudi dernier, j'ai redémarré le projet en affichant graphiquement les trajectoires, les vecteurs, les projections. Comme ça, quand il y a un défaut, je peux l'analyser visuellement.

C'est tout pour le moment

Bon courage
0
cs_antho2005 Messages postés 150 Date d'inscription samedi 8 avril 2006 Statut Membre Dernière intervention 1 mai 2012 3
22 déc. 2008 à 14:56
Bon, voici des nouvelles:

N'arrivant pas à déceler pourquoi buguait mon projet quand j'incrustais directement les formules dans mon projet (trop de paramètres variables), j'en suis arrivé a faire un petit programme de test avec seulement deux balles et je me suis vite aperçu d'un exemple simple qui rend faux les calculs du site sur le billard (pagesperso-orange):

(T étant comme dans le texte, la tangente) Soit une balle B immobile et A mobile, si A frappe B avec un angle de 45° entre les 2 balles et un angle initial de A de 45° également, ils inversent leurs directions sur T (toutes deux étant égales à 0) et gardent leurs direction sur U, ce qui au final, ne change strictement rien, et A traverse B comme du papier maché (faudrait que je change d'expressions, celles que j'ai sont vraiment bidon ...)

Voila, je me met donc à la recherche d'une autre solution (mais l'idée de passer dans le repère TU m'as l'air pas mal)

(le programme d'exemple: http://anthony.demuylder.neuf.fr/Rebonds.zip)

A+

Antho 25
------------------------------------
Rien n'empêche Melba
0
cs_Orohena Messages postés 577 Date d'inscription vendredi 26 septembre 2008 Statut Membre Dernière intervention 20 novembre 2010 4
23 déc. 2008 à 00:47
Salut Antho

D'abord, bravo pour ton programme, tu as super bien avancé. C'est très réaliste malgré les bugs que tu as signalés. Ta démo montre bien le problème, et je m'en veux un peu de t'avoir indiqué ce site, mais comment pouvais-je savoir qu'il donnait de fausses indications ? En tout cas, ça prouve bien que ce n'est pas si simple que ça.

Je pense, comme toi apparemment, que ce qui rend ce programme compliqué à mettre au point, c'est le nombre de paramètres en jeu. Heureusement que les fonctions mathématiques ne sont pas trop compliquées.

Pour ma part j'ai opté pour un programme qui analyse l'instant précis de la collision entre 2 balles (1 fixe, l'autre en mouvement). Donc il n'y a aucun mouvement à l'écran, mais tout plein de droites, de cercles, de vecteurs. C'est très joli, on dirait que ça sort tout droit d'un bouquin de physique nucléaire lol. Pour la "mise en mouvement", je verrai après. Enfin, si je suis pas à l'asile d'ici là

Amicalement et bon noël
0
Moi aussi cette façon dont les balles se déplacent me fait irrémédiablement penser au rebond des billes sur les bandes d'un billard comme on peut le voir sur cette petite animation qui illustre l'égalité des angles d'incidence et de réflexion
http://www.billard-cfbl.com/zz_billard_maths.html
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 16/01/2014 à 14:38
Bonjour,
sujet et problèmes bien connus, qui nécessitent (avant de parler développement) des connaissances approfondies en matière de physique (cinétique et dynamique, entre autres ... d'autant que doivent être pris en compte d'autres facteurs, dont le poids, la densité, l'environnement des déplacements, la rotation éventuelle des boules, etc ...)
Quelles sont tes connaissances dans ces domaines ? Si insuffisantes, il va te falloir commencer par là (les acquérir) avant même de commencer à commencer à commencer à développer.

J'espère par ailleurs que tes "boules" ne sont pas des cercles à l'intérieur d'un rectangle (picturebox ou autre), mais des pictureboxes à périmètre non rectangulaire ou carré, hein ... Sinon : tu es bien mal parti.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
0
Rejoignez-nous