A method of rotation.

the disjoint list of quaternions, those equal up to a tolerance in the coefficients taken as one

Syntax

u = unique(q)

Sorted, one of each.

u = unique(q, tol=0.01)

A coarser tolerance.

u = unique(q, stable=True)

In the order of first appearance.

u, iq, iu = unique(q, return_index=True, return_inverse=True)

The index maps.

Description

Two quaternions are one when their coefficients agree to tol after rounding to multiples of it, so two close quaternions on either side of a rounding step stay apart. A quaternion and its negative, one rotation, are kept apart unless antipodal is set; orientation.unique takes them as one.

Input

q quaternion

Keywords

keyword default description
tol 0.001 the tolerance in the coefficients
antipodal False take q and -q as one
stable False keep the order of first appearance instead of sorting
return_index False also return iq
return_inverse False also return iu

Output

u quaternion, a one-dimensional list
iq indices with u = q.flatten()[iq]
iu indices with q.flatten() = u[iu]

See also

orientation.unique, vector3d.unique

MATLAB’s rotation.unique

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.unique_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.