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)

Calculate the inverse of the DualQuaternion

Get the screw parameters from this DualQuaternion the implementation follow the following paper: “Dual Quaternions” by Yan-Bin Jia

Output: l: V3 a unit 3d vector that represent one of the plucker coordinates m: V3 a vector in 3d that represent the moment of the line l and his norm represent the distance from the origin to the line theta: Float the amount of rotation around the screw axis l d: Float the amount of translation along the screw axis l

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)

Normalize the DualQuaternion only if necessary

Create a new DualQuaternion from a homogeneous transformation matrix in SE(3)

Create a DualQuaternion that represent a rotation pure transformation

Calculate the conjugate of the DualQuaternion

Calculate the dual number conjugation of the DualQuaternion

Calculate the combined(as a dual number and Quaternion) conjugation of the DualQuaternion

Calculate the norm 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 zero DualQuaternion

construct a unit DualQuaternion

Trait Implementations

The resulting type after applying the + operator.

Performs the + operation. Read more

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

The resulting type after applying the / operator.

Performs the / operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the * operator.

Performs the * operation. Read more

The resulting type after applying the - operator.

Performs the unary - operation. Read more

Create an identity DualQuaternion

Sets self to the multiplicative identity element of Self, 1.

Returns true if self is equal to the multiplicative identity. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

The resulting type after applying the - operator.

Performs the - operation. Read more

Returns the additive identity element of Self, 0. Read more

Returns true if self is equal to the additive identity.

Sets self to the additive identity element of Self, 0.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Performs the conversion.

Performs the conversion.

The resulting type after obtaining ownership.

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.