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