Ho un vettore euclideo a
seduto alle coordinate (0, 1)
. Voglio ruotare a
di 90 gradi (in senso orario) intorno all'origine: (0, 0)
.Rotazioni vettoriali 2D euclidee
Se ho una corretta comprensione di come dovrebbe funzionare, le coordinate risultanti (x, y) dopo la rotazione devono essere (1, 0)
. Se dovessi ruotarlo di 45 gradi (sempre in senso orario), invece, mi sarei aspettato che le coordinate risultanti fossero (0.707, 0.707)
.
theta = deg2rad(angle);
cs = cos(theta);
sn = sin(theta);
x = x * cs - y * sn;
y = x * sn + y * cs;
utilizzando il codice di cui sopra, con un valore angle
di 90,0 gradi, le coordinate risultanti sono: (-1, 1)
. E io sono così dannatamente confuso. Gli esempi visti nei seguenti link rappresentano la stessa formula mostrata sopra sicuramente?
Cosa ho fatto di sbagliato? Oppure ho frainteso come deve essere ruotato un vettore?
Quali sono i tipi di tutte le variabili? –
raddoppia, ma la risposta è stata abbastanza semplice, grazie a Caspar. – dcousens
Inoltre, non è questo in senso antiorario? –