# 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: |

Ray |
A generic ray starting at |

Sphere |

## Enums

Relation |
Spatial relation between two objects. |

## Traits

Aabb | |

Bound |
Generic bound. |

Intersect | |

MinMax | |

Projection |

## Type Definitions

Line2 | |

Line3 | |

Ray2 | |

Ray3 |