Crate collision [] [src]

Computer graphics-centric math.

This crate provides useful mathematical primitives and operations on them. It is organized into one module per primitive. The core structures are vectors and matrices. A strongly-typed interface is provided, to prevent mixing units or violating mathematical invariants.

Transformations are not usually done directly on matrices, but go through transformation objects that can be converted to matrices. Rotations go through the Basis types, which are guaranteed to be orthogonal matrices. Despite this, one can directly create a limited rotation matrix using the look_at, from_angle, from_euler, and from_axis_angle methods. These are provided for convenience.

Structs

Aabb2

A two-dimensional AABB, aka a rectangle.

Aabb3

A three-dimensional AABB, aka a rectangular prism.

Cylinder
Frustum
FrustumPoints
Obb2
Obb3
Plane

A 3-dimensional plane formed from the equation: A*x + B*y + C*z - D = 0.

Ray

A generic ray starting at origin and extending infinitely in direction.

Sphere

Enums

Relation

Spatial relation between two objects.

Traits

Aabb
Bound

Generic bound.

Intersect
MinMax
Projection

Type Definitions

Line2
Line3
Ray2
Ray3