[−][src]Trait alga::linear::Rotation
Subgroups of the n-dimensional rotation group SO(n)
.
Required Methods
fn powf(&self, n: E::Real) -> Option<Self>
Raises this rotation to a power. If this is a simple rotation, the result must be
equivalent to multiplying the rotation angle by n
.
fn rotation_between(a: &E::Coordinates, b: &E::Coordinates) -> Option<Self>
Computes a simple rotation that makes the angle between a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
.
fn scaled_rotation_between(
a: &E::Coordinates,
b: &E::Coordinates,
s: E::Real
) -> Option<Self>
a: &E::Coordinates,
b: &E::Coordinates,
s: E::Real
) -> Option<Self>
Computes the rotation between a
and b
and raises it to the power n
.
This is equivalent to calling self.rotation_between(a, b)
followed by .powf(n)
but will
usually be much more efficient.
Implementors
impl<E: EuclideanSpace> Rotation<E> for Id
[src]
impl<E: EuclideanSpace> Rotation<E> for Id
fn powf(&self, _: E::Real) -> Option<Self>
[src]
fn powf(&self, _: E::Real) -> Option<Self>
fn rotation_between(a: &E::Coordinates, b: &E::Coordinates) -> Option<Self>
[src]
fn rotation_between(a: &E::Coordinates, b: &E::Coordinates) -> Option<Self>
fn scaled_rotation_between(
a: &E::Coordinates,
b: &E::Coordinates,
_: E::Real
) -> Option<Self>
[src]
fn scaled_rotation_between(
a: &E::Coordinates,
b: &E::Coordinates,
_: E::Real
) -> Option<Self>