Boundary Representation Methods.

Copyright (c) Susan Laflin. August 1999.

A boundary-representation method describes the object in terms of its boundary surfaces in three-dimensional space. It implies that the INSIDE of the surface is solid, filled with whatever substance is used to construct the object. It is necessary to know the value of the outward-facing normal at any point on the surface in order to say which side of the boundary surface is solid and which is not. This implies the following hierarchic data structure.

Vertex	A set of [x,y,z] coordinates for each vertex. These will probably 
	be held in a real array.
Edge	This is specified by the start and end vertices and the equation 
	of the curve joining them. The equation of the curve may be 
	expressed in parametric form, as the intersection of two 
	surfaces or in any other manner. 
Loop	This consists of one or more edges, traversed in a specified 
	direction. 
Face 	This is specified by a list of one or more loops, making up a 
	closed boundary, the equation of the surface and the direction 
	of the outward facing normal, n. This direction is usually 
	specified as a unit vector. 
Shell	This is specified by a list of one or more faces. It should 
	define a closed surface. 
Object	This is specified by a list of shells, one of which is 
	identified as the `outer shell'.

The precise format used to code and store this data will vary with different modellers. Some modellers include simplifying assumptions which impose restrictions on the data. It is not usually possible to optimise both speed and storage simultaneously.

Advantages of the Boundary Representation.

1) This format gives efficient picture generation and easy access to other 
   geometric information. 

2) The changes produced by most editing operations (e.g. tilting one face 
   through a given angle) cause local effects not global ones.

3) It is comparatively easy to define a face lying on a surface defined 
   parametrically.

4) It is easy to create objects by "sweeping". i.e. a complex two-dimensional 
   profile may be translated or rotated about an axis to give a shape in 
   three-dimensions. 

Problems with the Boundary Representation.

1) It requires more storage than the corresponding half-space method.

2) There is no guarantee that the object created is valid ( i.e. complete, 
   unambiguous, uniquely defined). Additional checks for validity, such as 
   Euler's Rule, will be needed to ensure this.

3) It is usually less robust than the half-space method.

4) Each object is defined independently, without reference to other objects in 
   the system. It is not easy to define "generic" or "parametric" models for 
   families of parts. 

Tessellated Modellers.

This describes a class of simplified boundary-representation modellers which approximate to curved faces by a number of plane faces. Since these modellers are restricted to plane faces and this implies that all the edges are linear and all the loops are closed polygons. This restriction considerably reduces the amount of calculation needed to display the output and so speeds things up.It also simplifies the calculation of intersections and the hidden-line or hidden-surface removal.

However there are penalties associated with this type of modeller. Some objects are very difficult to represent, a simple example of such an object is a ball or sphere. For this type of curved surface, the user has a choice between accepting a very poor approximation or increasing the number of plane facets to the point where all the earlier advantages are lost in the sheer volume of data generated.

For applications where most of the objects are composed of flat faces, this type of modeller is very efficient and provides a perfectly adequate representation of the data. One such example is architecture where most of the surfaces generated are made up of plane facets. The main lesson to be learnt from this discussion is that modellers should be chosen to fit the required application.

When attempting to enconomise on storage, it is possible to store objects expressed in terms of their faces alone, the edges may then be calculated from the intersections of the faces if they are required.

Object in terms of Edges.

It is less satisfactary to store the object defined by its edges alone. The object shown in the above figure shows the problems with this approach. It is obvious that this example is a cube with a slit in it. However without additional information, it is impossible to tell whether the slit runs from top to bottom, from left to right or from front to back. To make this clear, it is necessary to know which plane surfaces form the boundary of the object.