Bonjour à tous ,
j'ai une petite question sur un truc sur lequel je galère :/.
J'essaie de faire un jeu 2D et j'aurais besoin de faire une rotation d'un point (x,y) autour d'un point (a,b).
Après quelques recherches, j'ai vu que je pouvais faire :
Mais apparemment, cette rotation se fait par rapport à la base de mon repère (0,0). Moi j'aimerais la faire autour de (a,b) mais je ne sais pas comment intégrer ces données aux équations.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 int angle = -90; float x = pointABouger.getX(); float y = pointABouger.getY(); float a = pointDeRotation.getX(); float b = pointDeRotation.getY(); float xBis = (float) ((x) * Math.cos(angle)) - (float) ((y) * Math.sin(angle)); float yBis = (float) ((x) * Math.sin(angle)) + (float) ((y) * Math.cos(angle));
Vous avez une idée ? Merci
Partager