Macierz obrotu

Macierz obrotu – macierz opisująca obrót wektora w przestrzeni euklidesowej. Obrót w n {\displaystyle n} -wymiarowej przestrzeni euklidesowej jest opisany przez macierz kwadratową n × n . {\displaystyle n\times n.} W wyniku mnożenia macierzy obrotu przez wektor otrzymuje się wektor obrócony.

W 2 wymiarach

Obrót wektora przeciwnie do obrotu wskazówek zegara o kąt θ . {\displaystyle \theta .} Wektor jest początkowo równoległy do osi x {\displaystyle x}

W dwóch wymiarach każda macierz obrotu ma postać

R ( θ ) = [ cos θ sin θ sin θ cos θ ] . {\displaystyle R(\theta )={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}.}

Macierz ta obraca wektory kolumnowe następująco

[ x y ] = [ cos θ sin θ sin θ cos θ ] [ x y ] . {\displaystyle {\begin{bmatrix}x'\\y'\end{bmatrix}}={\begin{bmatrix}\cos \theta &-\sin \theta \\\sin \theta &\cos \theta \end{bmatrix}}{\begin{bmatrix}x\\y\end{bmatrix}}.}

Tak więc współrzędne ( x , y ) {\displaystyle (x',y')} punktu ( x , y ) {\displaystyle (x,y)} po obrocie mają wartości

x = x cos θ y sin θ , {\displaystyle x'=x\cos \theta -y\sin \theta ,}
y = x sin θ + y cos θ . {\displaystyle y'=x\sin \theta +y\cos \theta .}

Obrót jest przeciwny do obrotu wskazówek zegara jeżeli kąt θ {\displaystyle \theta } jest dodatni (np. 90°), zaś zgodny ze wskazówkami zegara, jeżeli kąt θ {\displaystyle \theta } jest ujemny (np. −90°). Dlatego macierz obrotu zgodnego ze wskazówkami zegara ma postać

R ( θ ) = [ cos θ sin θ sin θ cos θ ] . {\displaystyle R(-\theta )={\begin{bmatrix}\cos \theta &\sin \theta \\-\sin \theta &\cos \theta \end{bmatrix}}.}

Obrót w dwóch wymiarach ma szczególną własność przemienności, tak że nie ma znaczenia kolejność wykonywanych obrotów (macierze obrotu są też przemienne).

Uwaga:

Alternatywna konwencja używa obrotu osi układu współrzędnych: wtedy pokazane tu macierze obrotu R ( θ ) {\displaystyle R(\theta )} reprezentują obrót osi zgodnie ze wskazówkami zegara o kąt θ . {\displaystyle \theta .}

W 3 wymiarach – obroty podstawowe

Obrót podstawowy (zwany też obrotem elementarnym) jest to obrót wokół dowolnej osi układu współrzędnych. Poniżej zapisane trzy macierze obrotów elementarnych obracają wektory o kąt θ {\displaystyle \theta } wokół osi x , {\displaystyle x,} y {\displaystyle y} lub z {\displaystyle z} w trzech wymiarach zgodnie z regułą prawej dłoni. (Te same macierze reprezentują też obrót osi układu przeciwnie do obrotu wynikającego z reguły prawej dłoni, czyli „zgodnie ze wskazówkami zegara”).

R x ( θ ) = [ 1 0 0 0 cos θ sin θ 0 sin θ cos θ ] R y ( θ ) = [ cos θ 0 sin θ 0 1 0 sin θ 0 cos θ ] R z ( θ ) = [ cos θ sin θ 0 sin θ cos θ 0 0 0 1 ] {\displaystyle {\begin{aligned}R_{x}(\theta )&={\begin{bmatrix}1&0&0\\0&\cos \theta &-\sin \theta \\[3pt]0&\sin \theta &\cos \theta \\[3pt]\end{bmatrix}}\\[6pt]R_{y}(\theta )&={\begin{bmatrix}\cos \theta &0&\sin \theta \\[3pt]0&1&0\\[3pt]-\sin \theta &0&\cos \theta \end{bmatrix}}\\[6pt]R_{z}(\theta )&={\begin{bmatrix}\cos \theta &-\sin \theta &0\\[3pt]\sin \theta &\cos \theta &0\\[3pt]0&0&1\end{bmatrix}}\end{aligned}}}

Każda z powyższych macierzy obraca wektory kolumnowe przeciwnie do ruchu wskazówek zegara jeżeli: 1) oś obrotu kieruje się w stronę obserwatora; 2) układ współrzędnych jest prawoskrętny; 3) kąt obrotu θ {\displaystyle \theta } jest dodatni.

