The Average Rotation node is used for computing average rotations and displacements of a virtual rigid body, which is represented by a number of points in the structure. The corresponding velocities and accelerations are also computed.
If a certain reference point has a given translation up and a rotation
Θp, then the displacement of any other point
i can under rigid body assumptions be computed as
where ri is the distance vector from the reference point to point
i. The equation in this form is valid under the assumption of small rotations. In case of large rotations, the displacement due to rotation is instead described by a rotation matrix
R:
Here, I is the identity matrix. The rotation matrix is described with a
quaternion formulation where parameters
a,
b,
c, and
d are components of a unit quaternion.
In 2D, points can only rotate about the z-axis. The rotation matrix requires only one dependent variable, the rotation angle
ϕ:
Here, the up and
Θp are replaced with the sought-after average displacement
uavg and average rotation
Θavg respectively. The vector
Θavg is the axis-angle representation of the rotation. The magnitude,
||Θavg||, is the rotation angle.