1

La question relou du soir (demain je cherche la reponse sur internet)
Comment on fait pour calculer le rebond d'une balle (2D, representee par un cercle) sur une boite (2D, represente par un parallelepipede. Je suis gentil les cote de la boite sont bien horizontaux ou verticaux)

En gros en donnee j'ai:
- x,y du centre de ma balle
- rayon de ma balle
- xmin, xmax, ymin, ymax de ma boite

- dX et dY le deplacement de ma balle tel qu'a l'instant d'apres ses nouvelles coords sont x+dX et y+dY (en l'absence de rebond sur la boite)

Le calcul du rebond sur des lignes infinies (le tour de l'ecran par exemple) ne pose pas trop de probleme. On a tous deja fait une petit boite qui rebondit sur les bords de l'ecran.

Mais la j'ai deux soucis: les bords de la boite ne sont pas infinis (donc c'est un poil plus galere pour savoir si il y a intersection entre le cercle et la boite. Mais c'est jouable assez facilement) et des fois la balle rebondit sur un coin et non un cote.

Le hic, ce sont les rebonds sur les coins.


En fait...... en l'ecrivant....... je realise que c'est mon unique difficulte. Comment calcule-ton le rebond d'un cercle sur un point ?

EDIT: ou le rebond d'une piece sur un clou plante.
Le pouvoir aux loutres !!!
(et aussi, vive le rose !)
mes petits programmes GP32: http://yaouank.gp32news.com

2

bah pour le rebond sur le coin sa f un rebond de cercle sur un point.
tas plusieurs choix:
-tu dit ke le point appartient a un plan incliné parallele a la diag de la boite
-sinon tu dit ke le point appartient a un plan oblique defini par les deux coté de la boite
langle entre le plan et une paroi de la boite est tjr constant!

voila voila je voit po bocoup d'autre choses possible et surtout logike!
au fait tu va faire koi?

sinon si c po klair dit le je peux reexpliker!
C'est pas l'trou,
mais l'tempax
sur ce j'vous lèche!!

3

La premiere solution j'ai compris.
La deuxieme, j'essaye...
Je vais essayer de programmer ca pour voir ce que ca donne.

C'etait pour porter un jeu avec une petite balle qui rebondit contre les murs d'un labyrinthe. Manque de pot c'est blinde de code utilisant les bibliotheques Qt et les commentaires sont en allemand. Total bonheur !
Le pouvoir aux loutres !!!
(et aussi, vive le rose !)
mes petits programmes GP32: http://yaouank.gp32news.com

4

J'ai teste en disant que c'etait un rebond contre une ligne inclinee a 45 degres. Ca rend moyen, quand la balle tombe d'en haut par exemple, elle rebondit vers la gauche quand elle rencontre la ligne. Alors que si c'etait un point, elle devrait repartir vers le haut.

Joli dessin sous paint
rebond.gif
Le pouvoir aux loutres !!!
(et aussi, vive le rose !)
mes petits programmes GP32: http://yaouank.gp32news.com

5

Je crois que c'est bon:
http://cermics.enpc.fr/~keriven/Info/
A la fin de l'enonce du TP4. Des formules sur le calcul de choc et la prediction de collision.
Je vais approfondir ca et l'adapter pour mon cas. Ca m'a l'air de marcher. Bientot un jeu gp32 dans la section "version beta" et un peu plus tard, la version finale.
Le pouvoir aux loutres !!!
(et aussi, vive le rose !)
mes petits programmes GP32: http://yaouank.gp32news.com

6

merci pour ton lien sa va faire grossir ma culture générale!
C'est pas l'trou,
mais l'tempax
sur ce j'vous lèche!!

7

C'est la page de TP de mon chef. J'avais completement oublie qu'il faisait ca dans ses cours.
Le pouvoir aux loutres !!!
(et aussi, vive le rose !)
mes petits programmes GP32: http://yaouank.gp32news.com

8

Mouais.... c'est pas encore ca mais j'ai tape une bonne partie du code et j'ai converti un paquet de donnees, reste plus qu'a modifier le code pour que ca marche correctement.

laby.gif

et le fxe du moment (aucun interet, la bille est a peine controlable.) http://cermics.enpc.fr/~lejeune/Z/laby.fxe
haut,bas,droite,gauche sont les seules touches reconnues pour le moment. Enfin reconnues....... on va dire qu'elles declenchent une action (=la balle qui rebondit mal et comme une folle).
Le pouvoir aux loutres !!!
(et aussi, vive le rose !)
mes petits programmes GP32: http://yaouank.gp32news.com