gloss- Painless 2D vector graphics, animations and simulations.
Safe HaskellNone



Geometric functions concerning vectors.



type Vector = Point #

A vector can be treated as a point, and vis-versa.

magV :: Vector -> Float Source #

The magnitude of a vector.

argV :: Vector -> Float Source #

The angle of this vector, relative to the +ve x-axis.

dotV :: Vector -> Vector -> Float Source #

The dot product of two vectors.

detV :: Vector -> Vector -> Float Source #

The determinant of two vectors.

mulSV :: Float -> Vector -> Vector Source #

Multiply a vector by a scalar.

rotateV :: Float -> Vector -> Vector Source #

Rotate a vector by an angle (in radians). +ve angle is counter-clockwise.

angleVV :: Vector -> Vector -> Float Source #

Compute the inner angle (in radians) between two vectors.

normalizeV :: Vector -> Vector Source #

Normalise a vector, so it has a magnitude of 1.

unitVectorAtAngle :: Float -> Vector Source #

Produce a unit vector at a given angle relative to the +ve x-axis. The provided angle is in radians.