planarRotationAngle

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

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

Syntax

angle = TransformationMatrices.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, Frames.planarRotationAngle.

Syntax

angle = planarRotationAngle(e, v1, v2)

Inputs (3)

e

Type: Real[3]

Description: Normalized axis of rotation to rotate frame 1 around e into frame 2 (must have length=1)

v1

Type: Real[3]

Description: A vector v resolved in frame 1 (shall not be parallel to e)

v2

Type: Real[3]

Description: Vector v resolved in frame 2, i.e., v2 = resolve2(planarRotation(e,angle),v1)

Outputs (1)

angle

Type: Angle (rad)

Description: Rotation angle to rotate frame 1 into frame 2 along axis e in the range: -pi <= angle <= pi