Package Frames.TransformationMatrices contains type definitions and functions to transform rotational frame quantities using transformation matrices.
In the table below an example is given for every function definition. The used variables have the following declaration:
Orientation T, T1, T2, T_rel, T_inv; Real[3] v1, v2, w1, w2, n_x, n_y, n_z, e, e_x, res_ori, phi; Real[6] res_equal; Real L, angle;
Function/type | Description |
---|---|
Orientation T; | New type defining an orientation object that describes the rotation of frame 1 into frame 2. |
der_Orientation der_T; | New type defining the first time derivative of Frames.Orientation. |
res_ori = orientationConstraint(T); | Return the constraints between the variables of an orientation
object (shall be zero). |
w1 = angularVelocity1(T, der_T); | Return angular velocity resolved in frame 1 from orientation
object T and its derivative der_T. |
w2 = angularVelocity2(T, der_T); | Return angular velocity resolved in frame 2 from orientation
object T and its derivative der_T. |
v1 = resolve1(T,v2); | Transform vector v2 from frame 2 to frame 1. |
v2 = resolve2(T,v1); | Transform vector v1 from frame 1 to frame 2. |
[v1,w1] = multipleResolve1(T, [v2,w2]); | Transform several vectors from frame 2 to frame 1. |
[v2,w2] = multipleResolve2(T, [v1,w1]); | Transform several vectors from frame 1 to frame 2. |
D1 = resolveDyade1(T,D2); | Transform second order tensor D2 from frame 2 to frame 1. |
D2 = resolveDyade2(T,D1); | Transform second order tensor D1 from frame 1 to frame 2. |
T= nullRotation() | Return orientation object T that does not rotate a frame. |
T_inv = inverseRotation(T); | Return inverse orientation object. |
T_rel = relativeRotation(T1,T2); | Return relative orientation object from two absolute orientation objects. |
T2 = absoluteRotation(T1,T_rel); | Return absolute orientation object from another absolute and a relative orientation object. |
T = planarRotation(e, angle); | Return orientation object of a planar rotation. |
angle = planarRotationAngle(e, v1, v2); | Return angle of a planar rotation, given the rotation
axis and the representations of a vector in frame 1 and frame 2. |
T = axisRotation(i, angle); | Return orientation object T for rotation around axis i of frame 1. |
T = axesRotations(sequence, angles); | Return rotation object to rotate in sequence around 3 axes.
Example: T = axesRotations({1,2,3},{90,45,-90}); |
angles = axesRotationsAngles(T, sequence); | Return the 3 angles to rotate in sequence around 3 axes
to construct the given orientation object. |
phi = smallRotation(T); | Return rotation angles phi valid for a small rotation. |
T = from_nxy(n_x, n_y); | Return orientation object from n_x and n_y vectors. |
T = from_nxz(n_x, n_z); | Return orientation object from n_x and n_z vectors. |
R = from_T(T); | Return orientation object R from transformation matrix T. |
R = from_T_inv(T_inv); | Return orientation object R from inverse transformation matrix T_inv. |
T = from_Q(Q); | Return orientation object T from quaternion orientation object Q. |
T = to_T(R); | Return transformation matrix T from orientation object R. |
T_inv = to_T_inv(R); | Return inverse transformation matrix T_inv from orientation object R. |
Q = to_Q(T); | Return quaternion orientation object Q from orientation object T. |
exy = to_exy(T); | Return [e_x, e_y] matrix of an orientation object T, with e_x and e_y vectors of frame 2, resolved in frame 1. |
Name | Description |
---|---|
Orientation | Orientation type defining rotation from a frame 1 into a frame 2 with a transformation matrix |
der_Orientation | New type defining the first time derivative of Orientation |
orientationConstraint | Return residues of orientation constraints (shall be zero) |
angularVelocity1 | Return angular velocity resolved in frame 1 from orientation object and its derivative |
angularVelocity2 | Return angular velocity resolved in frame 2 from orientation object and its derivative |
resolve1 | Transform vector from frame 2 to frame 1 |
resolve2 | Transform vector from frame 1 to frame 2 |
multipleResolve1 | Transform several vectors from frame 2 to frame 1 |
multipleResolve2 | Transform several vectors from frame 1 to frame 2 |
resolveDyade1 | Transform second order tensor from frame 2 to frame 1 |
resolveDyade2 | Transform second order tensor from frame 1 to frame 2 |
nullRotation | Return orientation object that does not rotate a frame |
inverseRotation | Return inverse orientation object |
relativeRotation | Return relative orientation object |
absoluteRotation | Return absolute orientation object from another absolute and a relative orientation object |
planarRotation | Return orientation object of a planar rotation |
planarRotationAngle | Return angle of a planar rotation, given the rotation axis and the representations of a vector in frame 1 and frame 2 |
axisRotation | Return rotation object to rotate around one frame axis |
axesRotations | Return rotation object to rotate in sequence around 3 axes |
axesRotationsAngles | Return the 3 angles to rotate in sequence around 3 axes to construct the given orientation object |
smallRotation | Return rotation angles valid for a small rotation and optionally residues that should be zero |
from_nxy | Return orientation object from n_x and n_y vectors |
from_nxz | Return orientation object from n_x and n_z vectors |
from_T | Return orientation object R from transformation matrix T |
from_T_inv | Return orientation object R from inverse transformation matrix T_inv |
from_Q | Return orientation object T from quaternion orientation object Q |
to_T | Return transformation matrix T from orientation object R |
to_T_inv | Return inverse transformation matrix T_inv from orientation object R |
to_Q | Return quaternion orientation object Q from orientation object T |
to_vector | Map rotation object into vector |
to_exy | Map rotation object into e_x and e_y vectors of frame 2, resolved in frame 1 |