Physlib

Physlib.ClassicalMechanics.RigidBody.AngularVelocity

The angular velocity of a rigid body

For a rigid body in motion the orientation `R(t) = orientation t` is a time-dependent rotation. Its instantaneous rate of change is encoded by the *angular velocity tensor* `Ω(t) = Ṙ(t) R(t)ᵀ`, the antisymmetric tensor `Ω` appearing in the Landau–Lifshitz decomposition `v = V + Ω × r` of the velocity of a point of the body.

A basic consistency check is that `Ω` is skew-symmetric, `Ωᵀ = -Ω` (equivalently `Ω ∈ 𝔰𝔬(d)`); this follows by differentiating the orthogonality identity `R Rᵀ = 1`. The general product and transpose rules for time derivatives of matrices used for this live in `Physlib.SpaceAndTime.Time.MatrixDerivatives`.

In three dimensions the skew-symmetric tensor `Ω` is dual to the *angular velocity vector* `ω(t) = Ωᵛ` via the hat map (`Physlib.Mathematics.CrossProductMatrix`), with `[ω]ₓ = Ω`; `ω` is the angular velocity proper, appearing in the decomposition `v = V + ω × r` as an honest cross product.

References

10 declarations

definition

Angular velocity tensor Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t) R(t)^\top

For a rigid body motion MM in dd dimensions and a time tt, the **angular velocity tensor** Ω(t)Rd×d\Omega(t) \in \mathbb{R}^{d \times d} is defined as the product of the time derivative of the body's orientation matrix R(t)R(t) and its transpose: Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t) R(t)^\top where R(t)R(t) is the rotation matrix representing the orientation of the rigid body at time tt. This skew-symmetric tensor characterizes the instantaneous rate of change of the orientation and appears in the Landau–Lifshitz decomposition of the velocity of a point in the body: v=V+Ωrv = V + \Omega r.

theorem

Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t) R(t)^\top

For a rigid body motion MM in dd dimensions and a time tt, the angular velocity tensor Ω(t)\Omega(t) is equal to the matrix product of the time derivative of the orientation matrix R(t)R(t) and its transpose: Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t) R(t)^\top where R(t)R(t) denotes the orientation of the rigid body at time tt and R˙(t)\dot{R}(t) is its derivative with respect to time.

theorem

The angular velocity tensor is skew-symmetric: Ω=Ω\Omega^\top = -\Omega

Consider a rigid body motion MM in dd dimensions. Let R(t)R(t) be the orientation matrix of the body at time tt. If R(t)R(t) is differentiable at time tt, then the angular velocity tensor Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t)R(t)^\top is skew-symmetric, satisfying: Ω(t)=Ω(t)\Omega(t)^\top = -\Omega(t) Equivalently, the tensor Ω(t)\Omega(t) lies in the Lie algebra so(d)\mathfrak{so}(d).

theorem

Constant Orientation Implies Ω=0\Omega = 0

For a rigid body motion MM in dd dimensions, if the orientation R(t)R(t) of the body is constant for all time tt, such that R(t)=RR(t) = R for some fixed rotation matrix RSO(d)R \in \text{SO}(d), then the angular velocity tensor Ω(t)\Omega(t) is zero for all tt.

definition

Angular velocity vector ω(t)=Ω(t)\omega(t) = \Omega(t)^\vee

For a rigid body motion MM in three-dimensional space and a time tt, the **angular velocity vector** ω(t)R3\omega(t) \in \mathbb{R}^3 is defined as the vector dual to the angular velocity tensor Ω(t)\Omega(t) via the vee map: ω(t)=(Ω(t))\omega(t) = (\Omega(t))^\vee where Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t)R(t)^\top is the angular velocity tensor and R(t)R(t) is the orientation matrix of the body. This vector ω(t)\omega(t) satisfies the property that for any vector rR3r \in \mathbb{R}^3, the product Ω(t)r\Omega(t)r is equal to the cross product ω(t)×r\omega(t) \times r, appearing in the Landau–Lifshitz decomposition of the velocity of a point in the body.

