Function inv

Source
pub fn inv<T, U>(a: U) -> U
where T: Float, U: QuaternionOps<T>,
Expand description

Calculate the inverse of Quaternion or Pure Quaternion (Vector3).

ยงExamples

// ---- Pure Quaternion (Vector3) ---- //
let v: Vector3<f64> = [1.0, 2.0, 3.0];
 
// Identity quaternion
let id = mul( v, inv(v) );  // = mul( inv(v), v );
 
assert!( (id.0 - 1.0).abs() < 1e-12 );
assert!( id.1[0].abs() < 1e-12 );
assert!( id.1[1].abs() < 1e-12 );
assert!( id.1[2].abs() < 1e-12 );
 
// ---- Quaternion ---- //
let q: Quaternion<f64> = (1.0, [2.0, 3.0, 4.0]);
 
// Identity quaternion
let id = mul( q, inv(q) );  // = mul( inv(q), q );
 
assert!( (id.0 - 1.0).abs() < 1e-12 );
assert!( id.1[0].abs() < 1e-12 );
assert!( id.1[1].abs() < 1e-12 );
assert!( id.1[2].abs() < 1e-12 );