Obracanie bryły/punktu wokół osi

Obracanie punktu ( w tym bryły w końcu bryła to zbiór połączonych punktów 😉 ) opiera się na pomnożeniu pozycji punktu którą przedstawiamy jako wektor przez macierz obrotu. Macierz obrotu dla każdej osi jest inna .
Dla osi X
\left[\begin{array}{ccc}1&0&0\\0&\cos{\alpha_x}&-\sin{\alpha_x}\\0&\sin{\alpha_x}&\cos{\alpha_x}\end{array}\right]
Dla osi Y
\left[\begin{array}{ccc}\cos{\alpha_y}&0&\sin{\alpha_y}\\0&1&0\\-\sin{\alpha_y}&0&\cos{\alpha_y}\end{array}\right]
Dla osi Z
\left[\begin{array}{ccc}\cos{\alpha_z}&-\sin{\alpha_z}&0\\\sin{\alpha_z}&\cos{\alpha_z}&0\\0&0&1\end{array}\right]

Przykład chcemy obrócić punkt wokół osi Z o pewien kąt \alpha

x_n = x_o\cos{\alpha_z} - y_o\sin{\alpha_z}
y_n = x_o\sin{\alpha_z} + y_o\cos{\alpha_z}
z_n = z_o

Przedrostki n i r oznaczają odpowiednio new , old chodzi oczywiście o nową i starą pozycje

jeśli ktoś nie wie skąd się wzięło 3 równanie czyli
z_n = z_o
to powinno ono wyglądać
z_n = x_o * 0 + y_o * 0 + z_o * 1
co skracamy właśnie do
z_n = z_o

Jeśli chcemy obrócić punkt w kilku osiach na raz to mnożymy macierze obrotu dla tych osi przez siebie macierz którą otrzymamy wykorzystujemy do obliczeń identycznych jak podałem wcześniej 😉

Dodaj komentarz