diagrams-lib-1.2.0.1: Embedded domain-specific language for declarative graphics

Diagrams.TwoD.Vector

Description

Two-dimensional vectors.

Synopsis

# Special 2D vectors

The unit vector in the positive X direction.

The unit vector in the positive Y direction.

The unit vector in the negative X direction.

The unit vector in the negative Y direction.

# Converting between vectors and angles

Compute the direction of a vector, measured counterclockwise from the positive x-axis as a fraction of a full turn. The zero vector is arbitrarily assigned the direction 0.

angleBetween :: (InnerSpace v, Scalar v ~ Double) => v -> v -> Angle Source

compute the positive angle between the two vectors in their common plane

Convert an angle into a unit vector pointing in that direction.

e :: Angle -> R2 Source

A convenient synonym for `fromDirection`.

# 2D vector utilities

perp :: R2 -> R2 Source

`perp v` is perpendicular to and has the same magnitude as `v`. In particular `perp v == rotateBy (1/4) v`.

leftTurn :: R2 -> R2 -> Bool Source

`leftTurn v1 v2` tests whether the direction of `v2` is a left turn from `v1` (that is, if the direction of `v2` can be obtained from that of `v1` by adding an angle 0 <= theta <= tau/2).