Np. macierz R z {\displaystyle R_{z}} dla kąta θ = 90 {\displaystyle \theta =90^{\circ }} obraca wektor ustawiony początkowo zgodnie z osią x {\displaystyle x} na kierunek zgodny z osią y ; {\displaystyle y;} można to łatwo sprawdzić mnożąc macierz R z {\displaystyle R_{z}} przez wektor (1,0,0):

R z ( 90 ) [ 1 0 0 ] = [ cos 90 sin 90 0 sin 90 cos 90 0 0 0 1 ] [ 1 0 0 ] = [ 0 1 0 1 0 0 0 0 1 ] [ 1 0 0 ] = [ 0 1 0 ] . {\displaystyle R_{z}(90^{\circ }){\begin{bmatrix}1\\0\\0\end{bmatrix}}={\begin{bmatrix}\cos 90^{\circ }&-\sin 90^{\circ }&0\\\sin 90^{\circ }&\cos 90^{\circ }&0\\0&0&1\end{bmatrix}}{\begin{bmatrix}1\\0\\0\end{bmatrix}}={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}}{\begin{bmatrix}1\\0\\0\end{bmatrix}}={\begin{bmatrix}0\\1\\0\end{bmatrix}}.}

W 3 wymiarach – dowolne obroty

Położenia trzech osi obrotu

(1) Obrót wokół środka ciężkości bryły

W środku ciężkości bryły (np. samolotu) umieszczamy 3 nieruchome względem Ziemi osie x , y , z . {\displaystyle x,y,z.} Bryła dokonuje obrotu wokół tych osi (por. rysunek), przy czym kąty roll – pitch – yaw wynoszą odpowiednio

α roll {\displaystyle \alpha _{\text{roll}}} – kąt obrotu wokół osi x , {\displaystyle x,}
β pitch {\displaystyle \beta _{\text{pitch}}} – kąt obrotu wokół osi y , {\displaystyle y,}
γ yaw {\displaystyle \gamma _{\text{yaw}}} – kąt obrotu wokół osi z . {\displaystyle z.}

Macierz całego obrotu oblicza się mnożąc macierze obrotu wokół kolejnych osi, tj.

R = R z ( γ yaw ) R y ( β pitch ) R x ( α roll ) . {\displaystyle R=R_{z}(\gamma _{\text{yaw}})\,R_{y}(\beta _{\text{pitch}})\,R_{x}(\alpha _{\text{roll}}).}

Jeśli wynikową macierz R {\displaystyle R} pomnoży się z prawej strony przez wektor kolumnowy, przedstawiający np. wektor łączący pas pilota z głową, to w wyniku otrzyma się wektor opisujący położenie pilota względem Ziemi po obrocie.

(2) Podobnie, macierz

R = R z ( γ ) R y ( β ) R x ( α ) {\displaystyle R=R_{z}(\gamma )\,R_{y}(\beta )\,R_{x}(\alpha )}

przedstawia obrót wokół osi y , {\displaystyle y,} x , {\displaystyle x,} z zadany przez kąty Eulera α , {\displaystyle \alpha ,} β , {\displaystyle \beta ,} γ . {\displaystyle \gamma .}

Własności macierzy obrotu n {\displaystyle n} -wymiarach

Rozważymy tu obroty w dowolnej, n {\displaystyle n} -wymiarowej przestrzeni euklidesowej. Obrót jest przykładem izometrii, tj. transformacji, która mimo że przemieszcza punkty przestrzeni, to nie zmienia odległości między nimi. Przy tym obroty odróżniają od innych izometrii dwie szczególne własności:

  1. zostawiają przynajmniej jeden punkt nie zmieniony,
  2. pozostawiają skrętność układu nie zmienioną.

