Rotation.


Bilden visar :
Ett koordinatsystem, en enhetscirkel med radien 1.0 i origo samt en vektor med längden 1.0 (röd), en linje som markerar rotationsvinkeln (gul) samt den roterade vektorn (grön).

Till startsidan Föregående sida Innehåll

En vektorrotation motsvaras av att man multiplicerar en vektor eller ett komplext tal med en punkt på enhetscirkeln, en så kallad vektornormal. Resultatet av rotationen motsvaras av att man lägger till vinkeln för normalen till den vinkel ursprunsvektorn redan har.

För att genomföra det så krävs det att man vet hur man utför följande operationer :

Beräkna normalen¹
Komplex multiplikation

¹ Alternativt så kan man beräkna Cos och Sin för önskad vinkel och anväda det som rotationsnormal.

Själva rotationen utföres genom att dom reealla talen : [x, y] som vektorn z består av (alternativt p [x, y] eller något annat) multipliceras med dom två komponenter [o, p] som vektornormalen q består av.

Exempel :

Säg att vi vill skapa den nya vektorn z' (grön linje i bilden ovan) genom att rotera vektorn z (röd linje²) med normalen q (gul linje) :

: Först defineras dom ingående variablerna :
z' = [x', y']   : Resutatvektorn :
z  = [x, y]     : Ursprungsvektorn :
q  = [o, p]     : Normalvektorn / rotationsvinkeln :
: Sedan roteras ursprungsvektorn till resutatvektorn-
: av normalvektorn i en vektormultiplikation :
x' = o · x - p · y
y' = o · y + p · x

² Den operativa vektorn behöver inte vara av längden 1.0 bara för att den här är det utan kan vara av obestämd längd. Längden förändras ändå aldrig vid en rotation utan absolutvärdet förblir konstant. Det för att talet vi mutiplicerar vektorn med, normalen q alltid är av längden 1.0 : |q| = 1.0 och multiplikation med 1 ger som bekant ingen storleksförändring oavsett om vi använder komplexa tal eller "vanliga" reella tal : x · 1.0 = x.

Se även :

Vektorgeometri, Normal, Skalning, Föregående sida