Module Gg.P2

2D points.

type t = p2

The type for points.

val dim : int

dim is the dimension of points of type p2.

type mh = m3

The type for matrices representing linear transformations of homogenous 2D space.

Constructors, accessors and constants

val v : float -> float -> p2

v x y is the point (x y).

val x : p2 -> float

x p is the x coordinate of p.

val y : p2 -> float

y p is the y coordinate of p.

val o : p2

o is the point (0 0).

Functions

val mid : p2 -> p2 -> p2

mid p q is the mid point (p + q)/2.

val tr : m3 -> p2 -> p2

tr m p is the affine transform in homogenous 2D space of the point p by m.

Note. Since m is supposed to be affine the function ignores the last row of m. p is treated as a finite point (its last coordinate in homogenous space is 1). Use V2.tr to transform vectors (infinite points).