tanszek:oktatas:muszaki_informatika:transzformacio
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
tanszek:oktatas:muszaki_informatika:transzformacio [2024/03/16 21:17] – superuser | tanszek:oktatas:muszaki_informatika:transzformacio [2024/03/26 19:11] (current) – [A forgatási mátrixok] knehez | ||
---|---|---|---|
Line 152: | Line 152: | ||
\end{array} | \end{array} | ||
\right]$$ | \right]$$ | ||
- | {{: | ||
+ | **Példa:** | ||
+ | |||
+ | Tegyük fel, hogy szeretnénk 90 fokkal az óramutató járásával megegyezően elforgatni egy pontot (például $P(2,3)$) az $(1,1)$ pont körül. Ehhez az előbb leírt transzformációs mátrixokat fogjuk használni. Az egyszerűség kedvéért a példában szereplő értékeket közvetlenül beillesztjük a mátrixokba. | ||
+ | |||
+ | **Előkészítés eltolással** hogy a forgatási középpont $(-1, -1)$ legyen, azaz eltoljuk a pontot úgy, hogy a forgatási középpont az origóba kerüljön: | ||
+ | |||
+ | $$ | ||
+ | T_{eltolás} = \left[ \begin{array}{ccc} 1 & 0 & -1 \\ 0 & 1 & -1 \\ 0 & 0 & 1 \end{array} \right] | ||
+ | $$ | ||
+ | |||
+ | **90 fokos forgatás** ($T_{forgatás}$), | ||
+ | |||
+ | $$ | ||
+ | T_{forgatás} = \left[ \begin{array}{ccc} 0 & 1 & 0 \\ -1 & 0 & 0 \\ 0 & 0 & 1 \end{array} \right] | ||
+ | $$ | ||
+ | |||
+ | **Visszatolás** ($T_{visszatolás}$), | ||
+ | |||
+ | $$ | ||
+ | T_{visszatolás} = \left[ \begin{array}{ccc} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 1 \end{array} \right] | ||
+ | $$ | ||
+ | |||
+ | A teljes transzformációs mátrix ($T_{teljes}$) kiszámítása: | ||
+ | |||
+ | $$ | ||
+ | T_{teljes} = T_{visszatolás} * T_{forgatás} * T_{eltolás} | ||
+ | $$ | ||
+ | |||
+ | A számítás eredménye: | ||
+ | |||
+ | $$ | ||
+ | T_{teljes} = \left[ \begin{array}{ccc} 0 & 1 & 0 \\ -1 & 0 & 2 \\ 0 & 0 & 1 \end{array} \right] | ||
+ | $$ | ||
+ | |||
+ | Most alkalmazzuk ezt a mátrixot a $P(2,3)$ pontra. A $P$ pontot kiterjesztjük egy homogén koordinátájú ponttá, így $P(2,3,1)$ lesz: | ||
+ | |||
+ | $$ | ||
+ | \left[ \begin{array}{ccc} 0 & 1 & 0 \\ -1 & 0 & 2 \\ 0 & 0 & 1 \end{array} \right] * \left[ \begin{array}{c} 2 \\ 3 \\ 1 \end{array} \right] = \left[ \begin{array}{c} 3 \\ -2 + 2 \\ 1 \end{array} \right] = \left[ \begin{array}{c} 3 \\ 0 \\ 1 \end{array} \right] | ||
+ | $$ | ||
+ | |||
+ | Tehát, az eredeti $P(2,3)$ pont 90 fokkal való elforgatása az $(1,1)$ pont körül az új $(3,0)$ pontba transzformálja azt. | ||
+ | |||
+ | ===== A forgatási mátrixok ===== | ||
+ | |||
+ | A 3D-s forgatásokat forgatási mátrixokkal írhatjuk le. Ezek a mátrixok mutatják, hogyan változik egy pont koordinátája a forgatás során. | ||
+ | |||
+ | ==== X tengely körüli forgatás ==== | ||
+ | |||
+ | A következő képlet az X tengely körüli forgatási mátrixot mutatja, ahol \( \theta \) a forgatás szöge: (a forgatás iránya az óramutató járásával ellentétes) | ||
+ | |||
+ | $$ | ||
+ | R_x(\theta) = \begin{pmatrix} | ||
+ | 1 & 0 & 0 \\ | ||
+ | 0 & \cos(\theta) & -\sin(\theta) \\ | ||
+ | 0 & \sin(\theta) & \cos(\theta) | ||
+ | \end{pmatrix} | ||
+ | $$ | ||
+ | |||
+ | ==== Y tengely körüli forgatás ==== | ||
+ | |||
+ | A Y tengely körüli forgatás esetén a forgatási mátrix: | ||
+ | |||
+ | $$ | ||
+ | R_y(\theta) = \begin{pmatrix} | ||
+ | \cos(\theta) & 0 & \sin(\theta) \\ | ||
+ | 0 & 1 & 0 \\ | ||
+ | -\sin(\theta) & 0 & \cos(\theta) | ||
+ | \end{pmatrix} | ||
+ | $$ | ||
+ | |||
+ | ==== Z tengely körüli forgatás ==== | ||
+ | |||
+ | Végül a Z tengely körüli forgatás mátrixa: | ||
+ | |||
+ | $$ | ||
+ | R_z(\theta) = \begin{pmatrix} | ||
+ | \cos(\theta) & -\sin(\theta) & 0 \\ | ||
+ | \sin(\theta) & \cos(\theta) & 0 \\ | ||
+ | 0 & 0 & 1 | ||
+ | \end{pmatrix} | ||
+ | $$ | ||
tanszek/oktatas/muszaki_informatika/transzformacio.1710623878.txt.gz · Last modified: 2024/03/16 21:17 by superuser