Previous topic

sknano.core.math.Rx

Next topic

sknano.core.math.Rz

sknano.core.math.Ry

sknano.core.math.Ry(angle, degrees=False)[source][source]

Generate the \(3\times3\) rotation matrix \(R_y(\theta)\) for a rotation about the \(y\) axis by an angle \(\theta\).

Parameters:

angle : float

The rotation angle \(\theta\) in radians. If the angle is given in degrees, then you must set degrees=True to correctly calculate the rotation matrix.

degrees : bool, optional

if True, then angle is converted from degrees to radians.

Returns:

ndarray

\(3\times3\) rotation matrix \(R_y(\theta)\) for a rotation about the \(y\) axis by an angle \(\theta\):

\[\begin{split}R_y = \begin{pmatrix} \cos\theta & 0 & \sin\theta\\ 0 & 1 & 0\\ -\sin\theta & 0 & \cos\theta \end{pmatrix}\end{split}\]

Examples

>>> import numpy as np
>>> from sknano.core.math import Ry
>>> Ry(np.pi/4)
array([[ 0.70710678,  0.        ,  0.70710678],
       [ 0.        ,  1.        ,  0.        ],
       [-0.70710678,  0.        ,  0.70710678]])
>>> np.alltrue(Ry(np.pi/4) == Ry(45, degrees=True))
True