advanced24 min studyLesson 152 in Physics

Angular velocity and rotation matrices

Connect a body-to-space rotation matrix to the instantaneous angular velocity and differentiate vectors in rotating frames.

On this page

What you’ll understand

  • Declare an unambiguous body-to-space rotation convention.
  • Recover instantaneous angular velocity from an antisymmetric matrix.
  • Apply the rotating-frame derivative rule to a vector.

Orientation and angular velocity describe different things. Orientation tells where the body axes point now; angular velocity tells how that orientation is changing at this instant. A three-dimensional rotation matrix provides a global description without selecting Euler angles. Its derivative then identifies the instantaneous rotation axis, provided the direction of the coordinate map is stated explicitly.

Declare what the matrix maps

Use column vectors and define R to map body components into inertial space components. Each column of R is therefore a body axis written in space coordinates. Orthogonality preserves lengths and angles, while determinant positive one excludes reflections. A body-fixed marker has constant body coordinates, but its space coordinates change because the columns of R move.

The inverse mapping is the transpose. Confusing these two directions changes matrix order and often reverses apparent signs. Some references define a matrix through components of body basis vectors indexed in the opposite order; transpose their matrix before importing a formula. A ninety-degree positive rotation about the space z axis should send the body x axis toward the space y axis under our convention.

rs=Rrb,RTR=1,det⁡R=1\mathbf r_s=R\mathbf r_b,\qquad R^{\mathsf T}R=\mathbb 1,\qquad\det R=1
Subscripts b and s denote components in body and inertial space frames. R maps the former to the latter; it is an active orientation matrix using right-handed rotations.↔ Scroll wide equations horizontally.

Differentiate orientation, not an imagined angle vector

Differentiate the orthogonality condition. The product of the derivative of R and its transpose is antisymmetric, so it acts on any vector as a cross product with one angular-velocity vector. This establishes the velocity of every body-fixed marker at once. The angular velocity in space and in the body represents the same geometric vector in different component systems.

Finite rotations about different axes generally do not commute. Consequently, integrating the three angular-velocity components independently as if they were ordinary Cartesian orientation coordinates is generally incorrect. For a fixed space rotation axis, however, the familiar single-axis rotation matrix is sufficient. That special case is a useful check before attempting a more general numerical attitude integrator.

R˙RT=[ωs]×,RTR˙=[ωb]×,ωs=Rωb\dot R R^{\mathsf T}=[\boldsymbol\omega_s]_\times,\qquad R^{\mathsf T}\dot R=[\boldsymbol\omega_b]_\times,\qquad\boldsymbol\omega_s=R\boldsymbol\omega_b
The skew matrix is defined by [ω]×v = ω × v. Thus the ordering and signs follow from the explicit body-to-space convention.↔ Scroll wide equations horizontally.

A moving basis contributes to a derivative

A vector can change because its body components change, because the body basis rotates, or both. Write the vector as a sum of components times moving basis vectors and differentiate using the product rule. The result adds angular velocity crossed with the vector to the derivative of its body components. Angular momentum is the key example: zero torque does not imply constant body components.

For a planar sanity check, set the vector lab magnitude to two and its angle to zero degrees. Predict that increasing the angle slightly makes the y component positive while decreasing x only at second order. Verify by stepping the angle control manually. This illustrates orientation dependence of components; the lab does not derive angular velocity, animate a rotating basis, or integrate a three-dimensional attitude.

Differentiate a marker at a quarter turn

A body rotates positively about a fixed space z axis at 2 radians per second. A marker has body coordinates (1, 0, 0) meters. At a quarter turn, determine its space position and velocity.

  1. A positive quarter-turn about z maps the body x axis to the space y axis. The marker position is therefore (0, 1, 0) meters.

  2. The space angular velocity is (0, 0, 2). Take its cross product with the marker position: z crossed with y points toward negative x.

  3. Multiplying the magnitudes gives the marker velocity (-2, 0, 0) meters per second. Its speed is radius times angular speed, equal to two.

(dAdt)s=R[(dAbdt)b+ωb×Ab]\left(\frac{d\mathbf A}{dt}\right)_s=R\left[\left(\frac{d\mathbf A_b}{dt}\right)_b+\boldsymbol\omega_b\times\mathbf A_b\right]
The component derivative in the body frame must be supplemented by the rotation of that frame. All quantities inside brackets use body components.↔ Scroll wide equations horizontally.
The result

Position and velocity are perpendicular. Reversing the sign of angular velocity reverses velocity but leaves the instantaneous position unchanged.

Explore the model

Interactive lab

Interactive lab · vectors

A planar orientation check

Predict the signs of the projections when a vector of magnitude 2 moves from 0 to a small positive angle. Change the angle control to test the prediction.

A planar orientation checkPlayback traces a fixed vector and its projections. Angle and magnitude set the geometry; the moving marker does not change them. Current readings: x component: 1.393; y component: 0.975; Magnitude: 1.7. All parameters are adjustable with the labeled controls below.−7.46−3.7303.737.46−3.5−1.7501.753.5xyvvₓ = 1.39
Vectorx / y projectionsTrace marker
x component
1.393
y component
0.975
Magnitude
1.7
t = 0 s

Playback traces a fixed vector and its projections. Angle and magnitude set the geometry; the moving marker does not change them. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forOne planar vector supports a sign check for rotating coordinates; this is not a three-dimensional rotation-matrix integrator.

Check your understanding

For the body-to-space map r_s = R r_b, which matrix represents the space angular-velocity cross product?

Try it yourself

At an instant when R is the identity, the body angular velocity is (0, 0, 3) and a vector has body components (2, 0, 0) with body-component derivative (1, 0, 0). Find its inertial derivative.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Add the component derivative to angular velocity crossed with the vector. The identity orientation makes the final component conversion trivial.

Compare with the solution

The basis-motion contribution is (0, 6, 0). Adding the stated body-component derivative gives (1, 6, 0). Omitting the cross product would incorrectly treat the body basis as fixed; including only the cross product would incorrectly treat the vector as fixed within the body.

Take it with you

  • A rotation convention must state the source frame, destination frame, and vector layout.
  • Instantaneous angular velocity comes from an antisymmetric derivative of orientation.
  • A rotating-frame derivative includes both component changes and basis motion.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.