Inaczej jest w przypadku innych izometrii: translacja przesuwa wszystkie punkty, odbicie zmienia układ lewoskrętny na prawoskrętny i odwrotnie, zaś odbicie z przemieszczeniem dokonuje obu zmian.

Tw. 1. Macierz obrotu jest macierzą ortogonalną o wyznaczniku równym 1.

Uzasadnienie:

1) Jeżeli punktem obrotu jest początek układu współrzędnych O(0,0), to każdy punkt P można określić za pomocą wektora łączącego punkt O z punktem P. Można wtedy rozważać działania na takich wektorach (które tworzą przestrzeń wektorową), zamiast rozważać działania na punktach. Załóżmy, że ( p 1 , , p n ) {\displaystyle (p_{1},\dots ,p_{n})} są współrzędnymi wektora p łączącego punkt O z punktem P. Jeżeli wybierzemy ortonormalną bazę w przestrzeni, to kwadrat długości wektora p (równy odległości OP) wyznaczamy za pomocą twierdzenia Pitagorasa

p 2 = r = 1 n p r 2 . {\displaystyle \|\mathbf {p} \|^{2}=\sum _{r=1}^{n}p_{r}^{2}.}

Można to wyrazić jako też mnożenie macierzowe

p 2 = [ p 1 p n ] [ p 1 p n ] = p T p . {\displaystyle \|\mathbf {p} \|^{2}={\begin{bmatrix}p_{1}\ldots p_{n}\end{bmatrix}}{\begin{bmatrix}p_{1}\\\vdots \\p_{n}\end{bmatrix}}=\mathbf {p} ^{T}\mathbf {p} .}

Nałóżmy warunek, że obrót (jak i każda inna izometria) nie zmienia odległości punktów, tzn.

p T p = ( R p ) T ( R p ) . {\displaystyle \mathbf {p} ^{T}\mathbf {p} =(R\mathbf {p} )^{T}(R\mathbf {p} ).}

Ponieważ

( R p ) T = p T R T , {\displaystyle (R\mathbf {p} )^{T}=\mathbf {p} ^{T}R^{T},}

to otrzymamy:

p T p = p T ( R T R ) p . {\displaystyle {\begin{aligned}\mathbf {p} ^{T}\mathbf {p} =\mathbf {p} ^{T}(R^{T}R)\mathbf {p} .\end{aligned}}}

Powyższe równanie musi być prawdziwe dla wszystkich wektorów p, stąd wynika, że

R T R = I , {\displaystyle R^{T}R=I,}

co oznacza, że macierz odwrotna do macierzy obrotu jest macierzą do niej transponowaną

R 1 = R T . {\displaystyle R^{-1}=R^{T}.}

Stąd wynika, że wyznacznik macierzy R {\displaystyle R} jest równy ± 1. {\displaystyle \pm 1.}

Wynika z powyższego, że macierz obrotu R {\displaystyle R} jest macierzą ortogonalną. Własność ta jest słuszna dla dowolnej macierzy odpowiadającej izometrii.

2) W przypadku obrotu mamy dodatkowo warunek, że obroty zachowują skrętność układu współrzędnych (gdyż nie mogą zmienić kolejności osi układu), co oznacza że wyznacznik macierzy R {\displaystyle R} jest równy +1, tj.

det R = + 1 , {\displaystyle \det R=+1,}

Macierz obrotu jest więc specjalną macierzą ortogonalną (tzn. macierzą ortogonalną o wyznaczniku równym 1).

Tw. 2. Jeżeli macierz n × n {\displaystyle n\times n} ma wyznacznik równy jeden i jest ortogonalna, to macierz ta jest macierzą obrotu.

Wniosek:

Z Tw. 1 i Tw. 2 wynika, że istnieje wzajemnie jednoznaczna odpowiedniość między specjalnymi macierzami ortogonalnymi a samymi obrotami.

Grupa macierzy obrotu SO(n)

Tw. 1. Macierze obrotu n × n {\displaystyle n\times n} tworzą grupę macierzy – specjalną grupę ortogonalną S O ( n ) . {\displaystyle \mathrm {SO} (n).}

Np. macierze 2×2 tworzą grupę SO(2), zaś macierze 3×3 tworzą grupę SO(3).

Uzasadnienie:

