proper rotations represented by unit quaternions, with opposite signs identified.

Syntax

rot = rotation(a, b, c, d)
rot = rotation(q)
rot = rotation(cs)

Description

Numeric coefficients and general quaternions are normalised on construction. A point group or reference frame supplies its proper rotational parts. Improper orthogonal transforms cannot be converted to a rotation; use orthogonalTransform to retain parity.

For vector3d data, rot*v rotates each vector. The product rot1*rot2 applies rot2 first, then rot1. Array shapes broadcast, while the trailing four coefficients are internal to each element.

Keywords

keyword default description
dtype   floating-point type of the stored coefficients

Properties

a, b, c, d unit quaternion coefficients, with opposite signs representing the same rotation
data coefficient array of shape rot.shape + (4,)
phi1, Phi, phi2 Bunge Euler angles in radians
shape shape of the rotation array

See also

rotation.byEuler, rotation.byAxisAngle, rotation.byMatrix, quaternion

Members

byAxisAngle construct right-handed rotations about given axes
byCubochoric construct rotations from equal-volume cubochoric coordinates
byEuler rotations defined by Euler angles
byHomochoric construct rotations from coordinates in the homochoric ball
byMatrix construct rotations from proper orthogonal matrices
byRodrigues construct rotations from dimensionless Rodrigues vectors
calcDensity estimate a smooth density from orientations, directions, angles or real-valued samples
cat the list of the operands, MATLAB’s [r1, r2]
discrepancy the discrepancy between two densities and/or weighted point sets on the sphere (S2Fun, vector3d) or on SO(3) (SO3Fun, rotation, orientation), in either order
dot the inner product up to sign, since q and -q are one rotation
dot_outer the inner product up to sign, since q and -q are one rotation
double the coordinates of the images of an embedding in their orthonormal basis, one row per orientation, e.double()
fit the rotation best mapping the list u onto the list v, by Horn’s quaternion method or Kabsch’s matrix method
id the identity, 1 + 0i + 0j + 0k (MATLAB’s id and eye)
interp interp(ori, values, ‘harmonic’ | ‘bingham’): a function on SO(3) through values at the rotations, by the function spaces above this layer, MATLAB’s rotation/interp
inv return the rotation that reverses each input rotation
inversion the inversion, the orthogonalTransform -I
isclose equal within the angular tolerance tol, MATLAB’s eq
map the smallest rotation taking u1 to v1, or the one taking u1 to v1 and u2 to v2
matrix return the numeric rotation matrix of each unit quaternion
mtimes  
nan construct quaternions whose four coefficients are NaN
plotSection plotSection(odf), plotSection(odf, ‘sigma’), plotSection(ori, oS, sections=9)
rand uniformly distributed rotations, the Haar measure
rotation proper rotations represented by unit quaternions, with opposite signs identified
subsref  
times  
transpose the transpose of the leading axes
uminus  
unique the disjoint list of quaternions, those equal up to a tolerance in the coefficients taken as one

Used on

CrystalSymmetries, MTEXvsBungeConvention, EBSDKAM, RotationDefinition, RotationImproper, SO3FunConvolution, SO3FunOperations, SO3FunVectorValued

MATLAB’s rotation_index

source

Citing this page. This page is part of the documentation of MTEX, a free and open source MATLAB toolbox for analyzing and modeling crystallographic textures. It was written by The MTEX Developers and is published at https://mtex-toolbox.github.io/rotation_index_py.html. If you use MTEX, or reuse text or figures from this page, in your research, please cite

F. Bachmann, R. Hielscher, H. Schaeben: Texture Analysis with MTEX - Free and Open Source Software Toolbox, Solid State Phenomena 160 (2010), 63-68. 10.4028/www.scientific.net/SSP.160.63

BibTeX
@article{bachmann2010mtex,
  author  = {F. Bachmann and R. Hielscher and H. Schaeben},
  title   = {Texture Analysis with MTEX - Free and Open Source Software Toolbox},
  journal = {Solid State Phenomena},
  volume  = {160},
  pages   = {63-68},
  year    = {2010},
  doi     = {10.4028/www.scientific.net/SSP.160.63},
  url     = {https://doi.org/10.4028/www.scientific.net/SSP.160.63}
}

Other papers describing specific MTEX methods are listed under Publications — please cite the one that best fits your application. The MTEX source code is licensed under the GNU General Public License v2.0; the text and figures of this documentation are licensed under CC BY 4.0, which permits reuse — including by automated systems — provided The MTEX Developers and this page are credited.