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

Various methods for computing with vectors.

## Functions

 abs_transform Transforms from normalized to absolute coordinates. add Adds two vectors. area Computes area of a simple polygon. area_centroid Computes the area and centroid of a simple polygon. cast Converts to another vector type. centroid Computes centroid of a simple polygon. cross Computes the cross product. dot Computes the dot product. from_barycentric Transforms from barycentric coordinates to cartesian. get_scale Extract scale information from matrix. hsv Transform color with hue, saturation and value. identity Create an identity matrix. inside_triangle Returns true if point is inside triangle. least_separation_4 Returns the least separation out of four. Each seperation can be computed using separation function. The separation returned can be used to solve collision of rectangles. line_side Returns a number that tells which side it is relative to a line. modular_offset Computes modular offset safely for numbers. mul Multiplies two vectors component wise. mul_scalar Multiplies the vector with a scalar. multiply Multiplies two matrices. orient Orients x axis to look at point. overlap_rectangle Computes overlap between two rectangles. The area of the overlapping rectangle is positive. A shared edge or corner is not considered overlap. perp Creates a perpendicular vector. relative_rectangle Computes a relative rectangle using the rectangle as a tile. relative_source_rectangle Computes a relative source rectangle using the source rectangle as a tile. rotate_radians Creates a rotation matrix. scale Create a scale matrix. separation Compute the shortest vector from point to ray. A ray stores starting point and directional vector. shear Create a shear matrix. square_len Computes the square length of a vector. sub Subtracts 'b' from 'a'. to_barycentric Transforms from cartesian coordinates to barycentric. transform_pos Transforms a 2D position through matrix. transform_vec Transforms a 2D vector through matrix. translate Creates a translation matrix. triangle_face Returns true if triangle is clockwise.

## Type Definitions

 Vec3d The type used for 3D vectors.