![]() |
Reference documentation for deal.II version 9.1.1
|
Functions | |
Rotation matrices | |
template<typename Number > | |
Tensor< 2, 2, Number > | rotation_matrix_2d (const Number &angle) |
template<typename Number > | |
Tensor< 2, 3, Number > | rotation_matrix_3d (const Point< 3, Number > &axis, const Number &angle) |
Transformation functions and tensors that are defined in terms of rotation angles and axes of rotation.
Tensor<2, 2, Number> Physics::Transformations::Rotations::rotation_matrix_2d | ( | const Number & | angle | ) |
Return the rotation matrix for 2-d Euclidean space, namely
\mathbf{R} \dealcoloneq \left[ \begin{array}{cc} cos(\theta) & -sin(\theta) \\ sin(\theta) & cos(\theta) \end{array}\right]
where \theta is the rotation angle given in radians. In particular, this describes the counter-clockwise rotation of a vector relative to a fixed set of right-handed axes.
[in] | angle | The rotation angle (about the z-axis) in radians |
Tensor<2, 3, Number> Physics::Transformations::Rotations::rotation_matrix_3d | ( | const Point< 3, Number > & | axis, |
const Number & | angle | ||
) |
Return the rotation matrix for 3-d Euclidean space. Most concisely stated using the Rodrigues' rotation formula, this function returns the equivalent of
\mathbf{R} \dealcoloneq cos(\theta)\mathbf{I} + sin(\theta)\mathbf{W} + (1-cos(\theta))\mathbf{u}\otimes\mathbf{u}
where \mathbf{u} is the axial vector (an axial vector) and \theta is the rotation angle given in radians, \mathbf{I} is the identity tensor and \mathbf{W} is the skew symmetric tensor of \mathbf{u}.
axis
of rotation. An alternative implementation is discussed at this link, but is inconsistent (sign-wise) with the Rodrigues' rotation formula as it describes the rotation of a coordinate system.[in] | axis | A unit vector that defines the axis of rotation |
[in] | angle | The rotation angle in radians |