bien le bonjour,
Ce code tourne bien le rectangle mais le deforme complétement ( agrandissement verticale par 7 ou 8 )
ça me fait penser à une rotation non centrée en 0.
pour faire une rotation autour d'un point différent de l'origine du repère, il faut changer de repère pour se ramener à un repère dont l'origine sera centre de rotation.
Donc, tout d'abord, tu fais une translation de ton rectangle pour que son point B soit l'origine du nouveau repère, ensuite tu fais ta rotation avec la matrice de rotation qui va bien, puis tu refais une translation pour revenir à tes coordonnées réelles.
ce qui donne en terme matriciel ... ce que tu as fait 
par contre, ce qui me dérange, c'est
entier r_angle = ((angle *3.1415) /360); //conversion en radians
/180 ?
Aussi, le type entier n'est pas adapté pour stocker un angle an radians et des coordonnées pleines de sinus et cosinus.
Partager