to_homochoric#

Symmetry.to_homochoric() Homochoric[source]#

Return the unit quaternions as homochoric vectors [Rowenhorst et al., 2015].

Returns:
ho

Homochoric vectors parallel to the axes of rotation with lengths equal to \(\left[\frac{3}{4}\cdot(\theta - \sin(\theta))\right]^{1/3}\), where \(\theta\) is the angle of rotation.

Notes

Homochoric vectors are often used for plotting orientations as they create an isomorphic (though not angle-preserving) mapping from the non-euclidean orientation space into Cartesian coordinates. Additionally, unlike Rodrigues vectors, all rotations map into a finite space, bounded by a sphere of radius \(\pi\).

Examples

A 3-fold rotation about the [111] axis

>>> from orix.quaternion import Quaternion
>>> Q = Quaternion.from_axes_angles([1, 1, 1], 120, degrees=True)
>>> ho = Q.to_homochoric()
>>> ho
Homochoric (1,)
[[0.5618 0.5618 0.5618]]