Trait vector_space::InnerSpace[][src]

pub trait InnerSpace: DotProduct<Output = <Self as VectorSpace>::Scalar> {
Show 14 methods fn magnitude2(self) -> Self::Scalar { ... }
fn magnitude(self) -> Self::Scalar { ... }
fn normalize(self) -> Self { ... }
fn angle(self, other: Self) -> Self::Scalar { ... }
fn distance(self, other: Self) -> Self::Scalar { ... }
fn with_magnitude(self, magnitude: Self::Scalar) -> Self { ... }
fn with_direction(self, dir: Self) -> Self { ... }
fn query_axis(self, dir: Self) -> Self::Scalar { ... }
fn normalized_project(self, dir: Self) -> Self { ... }
fn project(self, dir: Self) -> Self { ... }
fn normalized_reject(self, dir: Self) -> Self { ... }
fn reject(self, dir: Self) -> Self { ... }
fn normalized_reflect(self, dir: Self) -> Self { ... }
fn reflect(self, dir: Self) -> Self { ... }
}
Expand description

This trait defines the dot product and adds commom vector operations.

Provided methods

The squared magnitude.

This is more efficient than calculating the magnitude. Useful if you need the squared magnitude anyway.

The magnitude of a vector.

The normalized vector.

The angle between two vectors.

The distance between two vectors.

Sets the magnitude of a vector.

Sets the direction of a vector.

The value of the vector along the specified axis.

Projects a vector onto an already normalized direction vector.

Projects a vector onto an arbitraty direction vector.

Rejects a vector from an already normalized direction vector.

Rejects a vector from an arbitraty direction vector.

Reflects a vector from an already normalized direction vector.

Reflects a vector from an arbitraty direction vector.

Implementations on Foreign Types

Implementors