För att beskriva kamerans rörelse, använd först en rotationsmatris för att rotera 45 grader runt z-axeln:
\[
R = \begin{bmatrix} \cos(45^\circ) & -\sin(45^\circ) & 0 \\ \sin(45^\circ) & \cos(45^\circ) & 0 \\ 0 & 0 & 1 \end{bmatrix} = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 1 \end{bmatrix}.
\]
Därefter, använd en translationsmatris för att flytta från $(1, 2, 3)$ till $(4, 5, 6)$:
\[
T = \begin{bmatrix} 1 & 0 & 0 & 3 \\ 0 & 1 & 0 & 3 \\ 0 & 0 & 1 & 3 \\ 0 & 0 & 0 & 1 \end{bmatrix}.
\]
Kombinera dessa transformationer genom att först applicera rotationen och sedan translationen på kamerans position.
Steg 1
Beskrivning: Börja med att skapa en rotationsmatris för en 45 graders rotation runt z-axeln.
Beräkning: R = \begin{bmatrix} \cos(45^\circ) & -\sin(45^\circ) & 0 \\ \sin(45^\circ) & \cos(45^\circ) & 0 \\ 0 & 0 & 1 \end{bmatrix}
Resultat: R = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & 0 \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & 0 \\ 0 & 0 & 1 \end{bmatrix}
Steg 2
Beskrivning: Skapa en translationsmatris för att flytta kameran från $(1, 2, 3)$ till $(4, 5, 6)$.
Beräkning: T = \begin{bmatrix} 1 & 0 & 0 & 3 \\ 0 & 1 & 0 & 3 \\ 0 & 0 & 1 & 3 \\ 0 & 0 & 0 & 1 \end{bmatrix}
Resultat: T = \begin{bmatrix} 1 & 0 & 0 & 3 \\ 0 & 1 & 0 & 3 \\ 0 & 0 & 1 & 3 \\ 0 & 0 & 0 & 1 \end{bmatrix}
Steg 3
Beskrivning: Kombinera rotation och translation för att få den totala transformationen.
Beräkning: Använd först rotationsmatrisen och sedan translationsmatrisen på kamerans position.
Resultat: Den kombinerade transformationen beskriver kamerans rörelse och rotation.
Matriser och matrisoperationer
Grundläggande
Förståelse för hur matriser kan användas för att beskriva linjära transformationer såsom rotation och translation.
Läs mer →
Matrismultiplikation
Grundläggande
Kunskap om hur man multiplicerar matriser för att kombinera flera transformationer.
Läs mer →
Uppgift 1 (Nivå A)
Fråga: En datavetare vill rotera en 3D-modell 90 grader runt x-axeln och sedan flytta den 5 enheter uppåt längs y-axeln. Hur kan detta beskrivas med hjälp av matriser?
Förklaring: Använd en rotationsmatris för x-axeln och en translationsmatris för y-axeln. Kombinera dessa för att beskriva den totala transformationen.