theorem

Relation between Angular Velocity Vector and Tensor: ω(t)=Ω(t)\omega(t) = \Omega(t)^\vee

For a rigid body motion MM in three-dimensional space and a time tt, the angular velocity vector ω(t)\omega(t) is equal to the result of applying the vee map ()(\cdot)^\vee to the angular velocity tensor Ω(t)\Omega(t): ω(t)=(Ω(t))\omega(t) = (\Omega(t))^\vee where the angular velocity tensor is defined as Ω(t)=R˙(t)R(t)\Omega(t) = \dot{R}(t)R(t)^\top and the vee map `crossProductVee` is the left inverse of the hat map (the cross-product matrix map).

theorem

[ω(t)]×=Ω(t)[\omega(t)]_{\times} = \Omega(t)

For a rigid body motion MM in three dimensions, let ω(t)\omega(t) be the angular velocity vector and Ω(t)\Omega(t) be the angular velocity tensor. If the orientation matrix R(t)R(t) of the rigid body is differentiable at time tt, then the cross product matrix (or hat map) of the angular velocity vector is equal to the angular velocity tensor: [ω(t)]×=Ω(t) [\omega(t)]_{\times} = \Omega(t)

theorem

Constant orientation implies ω=0\omega = 0

For a rigid body motion MM in three-dimensional space, if the orientation of the body is constant over time, i.e., there exists a fixed rotation matrix RSO(3)R \in \mathrm{SO}(3) such that the orientation R(t)=RR(t) = R for all tt, then the angular velocity vector ω\omega is zero (ω=0\omega = 0).

theorem

R˙(t)=Ω(t)R(t)\dot{R}(t) = \Omega(t) R(t)

For a rigid body motion MM in dd dimensions, let R(t)R(t) be the orientation matrix (a rotation matrix) at time tt. The time derivative of the orientation matrix, denoted R˙(t)\dot{R}(t), is equal to the product of the angular velocity tensor Ω(t)\Omega(t) and the orientation matrix R(t)R(t): Ω(t)R(t)=R˙(t)\Omega(t) R(t) = \dot{R}(t) This relationship allows the orientation path to be recovered from the angular velocity tensor, given the orthogonality condition R(t)R(t)=IR(t) R(t)^\top = I.

theorem

Landau–Lifshitz Velocity Decomposition v=V+ω×r\mathbf{v} = \mathbf{V} + \boldsymbol{\omega} \times \mathbf{r}

For a rigid body motion MM in three-dimensional space, let vy(t)\mathbf{v}_y(t) be the velocity of a material point yy at time tt. Suppose the orientation R(t)R(t) and the center-of-mass trajectory Rcom(t)\mathbf{R}_{\text{com}}(t) are differentiable. Then the velocity of the point yy is given by the sum of the center-of-mass velocity V(t)\mathbf{V}(t) and the cross product of the angular velocity vector ω(t)\boldsymbol{\omega}(t) with the point's position relative to the center of mass: vy(t)=V(t)+ω(t)×(ry(t)Rcom(t))\mathbf{v}_y(t) = \mathbf{V}(t) + \boldsymbol{\omega}(t) \times (\mathbf{r}_y(t) - \mathbf{R}_{\text{com}}(t)) where ry(t)\mathbf{r}_y(t) is the displacement of the point yy in the inertial frame at time tt. In component form, for each i{1,2,3}i \in \{1, 2, 3\}: (vy(t))i=(V(t))i+(ω(t)×(ry(t)Rcom(t)))i(\mathbf{v}_y(t))_i = (\mathbf{V}(t))_i + \left(\boldsymbol{\omega}(t) \times \left(\mathbf{r}_y(t) - \mathbf{R}_{\text{com}}(t)\right)\right)_i