Quaternion

Type Alias Quaternion 

Source
pub type Quaternion<T> = (T, Vector3<T>);
Expand description

Quaternion

The type (q0, [q1, q2, q3]) is equivalent to the expression q0 + q1i + q2j + q3k, where 1, i, j, k are basis of quaternions and satisfy the following equality:

i^2 = j^2 = k^2 = ijk = -1

Trait Implementations§

Source§

impl<T: Float> QuaternionOps<T> for Quaternion<T>

Source§

fn sum(self) -> T

Source§

fn add(self, rhs: Quaternion<T>) -> Quaternion<T>

self + rhs
Source§

fn sub(self, rhs: Quaternion<T>) -> Quaternion<T>

self - rhs
Source§

fn scale(self, s: T) -> Quaternion<T>

s * self
Source§

fn scale_add(self, s: T, b: Quaternion<T>) -> Quaternion<T>

s * self + b
Source§

fn hadamard(self, rhs: Quaternion<T>) -> Quaternion<T>

self ∘ rhs
Source§

fn hadamard_add(self, b: Quaternion<T>, c: Quaternion<T>) -> Quaternion<T>

self ∘ b + c
Source§

fn dot(self, b: Quaternion<T>) -> T

Source§

fn norm(self) -> T

Source§

fn negate(self) -> Quaternion<T>

-self
Source§

fn mul(self, rhs: Quaternion<T>) -> Quaternion<T>

self * rhs
Source§

fn inv(self) -> Quaternion<T>

Source§

fn exp(self) -> Quaternion<T>