Quaternion¶
-
class
gala.coordinates.Quaternion(wxyz)[source]¶ Bases:
objectQuaternions for 3D rotations.
This is largely thanks to Jake Vanderplas: https://jakevdp.github.io/blog/2012/11/24/simple-3d-visualization-in-matplotlib/
Parameters: wxyz : array_like
A quaternion in vector representation. Order is assumed to be
(w,x,y,z).Attributes Summary
rotation_matrixCompute the rotation matrix of the (normalized) quaternion. v_thetaReturn the (v, theta)equivalent of the (normalized) quaternion.Methods Summary
from_v_theta(v, theta)Create a quaternion from unit vector v and rotation angle theta. random()Randomly sample a Quaternion from a distribution uniform in 3D rotation angles. Attributes Documentation
-
rotation_matrix¶ Compute the rotation matrix of the (normalized) quaternion.
Returns: R :
ndarrayA 3 by 3 rotation matrix (has shape
(3,3)).
-
v_theta¶ Return the
(v, theta)equivalent of the (normalized) quaternion.Returns: v : float
theta : float
Methods Documentation
-
classmethod
from_v_theta(v, theta)[source]¶ Create a quaternion from unit vector v and rotation angle theta.
Returns: q :
gala.coordinates.QuaternionA
Quaternioninstance.
-
classmethod
random()[source]¶ Randomly sample a Quaternion from a distribution uniform in 3D rotation angles.
https://www-preview.ri.cmu.edu/pub_files/pub4/kuffner_james_2004_1/kuffner_james_2004_1.pdf
Returns: q :
gala.coordinates.QuaternionA randomly sampled
Quaternioninstance.
-