Tutorial 3: Rotationer i 3D¶
I 3D, ligesom i 2D, kan vi bruge matricer til at udføre rotationer af punkter i rummet. I 3D har vi dog flere muligheder, da vi kan rotere omkring x-, y- og z-akserne.
Rotation omkring X-aksen¶
En rotation om x-aksen med en vinkel \(\theta\) er givet ved transformationsmatricen:
Rotation omkring Y-aksen¶
En rotation om y-aksen med en vinkel \(\theta\) er givet ved transformationsmatricen (for rækkevektorer):
Rotation omkring Z-aksen¶
En rotation om z-aksen med en vinkel \(\theta\) er givet ved transformationsmatricen:
Egenskaber ved 3D Rotationsmatricer¶
Ligesom i 2D har 3D rotationsmatricer nogle vigtige egenskaber:
- Invers = Transponeret: Inversen af en 3D rotationsmatrix er lig med dens transponerede. Dette gør det let at "afrotere" et punkt.
- Determinant = 1: Determinanten af en 3D rotationsmatrix er altid 1.
- Rotation x Rotation = Rotation: Produktet af to rotationsmatricer er en anden rotationsmatrix. Dette betyder, at flere rotationer kombineret stadig resulterer i en rotation.
Kombination af Rotationer¶
Rotationer i 3D kan kombineres ved at multiplicere deres respektive matricer. Rækkefølgen af multiplikationen er vigtig, da matrixmultiplikation ikke er kommutativ. For eksempel, hvis du først roterer omkring x-aksen og derefter omkring y-aksen, er den samlede transformationsmatrix:
Rotation omkring en Vilkårlig Akse¶
Se tutorial 4.
Legerum¶
Prøv nedenstående applet for at rotere kassen. Hvis det ikke vises korrekt, kan du prøve gå direkte the applet'en. Ellers gå videre til opsamlingen og alle "formlerne" i den sidste tutorial.