.TH ARITH3 3
.SH NAME
add3, sub3, neg3, div3, mul3, eqpt3, closept3, dot3, cross3, len3, dist3, unit3, midpt3, lerp3, reflect3, nearseg3, pldist3, vdiv3, vrem3, pn2f3, ppp2f3, fff2p3, pdiv4, add4, sub4 \- operations on 3-d points and planes
.SH SYNOPSIS
.PP
.B
#include <draw.h>
.PP
.B
#include <geometry.h>
.PP
.B
Point3 add3(Point3 a, Point3 b)
.PP
.B
Point3 sub3(Point3 a, Point3 b)
.PP
.B
Point3 neg3(Point3 a)
.PP
.B
Point3 div3(Point3 a, double b)
.PP
.B
Point3 mul3(Point3 a, double b)
.PP
.B
int eqpt3(Point3 p, Point3 q)
.PP
.B
int closept3(Point3 p, Point3 q, double eps)
.PP
.B
double dot3(Point3 p, Point3 q)
.PP
.B
Point3 cross3(Point3 p, Point3 q)
.PP
.B
double len3(Point3 p)
.PP
.B
double dist3(Point3 p, Point3 q)
.PP
.B
Point3 unit3(Point3 p)
.PP
.B
Point3 midpt3(Point3 p, Point3 q)
.PP
.B
Point3 lerp3(Point3 p, Point3 q, double alpha)
.PP
.B
Point3 reflect3(Point3 p, Point3 p0, Point3 p1)
.PP
.B
Point3 nearseg3(Point3 p0, Point3 p1, Point3 testp)
.PP
.B
double pldist3(Point3 p, Point3 p0, Point3 p1)
.PP
.B
double vdiv3(Point3 a, Point3 b)
.PP
.B
Point3 vrem3(Point3 a, Point3 b)
.PP
.B
Point3 pn2f3(Point3 p, Point3 n)
.PP
.B
Point3 ppp2f3(Point3 p0, Point3 p1, Point3 p2)
.PP
.B
Point3 fff2p3(Point3 f0, Point3 f1, Point3 f2)
.PP
.B
Point3 pdiv4(Point3 a)
.PP
.B
Point3 add4(Point3 a, Point3 b)
.PP
.B
Point3 sub4(Point3 a, Point3 b)
.SH DESCRIPTION
These routines do arithmetic on points and planes in affine or projective 3-space.
Type
.B Point3
is
.IP
.EX
.ta 6n
typedef struct Point3 Point3;
struct Point3{
	double x, y, z, w;
};
.EE
.PP
Routines whose names end in
.B 3
operate on vectors or ordinary points in affine 3-space, represented by their Euclidean
.B (x,y,z)
coordinates.
(They assume
.B w=1
in their arguments, and set
.B w=1
in their results.)
.TF reflect3
.TP
Name
Description
.TP
.B add3
Add the coordinates of two points.
.TP
.B sub3
Subtract coordinates of two points.
.TP
.B neg3
Negate the coordinates of a point.
.TP
.B mul3
Multiply coordinates by a scalar.
.TP
.B div3
Divide coordinates by a scalar.
.TP
.B eqpt3
Test two points for exact equality.
.TP
.B closept3
Is the distance between two points smaller than 
.IR eps ?
.TP
.B dot3
Dot product.
.TP
.B cross3
Cross product.
.TP
.B len3
Distance to the origin.
.TP
.B dist3
Distance between two points.
.TP
.B unit3
A unit vector parallel to
.IR p .
.TP
.B midpt3
The midpoint of line segment 
.IR pq .
.TP
.B lerp3
Linear interpolation between 
.I p
and
.IR q .
.TP
.B reflect3
The reflection of point
.I p
in the segment joining 
.I p0
and
.IR p1 .
.TP
.B nearseg3
The closest point to 
.I testp
on segment
.IR "p0 p1" .
.TP
.B pldist3
The distance from 
.I p
to segment
.IR "p0 p1" .
.TP
.B vdiv3
Vector divide \(em the length of the component of 
.I a
parallel to
.IR b ,
in units of the length of
.IR b .
.TP
.B vrem3
Vector remainder \(em the component of 
.I a
perpendicular to
.IR b .
Ignoring roundoff, we have 
.BR "eqpt3(add3(mul3(b, vdiv3(a, b)), vrem3(a, b)), a)" .
.PD
.PP
The following routines convert amongst various representations of points
and planes.  Planes are represented identically to points, by duality;
a point
.B p
is on a plane
.B q
whenever
.BR p.x*q.x+p.y*q.y+p.z*q.z+p.w*q.w=0 .
Although when dealing with affine points we assume
.BR p.w=1 ,
we can't make the same assumption for planes.
The names of these routines are extra-cryptic.  They contain an
.B f
(for `face') to indicate a plane,
.B p
for a point and
.B n
for a normal vector.
The number
.B 2
abbreviates the word `to.'
The number
.B 3
reminds us, as before, that we're dealing with affine points.
Thus
.B pn2f3
takes a point and a normal vector and returns the corresponding plane.
.TF reflect3
.TP
Name
Description
.TP
.B pn2f3
Compute the plane passing through
.I p
with normal
.IR n .
.TP
.B ppp2f3
Compute the plane passing through three points.
.TP
.B fff2p3
Compute the intersection point of three planes.
.PD
.PP
The names of the following routines end in
.B 4
because they operate on points in projective 4-space,
represented by their homogeneous coordinates.
.TP
pdiv4
Perspective division.  Divide
.B p.w
into
.IR p 's
coordinates, converting to affine coordinates.
If
.B p.w
is zero, the result is the same as the argument.
.TP
add4
Add the coordinates of two points.
.PD
.TP
sub4
Subtract the coordinates of two points.
.SH SOURCE
.B \*9/src/libgeometry
.SH "SEE ALSO
.IR matrix (3)
