En gros j'essaye de faire simplement une boule qui rebondit sur les bords de mon canvas.
Donc, je dessine ma boule, je lui donne une position x, y et un rayon de 10.
Ensuite je lui donne une vitesse de 3.
Comme j'utilise requestAnimationFrame, qui rafraichit environ 60x par seconde, on peut dire que ma boule va bouger de 3 x 60 = 180px par seconde environ.
Pour détecter la collision avec le bord droit du canvas j'utilise la condition
si la position X de la boule+rayon de la boule >= largeur du canvas
j'inverse la vitesse, qui passe de 3 à -3, donc la balle rebondit.
Vous suivez ?
Donc mon problème est le suivant : Si je place la balle a la position de départ x = 2 et que mon canvas fait 600 pixels de largeur.
Comme la boule bouge de 3px par 3px et à un rayon de 10px, la balle va arriver à 589 ... et seulement à 592 elle va rebondir. ALORS qu'elle devrait rebondir a 590.
ça fait une semaine que j'essaye tous les moyens possibles pour corriger ça, calculer le dépassement, symétrie orthogonale, coordonnées polaires, RIEN NE MARCHE J'EN PEUX PLUS
Quelqu'un peut m'aider ?
le but est que la balle rebondisse sur le mur a la position 590, et qu'elle que soit sa vitesse ou sa position de départ.