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.