1) Mnożenie macierzy obrotu jest działaniem w zbiorze tych macierzy, tzn. daje w wyniku macierz obrotu. Niech R = R 1 R 2 , {\displaystyle R=R_{1}R_{2},} to wtedy mamy:

( R 1 R 2 ) T ( R 1 R 2 ) = R 2 T ( R 1 T R 1 ) R 2 = I , det ( R 1 R 2 ) = ( det R 1 ) ( det R 2 ) = + 1. {\displaystyle {\begin{aligned}(R_{1}R_{2})^{T}(R_{1}R_{2})&=R_{2}^{T}(R_{1}^{T}R_{1})R_{2}=I,\\\det(R_{1}R_{2})&=(\det R_{1})(\det R_{2})=+1.\end{aligned}}}

2) Element odwrotny: Każda macierz obrotu ma macierz odwrotną, która też jest macierzą obrotu. Jest to macierz transponowana do danej macierzy

R 1 = R T , {\displaystyle R^{-1}=R^{T},}

oraz

det R T = det R = + 1. {\displaystyle \det R^{T}=\det R=+1.}

3) Element neutralny: Macierz jednostkowa n×n jest macierzą obrotu o kąt 0°.

4) Mnożenie macierzy jest łączne.

Tw. 2. Dla n {\displaystyle n} większego niż 2, mnożenie macierzy obrotu n × n {\displaystyle n\times n} nie jest przemienne – oznacza to, że grupa SO(n) jest nieabelowa dla n > 2. {\displaystyle n>2.} Np. weźmy

R 1 = [ 0 1 0 1 0 0 0 0 1 ] , R 2 = [ 0 0 1 0 1 0 1 0 0 ] . {\displaystyle {\begin{aligned}R_{1}&={\begin{bmatrix}0&-1&0\\1&0&0\\0&0&1\end{bmatrix}},&R_{2}&={\begin{bmatrix}0&0&1\\0&1&0\\-1&0&0\end{bmatrix}}.\end{aligned}}}

Wtedy mamy

R 1 R 2 = [ 0 1 0 0 0 1 1 0 0 ] R 2 R 1 = [ 0 0 1 1 0 0 0 1 0 ] . {\displaystyle R_{1}R_{2}={\begin{bmatrix}0&-1&0\\0&0&1\\-1&0&0\end{bmatrix}}\;\neq \;R_{2}R_{1}={\begin{bmatrix}0&0&1\\1&0&0\\0&1&0\end{bmatrix}}.}

Tw. 3. Grupa macierzy obrotu n × n {\displaystyle n\times n} jest izomorficzna z grupą obrotów w przestrzeni n {\displaystyle n} -wymiarowej.

Oznacza to, że macierz obrotu odpowiada dokładnie fizycznie wykonanemu obrotowi wokół osi o odpowiednio dobranym kierunku.

Obroty infinitezymalne w 3D

Macierze A {\displaystyle A} algebry Liego so ( 3 ) {\displaystyle {\text{so}}(3)} nie są macierzami obrotu – są one antysymetryczne i jako takie pochodnymi macierzy obrotu, obliczonymi dla infinitezymalnego obrotu o kąt d θ {\displaystyle d\theta } od położenia θ = 0. {\displaystyle \theta =0.} Faktyczna macierz obrotu o kąt infinitezymalny d θ {\displaystyle d\theta } ma postać

d R I + A d θ , {\displaystyle dR\equiv I+A\,d\theta ,}

gdzie I {\displaystyle I} jest macierzą jednostkową 3 × 3. Np. jeżeli macierz obrotu o kąt infinitezymalny wokół osi x {\displaystyle x} ma postać

d R x I + A d θ = [ 1 0 0 0 1 d θ 0 d θ 1 ] . {\displaystyle dR_{x}\equiv I+Ad\theta =\left[{\begin{smallmatrix}1&0&0\\0&1&-d\theta \\0&d\theta &1\end{smallmatrix}}\right].}

Powyższą macierz otrzymamy z macierzy obrotu R x {\displaystyle R_{x}} stosując przybliżenia: sin d θ = d θ , {\displaystyle \sin d\theta =d\theta ,} cos d θ = 1 , {\displaystyle \cos d\theta =1,} tj. pomijając wyrazy rzędu drugiego i wyższe.

