Struct static_math::dual_quaternion::DualQuaternion [−][src]
pub struct DualQuaternion<T> { /* fields omitted */ }
Implementations
Get the real Quaternion part
Get the dual Quaternion part
Create a pure rotation transformation from a given Quaternion
Create a Dual Quaternion that represent a point when the real part is a unit and the dual part is a pure Quaternion
Convert the DualQuaternion
to a homogeneus transformation matrix M44<Float>
in SE(3)
Get the screw parameters from this DualQuaternion
the implementation follow the following
paper: “Dual Quaternions” by Yan-Bin Jia
Output:
l: V3
Create a DualQuaternion
from the screw parameters
Function arguments:
l
: a unit vector that represent the screw axis
m
: screw axis moment that its perpendicular to l (m * l = 0) and the norm represent the
actual moment
theta
: screw angle, represent the amount of rotation around the screw axis
d
: screw displacement, represent the amount of displacement along the screw axis
Compute the power of the DualQuaternion
Function arguments:
exponent
: Float the exponent to raise the power
Output: Self^(exponent)
Screw Linear Interpolation: is an extension of the spherical linear interpolation (SLERP)
over Quaternions. It performs a screw motion with constant rotation and translation speeds
from begin
to end
Function arguments:
begin
: DualQuaternion<Float>
the first “point” for the interpolation
end
: DualQuaternion<Float>
the second “point” for the interpolation
tau
: Float in [0, 1] representing how far along and around the screw axis to interpolate
Create a DualQuaternion
from an array that encodes a Quaternion and a 3d vecto (V3
Create a DualQuaternion
that represent a pure translation transformation
Create a new DualQuaternion from a rotation(Quaternion) and translation(V3)
Create a new DualQuaternion
from a homogeneous transformation matrix in SE(3)
Create a DualQuaternion
that represent a rotation pure transformation
Calculate the dual number conjugation of the DualQuaternion
Calculate the combined(as a dual number and Quaternion) conjugation of the DualQuaternion
Get the underlying rotation and translation from the DualQuaternion
Get the underlying translation from the DualQuaternion
Get the underlying Quaternion and translation from the DualQuaternion
Transform the given point in 3D with the transformation that represent this
DualQuaternion
like a homogeneous transformation in SE(3)
Construct a new DualQuaternion from two V4
construct a unit DualQuaternion
Trait Implementations
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
This method tests for !=
.
Auto Trait Implementations
impl<T> RefUnwindSafe for DualQuaternion<T> where
T: RefUnwindSafe,
impl<T> Send for DualQuaternion<T> where
T: Send,
impl<T> Sync for DualQuaternion<T> where
T: Sync,
impl<T> Unpin for DualQuaternion<T> where
T: Unpin,
impl<T> UnwindSafe for DualQuaternion<T> where
T: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more