Reference documentation for deal.II version 8.5.0
Physics::Transformations::Rotations Namespace Reference

## 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)

## Detailed Description

Transformation functions and tensors that are defined in terms of rotation angles and axes of rotation.

## Function Documentation

template<typename Number >
 Tensor<2,2,Number> Physics::Transformations::Rotations::rotation_matrix_2d ( const Number & angle )

Returns the rotation matrix for 2-d Euclidean space, namely

$\mathbf{R} := \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.

Parameters
$\mathbf{R} := 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}$$.
For a discussion of the background of this function, see P. Wriggers: "Nonlinear finite element methods" (2008), and in particular formula (9.194) on p. 374 (or thereabouts). This presents Rodrigues' rotation formula, but the implementation used in this function is described in this wikipedia link. In particular, this describes the counter-clockwise rotation of a vector in a plane with its normal. defined by the 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.