DS_Store file, we make a memory-only object within ExpanDrive to represent it. When the system requests creation of a new. Quaternion interpolation (slerp, squad).ExpanDrive does not create new.Basic point set registration, including solutions of the Procrustes problemĪnd the Iterative Closest Point algorithm.Various distance metrics for quaternions.
Rotation and reflection operations, with conversions to and from matrices, axis angles, etc. Derivatives and integrals of quaternions. Algebra (multiplication, exponentiation, etc). In order to provide a unified framework for working with the various rotation formalisms in 3D, rowan allows easy interconversion between these formalisms.Ĭore features of rowan include (but are not limited to): measuring distances between quaternions, interpolating between them, and performing basic point-cloud mapping.Ī particular focus of the rowan package is working with unit quaternions, which are a popular means of representing rotations in 3D. This package provides tools for standard algebraic operations on quaternions as well as a number of additional tools for e.g. Quaternions are encoded as arrays of shape `(., 4)`, with the convention that the final dimension of an array ``(a, b, c, d) represents the quaternion a + bi + cj + dk. The package is built entirely on top of NumPy and represents quaternions using NumPy arrays, meaning that all functions support arbitrarily high-dimensional arrays of quaternions. Quaternions are now commonly used for this purpose in various fields, including computer graphics and attitude control. Quaternions, which form a number system with various interesting properties, were originally developed for classical mechanics.Īlthough they have since been largely displaced from this application by vector mathematics, they have become a standard method of representing rotations in three dimensions. Welcome to the documentation for rowan, a package for working with quaternions!