Elementarne macierze transformacji

Skocz do: nawigacji, szukaj

Elementarne macierze transformacji to macierze opisujące zależność pomiędzy współrzędnymi wskazanego punktu przed i po transformacji. Przez transformację rozumiemy w tym przypadku translację (czyli przesunięcię) oraz rotację (czyli obrót). Macierze te mają znaczenie na przykład w grafice komputerowej.

Najczęściej mają one o jeden rząd więcej niż wymiar wektora współrzędnych, a dokładniej mają rząd równy wymiarowi współrzędnych jednorodnych. Podzielić je można na dwie grupy, które zostały przedstawione poniżej[1].

[edytuj] Elementarne macierze translacji

W tym przypadku trzy przesunięcia mogą zostać zapisane jako jedna macierz, ponieważ różnią się tylko ostatnią kolumną. Tran( a, b, c ) = \begin{bmatrix} 1 & 0 & 0 & a \\ 0 & 1 & 0 & b \\ 0 & 0 & 1 & c \\ 0 & 0 & 0 & 1 \end{bmatrix}, gdzie:

a, b, c - przesunięcie wzdłuż osi X, Y oraz Z

Można także rozbić tą macierz na 3 osobne: TranX(a), TranY(b) oraz TranZ(c).

[edytuj] Elementarne macierze rotacji

Obroty przedstawiane są w różny sposób, dlatego też elementarne macierze rotacji muszą być przedstawiane oddzielnie.

Dla osi X: 
RotX(\alpha)=
\begin{bmatrix}
  1 & 0 & 0 & 0 \\
  0 & \cos\alpha & -\sin\alpha & 0 \\
  0 & \sin\alpha & \cos\alpha & 0 \\
  0 & 0 & 0 & 1 \\
\end{bmatrix}

Dla osi Y: 
RotY(\beta)=
\begin{bmatrix}
  \cos\beta & 0 & \sin\beta & 0 \\
  0 & 1 & 0 & 0 \\
  -\sin\beta & 0 & \cos\beta & 0 \\
  0 & 0 & 0 & 1 \\
\end{bmatrix}

Dla osi Z: 
RotZ(\gamma)=
\begin{bmatrix}
  \cos\gamma & -\sin\gamma & 0 & 0 \\
  \sin\gamma & \cos\gamma & 0 & 0 \\
  0 & 0 & 1 & 0 \\
  0 & 0 & 0 & 1 \\
\end{bmatrix}

[edytuj] Składanie macierzy rotacji

Gdy są dane dwie macierze przekształceń:

  1. Rot01 - macierz przekształcająca zerowy układ współrzędnych w układ o indeksie pierwszym.
  2. Rot12 - macierz przekształcająca układ pierwszy w układ drugi.

Obydwie macierze można złożyć w jedną macierz przekształcającą układ zerowy w układ drugi.
Rot02=Rot01*Rot12

Macierze te oraz ich iloczyn należy do specjalnej grupy euklidesowej SE(3).

  1. przyjęte zostało, że za pomocą tych macierzy opisywana będzie przestrzeń euklidesowa