Macro ami::quat [−]
macro_rules! quat { ( ) => { ... }; ( $ expr : expr ) => { ... }; ( $ axis : expr ; $ angle : expr ) => { ... }; ( $ x : expr , $ y : expr , $ z : expr ; $ angle : expr ) => { ... }; }
Single-precision quaternion macro constructor.
Identity.
let q = quat!(); assert_eq!(q.as_ref(), &[0.0, 0.0, 0.0, 1.0]);
Rotation around explicit axis values.
use std::f32::consts::PI; let q = quat!(1.0, 0.0, 0.0; PI / 2.0); assert_relative_eq!(q, Quat::new(f32::cos(PI / 4.0), 0.0, 0.0, f32::sin(PI / 4.0)));
Rotation around a Vec3
axis.
use std::f32::consts::PI; let axis = vec3!(1.0, 0.0, 0.0); let q = quat!(axis; PI / 2.0); assert_relative_eq!(q, Quat::new(f32::cos(PI / 4.0), 0.0, 0.0, f32::sin(PI / 4.0)));