angle = TransformationMatrices.planarRotationAngle(e, v1, v2);
A call to this function of the form
Real[3] e, v1, v2; Modelica.SIunits.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
-p <= angle <= p
This function makes the following assumptions on the input arguments
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.
planarRotation, Frames.planarRotationAngle.
function planarRotationAngle extends Modelica.Icons.Function; input Real e[3](each final unit = "1") "Normalized axis of rotation to rotate frame 1 around e into frame 2 (must have length=1)"; input Real v1[3] "A vector v resolved in frame 1 (shall not be parallel to e)"; input Real v2[3] "Vector v resolved in frame 2, i.e., v2 = resolve2(planarRotation(e,angle),v1)"; output Modelica.SIunits.Angle angle "Rotation angle to rotate frame 1 into frame 2 along axis e in the range: -pi <= angle <= pi"; end planarRotationAngle;