Podręcznik Grafika komputerowa i wizualizacja
Rozdział 4. PRZEKSZTAŁCENIA GEOMETRYCZNE
4.6. Przykład obrotu punktu wokół dowolnej prostej
Dana jest prosta
Na prostej tej znajdują się dwa punkty T1 [x0,y0,z0] i T2 [x0+A,y0+B,z0+C], wektor określa zorientowanie prostej.
Zadanie: obrócić dowolny punkt P wokół prostej l o kąt. (rys.4.24).
Rys.4.24. Zadanie: obrócić punkt wokół dowolnej prostej.
Zestaw podstawowych operacji obejmował obroty, ale tylko wokół osi układu współrzędnych. Obrót wokół dowolnej osi musi być zatem zrealizowany jako złożenie operacji. Można przyjąć założenie, że generalnie celem operacji wstępnych jest takie przekształcenie przestrzeni, aby zadana oś obrotu (prosta l na rysunku) pokryła się z wybraną osią układu współrzędnych. Przy czym przyjęty zwrot osi obrotu powinien być zgodny ze zwrotem osi okładu. Takie warunki pozwolą obrót o kąt wokół zadanej osi zrealizować bezpośrednio jako obrót o kąt wokół osi układu.
Zadanie można rozwiązać na wiele sposobów. Przyjęto następujący zestaw operacji:
- Przesunięcie, aby punkt T1 znalazł się w początku układu współrzędnych.
- Obrót wokół osi OX.
- Obrót wokół osi OY. Obroty (etap 2. i 3. ) zapewniają, że zadana oś obrotu (prosta l) pokryje się (z uwzględnieniem zwrotów) z osią OX układu współrzędnych.
- Realizacja zadanego obrotu o kąt wokół osi OX.
- Obrót będący operacją odwrotną do operacji 3.
- Obrót będący operacją odwrotną do operacji 2.
- Przesunięcie odwrotne do przesunięcia 1.
Etap 1. Translacja o wektor [-x0, -yo, -zo]
Rys.4.25 wynik pierwszej operacji – przesunięcia. Zadana oś obrotu zawiera teraz przekątną prostopadłościanu o bokach A, B, C. Ułatwi to definicje kątów obrotu.
Etap 2. Obrót wokół oso OX i kąt ϕX taki, że:
Rys.4.26 Po zrealizowaniu obrotu wokół OX prosta l znalazła się na płaszczyźnie XOZ.
Etap 3. Obrót wokół osi 0Y o kąt kąt ϕY taki że:
Rys.4.27 Po zrealizowaniu obrotu wokół OY prosta l pokryje się z osią OX układu współrzędnych. Jednocześnie odpowiednio dobrane operacje zapewniły zgodność zwrotów obu osi.
Etap 4. Obrót wokół osi OX o kąt
g
Rys.4.28 Teraz można wreszcie wykonać obrót o kąt wokół prostej l co, dzięki odpowiednim operacjom wstępnym, odpowiada obrotowi o kąt wokół osi OX układu współrzędnych.
Następnymi etapami (5., 6., 7) będą operacje przeciwne do operacji 1., 2., 3. realizowane w odwrotnej kolejności.
Macierz przekształcenia całkowitego jest iloczynem macierzy opisujących przekształcenia odpowiadające kolejnym przedstawionym etapom.
A zatem macierz przekształcenia całkowitego jest opisana następującą zależnością:
MC = M1-1 · M2-1 · M3-1 · M4 · M3 · M2 · M1