Processing math: 100%

sknano.core.math.rotation_matrix

sknano.core.math.rotation_matrix(angle=None, axis=None, anchor_point=None, rot_point=None, from_vector=None, to_vector=None, degrees=False, verbose=False, **kwargs)[source][source]

Generate an n×n rotation matrix.

New in version 0.3.0.

Parameters:

angle : float

Rotation angle in radians. If degrees is True, angle will be converted to radians from degrees. The sense of the rotation is defined by the right hand rule: If your right-hand’s thumb points along the axis, then your fingers wrap around the axis in the positive sense of the rotation angle.

axis : {None, array_like, str}, optional

An n-element array_like sequence defining the n components of the rotation axis or the string x, y, or z representing the x,y,z axes of a Cartesian coordinate system in 3D with unit vectors vx=ˆx, vy=ˆy, and vz=ˆz, respectively.

anchor_point : Point, optional

rot_point : Point, optional

from_vector, to_vector : Vector, optional

degrees : bool, optional

If True, convert angle from degrees to radians.

Returns:

Rmat : ndarray

If axis is None then Rmat will be a 2D rotation matrix R(θ) that rotates 2D vectors counterclockwise by angle θ.

If axis is not None then Rmat will be a rotation matrix that gives a rotation around the direction of the vector axis.