# Module nannou::math[−][src]

A mathematical foundation for nannou including point and vector types and a range of helper/utility functions.

## Re-exports

 `pub use cgmath;` `pub use self::cgmath::num_traits;`

## Modules

 prelude This module contains the most common traits used in `cgmath`. By glob-importing this module, you can avoid the need to import each trait individually, while still being selective about what types you import.

## Structs

 Basis2 A two-dimensional rotation matrix. Basis3 A three-dimensional rotation matrix. Decomposed A generic transformation consisting of a rotation, displacement vector and scale amount. Deg An angle, in degrees. Euler A set of Euler angles representing a rotation in three-dimensional space. Matrix2 A 2 x 2, column major matrix Matrix3 A 3 x 3, column major matrix Matrix4 A 4 x 4, column major matrix Ortho An orthographic projection with arbitrary left/right/bottom/top distances Perspective A perspective projection with arbitrary left/right/bottom/top distances PerspectiveFov A perspective projection based on a vertical field-of-view angle. Quaternion A quaternion in scalar/vector form. Rad An angle, in radians.

## Traits

 Angle Angles and their associated trigonometric functions. Array An array containing elements of type `Element` BaseFloat Base floating point types BaseNum Base numeric types with partial ordering Bounded Numbers which have upper and lower bounds ElementWise Element-wise arithmetic operations. These are supplied for pragmatic reasons, but will usually fall outside of traditional algebraic properties. EuclideanSpace Points in a Euclidean space with an associated space of displacement vectors. Float Generic trait for floating point numbers InnerSpace Vectors that also have a dot (or inner) product. Matrix A column-major matrix of arbitrary dimensions. MetricSpace A type with a distance function between values. NumCast An interface for casting between machine scalars. One Defines a multiplicative identity element for `Self`. Rotation A trait for a generic rotation. A rotation is a transformation that creates a circular motion, and preserves at least one point in the space. Rotation2 A two-dimensional rotation. Rotation3 A three-dimensional rotation. SquareMatrix A column-major major matrix where the rows and column vectors are of the same dimensions. Transform A trait representing an affine transformation that can be applied to points or vectors. An affine transformation is one which Transform2 Transform3 VectorSpace Vectors that can be added together and multiplied by scalars. Zero Defines an additive identity element for `Self`.

## Functions

 clamp Clamp a value between some range. deg_to_rad Convert the given angle in degrees to the same angle in radians. fmod Models the C++ fmod function. map_range Maps a value from an input range to an output range. partial_max The max between two partially ordered values. partial_min The min between two partially ordered values. rad_to_deg Convert the given angle in radians to the same angle in degrees. rad_to_turns Convert the given value in radians to the equivalent value as a number of turns. turns_to_rad Convert the given value as a number of “turns” into the equivalent angle in radians. two