A rotation is a circular movement of an object around a central line, known as the axis of rotation. A rotation R(α) in RN is a linear operator parameterized by a real value, typically interpreted as the angle of rotation and denoted θ or α. It is also a transformation.
In the context of a rigid body, it is a movement that maintains at least one point fixed. A rotation where the axis passes through an object's center of mass is called a spin rotation, whereas a rotation around an axis completely outside of the body is called a revolution (or orbit). In this case, the axis is called the axis of revolution.
Rotations form a group with interesting properties. Since rotations are, geometrically speaking, planar operations, the most fundamental group is the one in R2. Here they form a group known as
SO(2)={R∈M2(R)∣RRT=RTR=1^ and detR=1}
where M2(R) is the set of all real 2×2 matrices. It is called the (two-dimensional) special orthogonal group1. It can also be written as SO(2)={R(α)∣α∈[0,2π[} and is the group of all antisymmetric matrices in R2. For rotations in RN, they form the group
Being linear operators, rotations can be represented through square matrices. This is a particularly convenient form in more theoretical math, especially when operator theory can be used. Given a vector (x,y) in a plane, a rotation about the origin by an angle θ>0 is the vector (x′,y′) given by
x′=cos(θ)x−sin(θ)y,y′=sin(θ)x+cos(θ)y
which can be derived using plain trigonometry. The rotation is counterclockwise (by convention). These equations can be written in matrix form as
(x′y′)=(cosθsinθ−sinθcosθ)(xy)
In three dimensions, a rotation about the z axis can be trivially defined as
x′y′z′=cosθsinθ0−sinθcosθ0001xyz
The 3D rotation matrix columns can be represented in the standard R3Basis{i,j,k}:
where c=cosθ and s=sinθ. Consider a right-handed orthonormal set {a,b,d}. R0 is a rotation in this basis. The matrix R1 that represents a rotation in the standard basis will transform a, b and d with
Calling P=(abd), we can see that the rotation matrices are similar:
R1P=PR0⇒R0=P−1R1P=PTR1P
where P−1=PT comes from antisymmetry. We can also solve for
R1=PR0PT
which gives us
R1=c(aaT+bbT)+s(baT−abT)+ddT(1)
where all the xxT are 3×3 matrices. This allows us to calculate R1, though at the cost of having to define a and b. Still, there is a more convenient form that can be derived to remove this dependency as, intuitively, a rotation is independent of which vectors on the plane you refer it to.
The vector v that's being rotated is represented in {a,b,d} as a Linear combination of the basis vectors:
v=(a⋅v)a+(b⋅v)b+(d⋅v)d=αa+βb+δd(2)
A couple of useful vectors are
d×v=−βa+αb,d×(d×v)=−αa−βb
The first one can be written as a matrix multiplied by a vector
where we used that A2m=(−1)mα2mI and A2m+1=A2mA=(−1)mα2m+1E and the Sine and cosine series. As such, in the most general case, the exponential of an antisymmetric matrix is
expA=cosαI+sinαE=(cosαsinα−sinαcosα)=R(α)
Evidently, all (finite) rotations are exponentials of the antisymmetric matrix E, weighed by some factor α. We can therefore represent them as
R(α)=eαE
Since all rotations are exponentials of E, we say that E is the generator of SO(2). In fact, antisymmetric matrices form a Vector space (sum and scalar multiplication are both defined and closed) and E forms a Basis of this space. Thus, any rotation is also a Linear combination of basis elements. In 2D the basis is just {E}, but in N-dimensional spaces this provides an easy extension of the definition of rotation: just add more elements to the basis so that it generates SO(N).
The number of generators, that is elements in the basis, is found to be N(N−1)/2. In N=3 we have 3 generators and these are
But this is just a 2D rotation around an axis, specifically around the z axis. The same can be found for R1 and R2 too, which end up being rotations around the x and y axes. Evidently, then, Ri is the rotation around the i-th axis. A generic rotation can then be described as a Linear combination of basis rotations, just like how a vector is a linear combination of basis vectors (again, rotations constitute a vector space).
R=e∑i=1NωiEi=i=1∏NeωiEi
Intuitively, this makes sense: rotating something on a "diagonal" is like rotating it "horizontally" and then "vertically".
Look for a moment at the E basis matrices. They all have the same blueprint: antisymmetric, all zeros on the diagonal and exactly a single pair of 1 and −1, with one matrix for every entry outside of the diagonal. For one, this gives proof on why the number of basis elements is what it is: the number of nondiagonal entries in an N×N matrix is precisely N(N−1)/2. But more than that, it gives us a way to formalize how this basis is built, which is through the Levi-Civita tensorϵijk. For instance, in 3D each basis matrix i is defined by its elements (Ei)jk=−ϵijk. A generic rotation basis then is just the application of the Levi-Civita tensor in whatever dimension you need.
Infinitesimal rotations are hence defined in a similar manner. In 3D:
Ωij=−k=1∑3ϵijkωk
This permits a more refined analysis of what infinitesimal rotations even do. The variation of a vector v subject to such a rotation must then be
using ϵijk=−ϵikj and the tensor definition of the vector product. Putting components together we can say that, in general, ω×v is the variation of v under an infinitesimal rotation of angle ∣ω∣ around an axis parallel to ω. The norm of this variation is
∣δv∣=∣ω×v∣=∣ω∣∣v∣sinθ=∣ω∣∣v⊥∣
To further analyze Ei, we can calculate the Commutator between the Ei and Ej:
[Ei,Ej]=EiEj−EjEi
We need to figure out the product between these matrices:
You can verify that each component [Ei,Ej]mn is actually an entry of Ek weighted by ϵijk. In particular, the commutator simplifies to:
[Ei,Ej]=k=1∑3ϵijkEk
This gives a compact formula for the commutator of the generators of rotation. This might seem insignificant, but the fact is that we now have a well-behaved commutator in the vector space of rotations. This means that it's not any old vector space, but specifically it's a Lie algebra. This provides access to all of the machinery specific to Lie algebras and helps to study the special orthogonal groups such as SO(3).
Rotations have a connection of fundamental importance to the conservation of angular momentum. We'll use the Lagrangian formalism for this proof, but this fact is true in general regardless of formalism.
Consider a 3D rotation R around an axis parallel to ω and write it as the exponential of a linear combination of generators as above:
Here, pj=∂q˙j∂L is the conjugate momentum and (Ei)jk is the j,k-th component of the i-th rotation generator.
In vector form, recognize that
j,k∑pj(Ei)jkqk=pTEiq=(p×q)i=(L)i
where L is the angular momentum. The conserved quantity becomes:
i=1∑3ω^iLi=ω^⋅L=Lω
which is the projection of the total angular momentum onto the rotation axis ω^.
This is an universally important fact: if the Lagrangian (or Hamiltonian for that matter) is invariant under rotation on an axis, then angular moment is conserved on that axis. This is true always as long as rotation invariance persists and in fact, for isolated systems, there is no restriction on what the axis is, which means that all angular momentum is conserved in such a system. This is one of the several important manifestations of Nöther's theorem.
If the axis D is fixed and the distance is a constant r0, the coordinate system can be chosen to be Polar coordinates or Cylindrical coordinates depending on dimensions. If cylindrical, the plane of rotation should be the plane of reference, with the axis of rotation being the z-axis.
A set of orthonormal axes can be chosen with the Cartesian tangent-normal Moving frame. Call ξ and η these two axes, potentially with D as the third if in 3D. Therefore, the position unit vector of the rotating object is R=ξsinθ+ηsinθ. In this system, angular speed is σ(t)=θ˙(t), angular velocity is w(t)=σ(t)D=θ˙(t)D and angular acceleration is α(t)=σ˙(t)D=θ¨(t)D.
The position therefore changes like
r(t)=r0R(t)+h0D
where h0 is the height of the movement above the plane D⋅r=0 if in 3D. The velocity therefore is v(t)=r0σP=r0σD×R=w×r, so
v(t)=w×r
so the tangential velocity can be derived from the angular velocity if the position is known. The acceleration then is a(t)=−r0σ2R+r0θ¨P=−r0σ2R+r0σ˙D×R=−r0σ2R+α×r, so
a(t)=−r0σ2R+α×r
where −r0σ2R is the centripetal acceleration and α×r is the tangential acceleration.
If the axis D(t) is moving, let's consider the static axis case in a bit more detail before. We can define an antisymmetric matrix for any vector u as
C(u)=0u3−u2−u30u1u2−u10
This is the matrix representation of the cross product, C(u)r=u×r thanks to (3), and thanks to (4) we can say2
R(t)=I+C(D)sin(θ(t))+C(D)2(1−cos(θ(t)))
Linear velocity is worked out as
r˙=v=w(t)×r(t)=C(w(t))r(t)
If we differentiate r directly, we get
v=R˙(t)r0=R˙(t)RTRr0=(R˙(t)RT)r(t)(5)
Therefore
C(w(t))=(R˙(t)RT)
or
R˙(t)=C(w(t))R(t)(6)
(5) and (6) equations tell us the rate of change for the rotation in terms of the current rotation and angular velocity.
Equipped with these, let's consider an actually moving axis D(t). Using (4), the rotation matrix corresponding to this vector for angle of rotation θ(t) is
R(t)=I+C(D(t))sin(θ(t))+C(D(t))2(1−cos(θ(t)))(7)
which acts like
r(t)=R(t)r0
The linear velocity is given by (5).
For a rotation matrix, I=RRT, so taking the time derivative
0=R˙RT+RR˙T=R˙RT+(R˙RT)T⇒(R˙RT)T=−R˙RT
which means S(t)=R˙(t)RT(t) is antisymmetric and because of that we can write S(t)=A(w(t)).
The angular velocity can be calculated using R(t) from (7) and then calculating R˙RT. Using C(D)3=−C(D) we can prove
w=θ˙D+sinθD˙+(cosθ−1)D˙×D
As D is a unit vector, the triad {D,D˙,D˙×D} forms an orthonormal basis. The angular velocity is expressed in this basis.
Technically, SO(2) is a specification for matrices in general, but the only matrices that satisfy these conditions are rotations. ↩
Here D, which is a unit vector, should not be confused with D from (4), which is a matrix. The usage of the same letter is an unfortunate coincidence. ↩