Tw.

Macierze infinitezymalnego obrotu są ortogonalne i przemienne – w odróżnieniu od macierzy obrotu o kąt skończony.

Dowód:

1) Rozważmy macierz

d R x = [ 1 0 0 0 1 d θ 0 d θ 1 ] . {\displaystyle dR_{x}={\begin{bmatrix}1&0&0\\0&1&-d\theta \\0&d\theta &1\end{bmatrix}}.}

Macierz ta jest ortogonalna, gdyż

d R x T d R x = [ 1 0 0 0 1 + d θ 2 0 0 0 1 + d θ 2 ] {\displaystyle dR_{x}^{T}\,dR_{x}={\begin{bmatrix}1&0&0\\0&1+d\theta ^{2}&0\\0&0&1+d\theta ^{2}\end{bmatrix}}}

– różni się więc od macierzy jednostkowej tylko o pomijalnie małe wyrazy 2-go rzędu d θ 2 . {\displaystyle d\theta ^{2}.} A więc z dokładnością do wyrazów 1-go rzędu macierze infinitezymalnego obrotu są ortogonalne, cnd.

2) Kwadrat macierzy d R x , {\displaystyle dR_{x},} tj.

d R x 2 = [ 1 0 0 0 1 d θ 2 2 d θ 0 2 d θ 1 d θ 2 ] . {\displaystyle dR_{x}^{2}={\begin{bmatrix}1&0&0\\0&1-d\theta ^{2}&-2d\theta \\0&2d\theta &1-d\theta ^{2}\end{bmatrix}}.}

z dokładnością do wyrazów 1-go rzędu ma tę własność, że kąt podwaja się.

3) Macierz infinitezymanego obrotu wokół osi z ma postać

d R y = [ 1 0 d ϕ 0 1 0 d ϕ 0 1 ] . {\displaystyle dR_{y}={\begin{bmatrix}1&0&d\phi \\0&1&0\\-d\phi &0&1\end{bmatrix}}.}

Porównując iloczyny infinitezymalnych obrotów mamy:

d R x d R y = [ 1 0 d ϕ d θ d ϕ 1 d θ d ϕ d θ 1 ] d R y d R x = [ 1 d θ d ϕ d ϕ 0 1 d θ d ϕ d θ 1 ] . {\displaystyle {\begin{aligned}dR_{x}\,dR_{y}&={\begin{bmatrix}1&0&d\phi \\d\theta \,d\phi &1&-d\theta \\-d\phi &d\theta &1\end{bmatrix}}\\dR_{y}\,dR_{x}&={\begin{bmatrix}1&d\theta \,d\phi &d\phi \\0&1&-d\theta \\-d\phi &d\theta &1\end{bmatrix}}.\end{aligned}}}

Ponieważ d θ d ϕ {\displaystyle d\theta d\phi } jest 2-go rzędu, to można pominąć ten wyraz. Widać, że z dokładnością do wyrazów pierwszego rzędu mnożenie macierzy infinitezymalnego obrotu jest przemienne, tj.

d R x d R y = d R y d R x , {\displaystyle dR_{x}\,dR_{y}=dR_{y}\,dR_{x},} cnd.

Składając infinitezymalne obroty można otrzymać obroty skończone (por. Grupa obrotów).

Zobacz też

Bibliografia

  • H. Guściora, M. Sadowski, Repetytorium z algebry liniowej, Wydawnictwo Naukowe PWN, Warszawa 1997.
  • T. Trajdos, Matematyka cz. II, Podręczniki akademickie, Warszawa 1993.

Linki zewnętrzne

  • Rotation. Michiel Hazewinkel (red.). w: Encyclopaedia of Mathematics Kluwer Academic Publishers, 2001. ISBN 978-1556080104. (ang.).
  • Eric W.E.W. Weisstein Eric W.E.W., Rotation Matrix, [w:] MathWorld, Wolfram Research [dostęp 2020-12-12]  (ang.).
  • Macierze obrotu na stronie MathPages
  • Parametryzacja SOn(R) za pomocą uogólnionych kątów Eulera
  • Obrót wokół dowolnego punktu
  • Obroty z wykorzystaniem kwaternionów