transformation_matrix¶
-
sknano.core.math.transforms.transformation_matrix(angle=None, axis=None, anchor_point=None, rot_point=None, from_vector=None, to_vector=None, degrees=False, verbose=False, **kwargs)[source] [edit on github][source]¶ Generate an \((n+1)\times(n+1)\) transformation matrix for an affine transformation in \(n\) dimensions.
New in version 0.3.0.
Parameters: - angle (float) – Rotation angle in radians. If
degreesisTrue,anglewill 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 theaxis, 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, orzrepresenting the \(x, y, z\) axes of a Cartesian coordinate system in 3D with unit vectors \(\mathbf{v}_x=\mathbf{\hat{x}}\), \(\mathbf{v}_y=\mathbf{\hat{y}}\), and \(\mathbf{v}_z=\mathbf{\hat{z}}\), respectively. - anchor_point ({None, array_like}, optional) –
An \(n\)-element list or ndarray or
Pointdefining the origin of the rotation axis.If
anchor_pointis notNoneandaxisis aVectorinstance, then the origin of the vector defined byVector.p0will be changed toanchor_point.If
anchor_pointisNone, then it defaults to an \(n\)-element array of zeros. - degrees (bool, optional) – If
True, convertanglefrom degrees to radians.
Returns: Tmat – \(n+1\times n+1\) transformation matrix for an affine transform in \(n\) dimensions.
If
axisisNoneandanchor_pointisNone, thenTmatwill be a \(2D\) rotation matrix \(R(\theta)\) that rotates \(2D\) vectors counterclockwise byangle\(\theta\).If
axisisNoneandanchor_pointis a 2-element sequence, thenRmatwill be a \(2D\) rotation matrix \(R(\theta)\) about the \(2D\)Pointanchor_pointbyangle\(\theta\).If
axisis notNoneandanchor_pointisNone, thenRmatwill be a rotation matrix that gives a rotation around the direction of the vectoraxis.Return type: ndarray
Notes
- angle (float) – Rotation angle in radians. If