Euler Angles & Rotation Matrices


Understanding rotations is fundamental in photogrammetry and computer vision. Whether you are working with cameras, 3D models, or coordinate systems, you need a precise way to describe how objects are oriented in space. This is where rotation matrices and Euler angles come into play.

📌 What Is a Rotation Matrix?
A rotation matrix is a mathematical tool used to rotate points or vectors in space. It allows us to transform coordinates from one orientation to another without changing their shape or size.
In simple terms:
A position vector defines where something is
A rotation matrix defines how it is oriented
Together, they fully describe the pose of an object.

🔄 2D Rotation (Basic Concept)
The simplest case is rotation in 2D space, where a point rotates around the origin by an angle θ.
The transformation is:
x′ = cos(θ)·x − sin(θ)·y
y′ = sin(θ)·x + cos(θ)·y
This represents a standard counterclockwise rotation. It’s the foundation for all higher-dimensional rotations.

🧭 3D Rotation Matrices
In 3D space, rotations are more complex because they can occur around three different axes:
X-axis rotation
Y-axis rotation
Z-axis rotation
Each axis has its own rotation matrix. By combining them, we can represent any orientation in 3D space.
A full 3D rotation is obtained by multiplying these matrices together. However, the order of multiplication matters—changing the order results in a completely different orientation.

🎯 Euler Angles Explained
Euler angles are a way to describe 3D rotation using three angles:
ω (omega) → rotation around X-axis
φ (phi) → rotation around Y-axis
κ (kappa) → rotation around Z-axis
These angles are applied in sequence to achieve the final orientation.
This method is widely used in:
Photogrammetry
Robotics
Computer vision
because it provides a simple and intuitive way to describe rotations.

⚠️ Limitations of Euler Angles
While Euler angles are easy to understand, they come with important drawbacks:
1. Ambiguity
Different combinations of angles can produce the same final rotation. This makes direct comparison unreliable.
2. Gimbal Lock
When two rotation axes align (e.g., pitch = ±90°), the system loses one degree of freedom. This creates instability in calculations.
3. Practical Limitations
Due to these issues, Euler angles are not always suitable for systems requiring stable and continuous rotations (e.g., robotics or real-time tracking).

🔁 Alternative: Axis-Angle Representation
To overcome these limitations, rotations can also be represented using:
A rotation axis (vector)
A rotation angle around that axis
This is known as the axis-angle representation.
Key idea:
A 3D rotation can be described as rotating around a single vector in space.
An important property:
If a vector is the axis of rotation, applying the rotation matrix to it does not change it. This means the vector is an eigenvector of the rotation matrix.

➕ Why This Matters in Photogrammetry
Rotation modeling is essential for:
Camera orientation
Image alignment
3D reconstruction
Coordinate transformations
Without a solid understanding of rotations, it is not possible to correctly relate image data to real-world coordinates.

🚀 Summary
Rotation matrices define how objects are oriented in space
2D rotation is simple and based on one angle
3D rotation uses multiple axes and matrix multiplication
Euler angles provide an intuitive representation but have limitations
Axis-angle representation offers a more robust alternative
Mastering these concepts is the first step toward understanding more advanced topics like relative orientation, camera models, and 3D reconstruction.

👉 In the next section, we will explore coordinate transformations, where these rotation concepts are applied to map between different coordinate systems.