Bonjour,
dans un tuto, on montre comment obtenir les nouveaux x,y d'un point après une rotation dans un cercle de rayon 1.
Mais les 2 exemples de calculs sont différents, le premier montre les points X,Y sur un cercle, et dit : https://webglfundamentals.org/webgl/lessons/webgl-2d-rotation.html
rotatedX = a_position.x * u_rotation.y + a_position.y * u_rotation.x;
rotatedY = a_position.y * u_rotation.y - a_position.x * u_rotation.x;
soit :
newX = x * pointSurCercleY + y * pointSurCercleX
newY= y * pointSurCercleY - x * pointSurCercleX
pointSurCercleY étant sin(angle)
et pointSurCercleX étant cos(angle).
Mais le 2e exemple dit : (paragraphe rotation) https://webglfundamentals.org/webgl/lessons/webgl-2d-matrices.html
newX = x * c + y * s;
newY = x * -s + y * c;
donc on a inversé les cos et sin par rapport au 1er exemple pour avoir newX et newY.
dans les 2 exemples, il y a du code qui fonctionne. Alors que les 2 calculs sont différents, je ne comprends pas. Y a t il une erreur? Lequel est le bon? On trouve pas les mêmes valeurs quand on calcule les 2 newX ou newY.
