functionplanarRotationAngle

Return angle of a planar rotation, given the rotation axis and the representations of a vector in frame 1 and frame 2

Extends from Modelica.Icons.Function (Icon for functions).

Information

Syntax

angle = Frames.planarRotationAngle(e, v1, v2);

Description

A call to this function of the form

  Real[3]                e, v1, v2;
  SI.Angle angle;
equation
  angle = planarRotationAngle(e, v1, v2);

computes the rotation angle "angle" of a planar rotation along unit vector e, rotating frame 1 into frame 2, given the coordinate representations of a vector "v" in frame 1 (v1) and in frame 2 (v2). Therefore, the result of this function fulfills the following equation:

v2 = resolve2(planarRotation(e,angle), v1)

The rotation angle is returned in the range

-π <= angle <= π

This function makes the following assumptions on the input arguments

  • Vector e has length 1, i.e., length(e) = 1
  • Vector "v" is not parallel to e, i.e., length(cross(e,v1)) ≠ 0

The function does not check the above assumptions. If these assumptions are violated, a wrong result will be returned and/or a division by zero will occur.

See also

planarRotation, TransformationMatrices.planarRotationAngle.

Inputs

TypeNameDefaultDescription
Real[3]eNormalized axis of rotation to rotate frame 1 around e into frame 2 (must have length=1)
Real[3]v1A vector v resolved in frame 1 (shall not be parallel to e)
Real[3]v2Vector v resolved in frame 2, i.e., v2 = resolve2(planarRotation(e,angle),v1)

Outputs

TypeNameDefaultDescription
SI.AngleangleRotation angle to rotate frame 1 into frame 2 along axis e in the range: -pi <= angle <= pi