Trait vector_space::InnerSpace[][src]

pub trait InnerSpace: VectorSpace {
Show 14 methods fn scalar(self, other: Self) -> Self::Scalar; fn magnitude2(self) -> Self::Scalar { ... }
fn magnitude(self) -> Self::Scalar { ... }
fn normalize(self) -> Self { ... }
fn angle(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 scalar product and adds commom vector operations.

Required methods

The scalar product.

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.

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