Page 1: Rotations in 3D

CS559 Spring 2023 Sample Solution

Topics in Rotations

We will discuss rotations in lectures. Here is a summary of the key topics to know:

  1. Rotations around a single axis. Why is the 2D case easier, and how does that apply in 3D?
  2. The basic challenges of rotation in 3D. Why does it get so tricky?
  3. The main types of 3D rotation representations: Euler Angles, Axis-Angle, Quaternions, and Rotation Matrices. You do not need to know the details of each, but you should have the intuitions for each, and what they are good and bad at.
  4. An understanding of Euler Angles. How we use 3 rotations about fixed axes (often X,Y,Z) to represent arbitrary rotations. You should have a sense of the challenges of using this representation (gimbal lock, unintuitive interpretations, weird interpolations, …)
  5. An understanding of Axis Angle representations. How we use a vector and an angle together to represent an arbitrary rotation.
  6. The basic ideas of using Quaternions for representing rotations. You don’t need to know the details of how they work. You should have an intuition for why we like them so much.
  7. The properties of rotation matrices, and why they aren’t necessarily a good way to compute with rotations.

We’ll review some of the key points over the next 3 pages.

Rotations about one or more axes

Rotations are rigid transformations (the distances between points are preserved, and handedness is preserved as well) that keep the zero position constant.

All rotations have an axis. There is a line through space (that goes through the origin) for which points on the line do not move (are not changed by the transformation). The space “spins around” this axis of rotation.

The composition of any sequence of rotations is a rotation. Put simply, if you rotate an object, rotate it again, then rotate it a third time, there will always be one rotation that gets you from the initial state to the final state. No matter how many rotations you put together.

In a single axis (like in 2D): $ R_z(\alpha) \circ R_z(\beta) = R_z(\alpha+\beta) $. That is, the composition of rotations is the same as adding the angles. We can simply measure the amount of rotation about that axis.

With different axes, this does not hold! $ R_x(\alpha) \circ R_y(\beta) = R_?(?) $ And things in between cause problems: $ R_x(\alpha) \circ R_y(\beta) \circ R_x(\gamma) \neq R_x(\alpha+\gamma) R_y(\beta) $

Summary: Rotations in 3D

That was a brief reminder of some of the points in lectures and the readings. The next pages will let you experiment with the demonstrations that have been developed for class. First, we’ll look at Euler Angles on Page  2  (Euler Angles Toys).

There are no points associated with this page.