Geometry

Header file geometry.h

The geometry classes use the vector classes. In this document, `vector', `point' and `centre' imply objects of type `Vector'.

Input/output

Surface class

General pattern:
type_name
parameters

type_name parameters
planenormal_vector (n) family_parameter (f=n.r : r = point_in_plane)
cylinderpoint_on_axis axis_vector radius
conepoint_on_axis axis_vector half_angle (radians)
general_conepoint_on_axis axis_vector half_angle (radians) radius_at_point_on_axis
spherecentre radius
ellipsoidcentre radius_1 radius_2 ... radius_N
general_ellipsoidcentre axis_vector_1 axis_vector_2 ... axis_vector_N radius_1 radius_2 ... radius_N

Programming

Class `Line'

Parametric line, defined by a point `a' on the line and a direction vector `v'.

Class `Surface'

Class `Plane'

Class `Cylinder'

Class `Cone'

Class `Gencone'

Class `Sphere'

Class `Ellipsoid'

Class `Genellipsoid'

Class `Surface_function'

Class `Outside'

Class `Surface_subset'

Class `Surface_intersection'

Class `Surface_union'

Fitting surfaces to data

Point

Plane

Sphere

Ellipsoid