Syntax

[~, R] = sw_rot(rotAxis,rotAngle)

[VR, R] = sw_rot(rotAxis,rotAngle,V)

Description

[~, R] = sw_rot(rotAxis,rotAngle) produces the R rotation matrix that rotates any vector around the given rotAxis rotation axis by rotAngle angle in radian. Positive rotation is the right-hand direction around the rotation axis and using the following rotation formula:

VR = R*V

To rotate tensors (\(3\times 3\) matrices) use the following formula:

Mp = R * M * R';

[VR, R] = sw_rot(rotAxis,rotAngle,V) also rotates the given V vectors where VR are the transformed vectors.

Input Arguments

rotAxis
Axis of rotation, stored in a row vector with 3 elements.
rotAngle
Angle of rotation in radian, can be also a row vector with \(n_{ang}\) number of elements.
V
Matrix with 3 rows, where each column is a vector in 3D space.

Output Arguments

VR
Rotated vectors, stored in a matrix with dimensions of \([3\times N n_{ang}]\).
R
Rotation matrix with dimensions of \([3\times 3]\) if a single rotation angle is given. If rotAngle is a vector, R will contain a rotation matrix for each angle, it’s dimensions are \([3\times 3\times n_{ang}]\).

See Also

sw_rotmat | sw_mirror