We define a variety of quantities for each surface **L**, where
.
Where the context to a general surface is clear, we shall omit the subscript
**L**.
Geometries are required to form full enclosures, as all particles must be
traced eventually to absorption---thus, no ``holes'' are permitted.

We define and store the following quantities for every surface **L** during the
input phase of the program:

(where denotes the cross product).

Note that, the surface normal vector is defined as pointing to the
right when proceeding from node to node .
This is important because we allow particles to interact with only the
* front* of the surface.
Normally, the back of the surface is the solid material from whence the
particles derive and which serves to absorb incident particles (recall that a
surface has zero thickness, and thus contains no material).

We restrict our analysis to enclosures, i.e., closed geometries such as shown
in
Figure 3
(frequently in practice, actual ``holes'' exist in
geometries---these are modelled as totally absorptive surfaces).
Figure 3(a)
shows a square, while
Figure 3(b)
depicts a
generalized geometry, with an interior element (which must be supported
somewhere in **Z**---not shown) and shading, i.e., the geometry is convex.

Figure 3: Cross-Sections of Prismatic Geometries.