# [−][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 |

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. |