Module Gg.P3

type t = p3

The type for points.

val dim : int

dim is the dimension of points of type p3.

type mh = m4

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

Constructors, accessors and constants

val v : float -> float -> float -> p3

v x y z is the point (x y z).

val x : p3 -> float

x p is the x coordinate of p.

val y : p3 -> float

y p is the y coordinate of p.

val z : p3 -> float

y p is the z coordinate of p.

val o : p3

o is the point (0 0 0).

Functions

val mid : p3 -> p3 -> p3

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

val tr : m4 -> p3 -> p3

tr m p is the affine transform in homogenous 3D 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 V3.tr to transform vectors (infinite points).