`Gg.P3`

3D points.

`type t = p3`

The type for points.

`dim`

is the dimension of points of type `p3`

.

`type mh = m4`

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

`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)`

.

`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).