From Finite Rotation to Euler Vector

Here we will go through the process of transforming a Finite Rotation, which provides the rotation angle of a Total Rotation, to an Euler Vector, which provide the rotation rate of a Stage Rotation.

This process generally involves obtaining an stage Finite Rotation, and then transforming it to an Euler Vector. By general rule, we may obtain a stage Finite Rotation as:

t2FRt1 = − 0FRt2 + 0FRt1

This equation involves two total poles, each one a Reconstruction Rotation. Whether t1 is larger than t2 or viceversa will determine the direction of the rotation. For instance, if t1 > t2, the resulting Finite Rotation will represent a Forward Rotation, the motion from a point further back in time, to a more recent one. Else the rotation will represent a Reconstruction Rotation.

The final step is to transform the Finite Rotation to an Euler Vector. This is done by dividing the rotation angle (Ω) by the time spanned between the two total reconstructions (Δt), and hence obtaining the rotation rate (ω):

t2FRt1[Ω]   →   t2EVt1[$\frac{Ω}{∆t}$]   →   t2EVt1[ω]


From two Finite Rotations (Stage Euler Vector)

we start providing an example for the most general case, an Euler Vector obtained from two Finite Rotations. In this particular case, we will seek to obtain the Euler Vector describing the motion of Eurasia relative to North-America between the ages 83 to 53 Ma. The values are taken from Allan Cox' book Plate Tectonics: How it works, Table 7-1:

t(Ma)Longitude(°E)Latitude(°N)Angle(°)
37.0129.968.0-7.8
48.0142.850.8-9.8
53.0145.040.0-11.4
83.0150.170.5-20.3
90.0152.975.5-24.2
using PlateKinematics
using PlateKinematics: FiniteRotSph, EulerVectorSph, Covariance
using PlateKinematics: ToEulerVector

FRs_53 = FiniteRotSph(145.0, 40.0, -11.4, 53.0);
FRs_83 = FiniteRotSph(150.1, 70.5, -20.3, 83.0);
ToEulerVector(FRs_83, FRs_53)
EulerVectorSph:
        Lon         : -75.94
        Lat         : 78.09
        AngVelocity : 0.4
        TimeRange   : [83.0 53.0]
        Covariance  : Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

Bear in mind that the Euler Vector here inherits the Time Orientation from the given order of Finite Rotations. In the above example, the Euler Vector reports the rotation from 83 Ma to 53 Ma, a Forward Rotation. If we were to reverse the order of the Finite Rotations, the Euler Vector would be defined as the rotation rate of the stage rotation from 37 Ma to 42 Ma, a Reconstruction Rotation. One could otherwise use the reverseRot keyword to reverse the time orientation of the Euler Vector:

ToEulerVector(FRs_83, FRs_53, reverseRot=true)
EulerVectorSph:
        Lon         : -22.68
        Lat         : 80.44
        AngVelocity : 0.4
        TimeRange   : [53.0 83.0]
        Covariance  : Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)

This derives from the negative rotation property of Finite Rotations, where in general, the time-orientation may be inverted using the antipole or the inverse of the rotation angle:

t2AFRBt1 = − t1AFRBt2


Know however that this is not generally true for inversion of the fixed plate:

t2AFRBt1 ≠ − t2BFRAt1


but rather is only true for rotations to and from the present, that is, a Total Rotation:

0AFRBt = − 0BFRAt


A more thorough explanation of this can be found in the book Plate Tectonics: How it works.

From one Finite Rotation (total Euler Vector)

The same can be done for a single Finite Rotation, based on the general equation for stage rotations stated above:

t2FRt1 = − 0FRt2 + 0FRt1,

then t1 = 0, t2 = t, and
tFR0 = − 0FRt + 0FR0

tFR0 = − 0FRt


For instance, we can obtain the Euler Vector describing the motion of North-America relative to Eurasia between the age 37 Ma and present day.

using PlateKinematics: FiniteRotSph, EulerVectorSph, Covariance
using PlateKinematics: ToEulerVector

FRs_37 = FiniteRotSph(129.9, 68.0, 7.8, 37.0);
ToEulerVector(FRs_37)
EulerVectorSph:
        Lon         : -50.1
        Lat         : -68.0
        AngVelocity : 0.21 
        TimeRange   : [37.0 0.0]
        Covariance  : Covariance(0.0, 0.0, 0.0, 0.0, 0.0, 0.0)