mymesh.register.R2d#

mymesh.register.R2d(theta, center)[source]#

Generate a rotation matrix for a rotation about a point

\[\begin{split}\mathbf{R} = \begin{bmatrix} cos(\theta) & -\sin(\theta) & 0 \\ \sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \end{bmatrix}\end{split}\]

For a center other than the origin, \(\begin{bmatrix}c_0, c_1 \end{bmatrix}\):

\(\mathbf{R_c} = \mathbf{T}(\begin{bmatrix}c_0, c_1\end{bmatrix}) \mathbf{R}} \mathbf{T}(\begin{bmatrix}-c_0, -c_1 \end{bmatrix})\)

Parameters:
  • theta (float) – Rotation, in radians

  • center (list or np.ndarray) – Reference point for the rotation

Returns:

r – 3x3 Rotation matrix

Return type:

np.ndarray