### 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}]$$.