Unit 6 Solid Modeling: Structure
Unit 6 Solid Modeling: Structure
2. Wire-frame Models
3. Methods of Solid Modeling
1. Boundary Representation (b-Rep)
2. Constructive Solid Geometry (Csg or C-Rep)
3. Analytical Solid Modeling (ASM)
4. Half-space Method
5. Sweep Representations
6. Primitive Instancing
7. Spatial Partitioning Representation
6.1 INTRODUCTION
Most of the objects we see every day are solids and most of them are geometric objects
with interior. Solids can be very simple like a cube or very complex like a piston
engine. Solids must have to be represented by their geometry and other characteristics
and properties in order to model them using computers.
Solid modeling is the most powerful of the 3-D modeling technique. It provides the user
with complete information about the model. Defining an object with a solid model is
the easiest of the available three modelling techniques (curves, surfaces and solids).
Solid models can be quickly created without having to define individual locations as
with wire-frames, unlike wire-frame and surface models, which contain only geometric
data. Solid models contain both geometric and topological information of the object.
Some of the potential advantages of solid modeling are :
(i) Mass properties such as area, volume, weight, centre of gravity and moment
of inertia can be determined quickly.
(ii)allows the design engineer to develop and evaluate alternative concepts for
It
parts and assemblies while the design is still a theoretical model. Solid
models are non-ambiguous.
(iii) sections can be cut through the three-dimensional models with colour used
Cross
to identify and highlight different materials and various other features.
(iv)
It helps in interference checking of moving parts and the action of moving parts
in three-dimensions in complex assemblies.
(v) It is useful for preparing the technical illustrations used in manuals and
other documentation because solid modeling can produce very impressive
visual displays of objects, using perspective, colour shading and
highlighting to create images of photographic quality.
Objectives
After studying this unit, you should be able to
know different types of wire-frame models,
discuss various methods of solid modeling,
87
Geometric Modeling describe techniques to create 3-D solid models, and
apply judiciously right technique of solid modeling.
5 1 1 6 6 7
1
7 7 8
6 1 1 1
8 8 5
7 1 1 1 9 1 5
8 1 1 1 10 2 6
11 3 7
(a)
12 4 8
(b)
Wire-frame models use the simplest data structures and they are ambiguous. Figure 6.2 is
a well-known example that consists of 16 vertices and 32 edges. We know it represents a
solid and each of the quadrilaterals (some of them are squares) defines a face of the
solid.
88
Solid Modeling
The inner cube represents a hole; but, we cannot tell the direction of the opening of the
cube. As shown in Figure 6.3, there are three possibilities for this opening. While the
other two can be obtained by rotating the remaining one. Thus, the wire-frame models
are ambiguous.
Figure 6.3 : Possible Solid Configurations for WFM Given in Figure 6.2
Because wire-frame models are ambiguous, their uses are limited. However, wire-frame
models are popular, because they are efficient (i.e. only vertices and edges are displayed
and processed) when they work. For example, wire-frame models can be used for
preview purpose. Rendering a complex model or an animation sequence could be very
time consuming if all objects are to be rendered. If wire-frame models (usually
including its face information) are available, one can easily obtain a general feeling of
the final result without waiting for minutes or even hours before spotting a design flaw.
Note that the edges in a wire-frame model do not always have to be line segments. They
can be curved segments as well and in the case of curved segments the edge table will
be more complicated since in addition to the two endpoints a description of the joining
the curve segment (e.g., equation) is also required.
With the advent of hardware and software technologies, the drawbacks of WFM
technique have been overcome. The solid modelers are powerful representations and
they should process the following issues :
Domain
While no representation can describe all possible solids, a representation should
be able to represent a useful set of geometric objects.
Unambiguity
When you see a representation of a solid, you will know what is being
represented without any doubt. An unambiguous representation is usually
referred to as a complete one.
Uniqueness
That is, there is only one way to represent a particular solid. If a representation
is unique, then it is easy to determine if two solids are identical since one can
just compare their representations.
89
Geometric Modeling Accuracy
A representation is said accurate if no approximation is required.
Validness
This means a representation should not create any invalid or impossible
solids. More precisely, a representation will not represent an object that does
not correspond to a solid.
Closure
Solids will be transformed and used with other operations such as union and
intersection. “Closure” means that transforming a valid solid always yields a
valid solid.
Compactness and Efficiency
A good representation should be compact enough for saving space and allow for
efficient algorithms to determine desired physical characteristics.
These issues may be contradictory with each other. For efficiency purpose, a curvilinear
solid may be approximated by a polyhedron. There are many efficient and robust
algorithms for handling polyhedra; however, accuracy may not be maintained in the
process of approximation. For example, given two curvilinear solids that are tangent to
each other, this tangency may disappear after converting to a polyhedron.
Problems occur even for the polyhedra world. Many graphics APIs such as PHIGS PLUS
and OpenGL have built-in data structures for representing polyhedra; but, these
representations could generate invalid solids. There are representations that can always
represent valid solids; but, these representations are in general more complex than those
available in graphics APIs.
Unfortunately, not all surfaces can be oriented this way. If the surface of a solid
can be oriented this way, it is called orientable; otherwise, it is non-orientable. The
following shows the well-known Mobius band which is one-sided and
non-orientable.
Basic Elements
Objects that are often encountered in engineering applications can be classified as
either polyhedral or curved objects. A polyhedral object consists of planar faces
connected at straight edges, which, in turn, are connected at vertices, e.g. a cube
or a tetrahedron. A curved object has curved faces and edges, e.g. a cylinder and a
sphere. Polyhedral objects can be classified into following four classes :
Simple Polyhedra
These do not have holes and each face is bounded by a single set of
connected edges, i.e. bounded by one loop of edges (Figure 6.7).
Polyhedra with Faces of Inner Loops
92
These are similar to the first with the exception that a face may be Solid Modeling
bounded by more than one loop of edges (Figure 6.7(b)).
Polyhedral with Not Through Holes
A hole may have a face coincident with the object boundary or an
interior hole (Figure 6.7(c)).
Polyhedra with Through Holes
These are called handles (Figure 6.7(d)).
Boundary Hole
Interior Hole
(c) Polyhedra with Not Through Holes
(a)
(b)
SolutionFigure 6.8 : Example Parts to Verify Euler’s Law : (a) Simple; and (b) Complex Part
(a) We see Figure 6.8(a) that the part has nine edges, five faces, and six points.
Accordingly from Euler’s law we have
F–E+V=5–9+6=2
which satisfies Euler’s rule.
(b) We assume that two cylinders are approximated by two cubic holes.
Accordingly, the part in Figure 6.8(b) has 54 edges (12 edges for the pocket,
12 for each cubic hold corresponding to a cylinder, 18 in the outside
boundary of the object), 21 faces, and 36 vertices (three or more than three
intersecting lines define a vertex), 5 inner loops (that is, four end loops of
the two holes and one loop of the bracket), 1 body, and 2 genuses (the two
holes). Therefore, from Euler’s rule we have
F – E + V – L = 21 – 54 + 36 – 5 = – 2
2 (B – G) = 2 (1 – 2) = – 2
which satisfies Euler’s rule.
The Euler-Poincaré Formula
The Euler-Poincaré formula describes the relationship of the number of vertices,
the number of edges and the number of faces of a manifold. It has been
generalized to include potholes and holes that penetrate the solid. To state the
Euler-Poincaré formula, we need the following definitions :
V : the number of vertices
E : the number of edges
F : the number of faces
G : the number of holes that penetrate the solid, usually referred to
as
genus in topology
S : the number of shells. A shell is an internal void of a solid. A
shell is bounded by a 2-manifold surface, which can have its own
genus value. Note that the solid itself is counted as a shell.
Therefore, the value for S is at least 1.
L : the number of loops, all outer and inner loops of faces are
counted.
Then, the Euler-Poincaré formula is the following :
V – E + F – (L – F) – 2 (S – G) = 0 . . . (6.3)
Example 6.2
94
A cube has eight vertices (V = 8), 12 edges (E = 12) and six faces (F = 6), no holes Solid Modeling
and one shell (S = 1); but L = F since each face has only one outer loop. Therefore,
we have
V – E + F – (L – F) – 2 (S – G) = 8 – 12 + 6 – (6 – 6) – 2 (1 – 0) = 0
The following solid (Figure 6.9) has 16 vertices, 24 edges, 11 faces, no
holes, 1 shell and 12 loops (11 faces + one inner loop on the top face).
Therefore,
V – E + F – (L – F) – 2 (S – G) = 16 – 24 + 11 – (12 – 11) – 2 (1 –
0) = 0
Figure 6.9
The following solid (Figure 6.10) has 16 vertices, 24 edges, 10 faces, 1 hole
(i.e. genus is 1), 1 shell and 12 loops (10 faces + 2 inner loops on top and
bottom faces). Therefore,
V – E + F – (L – F) – 2 (S – G) = 16 – 24 + 10 – (12 – 10) – 2 (1 – 1) =
0
Figure 6.10
The following solid (Figure 6.11) has a penetrating hole and an internal
cubic chamber as shown by the right cut-away figure. It has 24
vertices,
12 * 3 (cubes) = 36 edges, 6 * 3 (cubes) – 2 (top and bottom openings)
= 16
faces, 1 hole (i.e. genus is 1), 2 shells and 18 loops (16 faces + 2 inner
loops on top and bottom faces). Therefore,
V – E + F – (L – F) – 2 (S – G) = 24 – 36 + 16 – (18 – 16) – 2 (2 – 1) =
0
Figure 6.11
The following solid (Figure 6.12) has two penetrating holes and no internal
chamber as shown by the right cut-away figure. It has 24 vertices, 36
edges, 14 faces, 2 hole (i.e. genus is 2), 1 shells and 18 loops (14 faces +
4). Therefore, 95
Geometric Modeling V – E + F – (L – F) – 2 (S – G) = 24 – 36 + 14 – (18 – 14) – 2 (1 – 2) = 0
Figure 6.12
Figure 6.13
Figure 6.13 has a box and an additional sheet which is simply a rectangle. This
object has 10 vertices, 15 edges, 7 faces, 1 shell and no hole. Its loop number is
equal to the number of faces. The value of the Euler-Poincaré formula is zero as
shown below,
V – E + F – (L – F) – 2 (S – G) = 10 – 15 + 7 – (7 – 7) – 2 (1 – 0) = 0
But this is not a valid solid! Therefore, if the value of Euler-Poincaré formula is
non-zero, the representation is definitely not a valid solid. However, the value of
the Euler-Poincaré formula being zero does not guarantee the representation would
yield a valid solid.
Once a polyhedron model is available one might want to edit it by adding or
deleting vertices, edges and faces to create a new polyhedron. These operations are
called Euler Operators. However, it has been shown that in the process of editing
a polyhedron with Euler operators, some intermediate results may not be valid
solids at all.
Recall from the discussion of the Euler-Poincare formula that the following
holds for all polyhedra :
V – E + F – (L – F) – 2 (S – G) = 0
where V, E, F, L, S and G are the numbers of vertices, edges, faces, loops,
shells and genus, respectively. Based on this relation, some Euler operators
have been selected for editing a polyhedron so that the Euler-Poincaré formula
is always satisfied. There are two groups of such operators: the Make group and
the kill group. Operators start with M and K are operators of the Make and Kill
groups, respectively.
Euler operators are written as Mxyz and Kxyz for operations in the Make and Kill
groups, respectively, where x, y and z are elements of the model (e.g., a vertex,
edge, face, loop, shell and genus). For example, MEV means adding an edge and
a vertex while KEV means deleting an edge and a vertex.
96
It has been proved by Mantyla in 1984 that Euler operators form a complete set of Solid Modeling
modeling primitives for manifold solids. More precisely, every topologically
valid polyhedron can be constructed from an initial polyhedron by a finite
sequence of Euler operators. Therefore, Euler operators are powerful operations.
The Make Group of Euler Operators
The Make group consists of four operators for adding some elements into
the existing model creating a new one, and a Make-Kill operator for adding
and deleting some elements at the same time. Here are the operators :
Operator Meaning V E F L S G
Name
MEV Make an edge and a vertex + +
1 1
MFE Make a face and an edge + + +1
1 1
MSFV Make a shell, a face and a + + +1 +
vertex
1 1 1
MSG Make a shell and a hole + +
The above table shows the change of values of V, E, F, L, S and G. Note1 that
1
adding a faceMake
MEKL an edge
produces and kill
a loop, theaouter – 1 when F is
loop loop of that+face. Therefore,
increased, L should also be increased. This new loop and the new face will
cancel each other in the subexpression L – F. Please1 verify that none of these
operators would cause the Euler-Poincaré formula to fail.
Table 6.2 illustrates the way of using Euler operators to construct a tetrahedron.
Vertices, edges, and faces are in red, blue and green; the only shell is in transparent
gray. The first step uses MSFV to obtain a shell with a face and a vertex. The next
three steps use MEVs, each of which adds an edge and a vertex. The last three
steps use MFE, each of which adds a face and an edge. Thus, in seven steps or
seven Euler operators a tetrahedron is constructed.
Table 6.2 : Make Operators in b-rep Models
Operator Name Meaning V E F L S G Result
MSFV Make a shell, a face + + + +
and a vertex
1 1 1 1
97
Geometric Modeling MFE Make a face and an +1 +1 +1
edge
MSG simply makes a shell with a hole. After this, one can add vertices, edges,
faces, loops. There must be loops, because the new hole penetrates at least one
face.
MEKL makes an edge and at the same time kills a loop. A commonly used
MEKL is adding an edge connecting the outer loop and the inner loop of a face.
In this case, the number of edges E is increased by 1 and the number of loops L is
decreased by 1 since that loop is killed. Figure 6.14(a) shows two loops of the top
face while Figure 6.14(b) shows the new edge added after performing a MEKL.
Thus, the inner and outer are “joint” together with the new edge becoming a single
face.
(a) (b)
Figure 6.14 : MEKL Operation
Operator Meaning V E F L S G
Name
KEV Kill an edge and a vertex –1 –1
KFE Kill a face and an edge –1 –1 –1
KSFV Kill a shell, a face and a vertex –1 –1 –1 –1
KSG Kill a shell and a hole –1 –1
KEML Kill an edge and make a loop –1 +1
With these operators, one can start with a tetrahedron and reduce it to nothing.
Since these operators are the opposites of the Make operators, we shall not go
further here.
98
Solid Modeling
SAQ 1
(a) Why is solid modeling necessary?
(b) Why do we need synthetic surface? Give 3 examples of synthetic surfaces.
(c) What is boundary model?
(d) Differentiate between surface modeling and wire-frame modeling.
(e) Discuss the merits and demerits of surface modeling.
Curved Objects
The same rules and guidelines for b-rep of non-polyhedral objects like
cylinders and spheres apply as for polyhedral objects with the major difference
that two types of objects result if closed curved edges or faces exist. As shown
in
Figure 6.15, a closed cylindrical face has one vertex and no edges. The boundary
model of a cylinder has three faces (top, bottom and cylindrical face, itself), two
vertices, and three edges connecting the two vertices. The other “edges” are for
visualization purposes, and are called limbs, virtual edges, or silhouette edges.
The boundary model of a sphere consists of one face, one vertex, and no edges.
Both models satisfy Euler law : F – E + V = 2 for simple polyhedra.
There are direct and indirect schemes for the representation of curved edges. In
direct schemes, an edge is represented by a curve equation and ordered end points.
In indirect schemes the edge is represented by the intersection of two surfaces,
and is preferred.
M : Make, K : Kill
The Winged-Edge Representation
Perhaps the oldest data structure for a b-rep is Baumgart’s winged-edge data
structure. It is quite different from that of a wire-frame model, because the
winged- edge data structure uses edges to keep track almost everything. In what
follows, we shall assume there are no holes in each face and later extend it to
cope with holes. Moreover, we shall assume edges and faces are line segments
and polygons.
Topologically, one can always stretch curvilinear edges and faces so that they
become flat without changing the relationships among them.
Figure 6.16
Figure 6.16 shows a polyhedron with vertices, edges and faces indicated with upper
cases, lower cases and digits, respectively. Let us take a look at edge a = XY. This edge
has two incident vertices X and Y, and two incident faces 1 and 2. A face is a polygon
surrounded by edges. For example, face 1 has its edges a, c and b, and face 2 has its
edges a, e and d. Note that the ordering is clockwise viewed from outside of the solid. If
the direction of the edge is from X to Y, faces 1 and 2 are on the right and left side of
edge a, respectively. To capture the ordering of edges correctly, we need four more
pieces of information. Since edge a is traversed once when traversing face 1 and
traversed a second time when traversing face 2, it is used twice in different directions.
For example, when traversing the edges of face 1, the predecessor and successor of
edge a are edge b and edge c, and when traversing the edges of face 2, the predecessor
and successor of edge a are edge d and edge e. Note that although there are four edges
incident to vertex X, only three of them are used when finding faces incident to edge a.
Therefore, for each edge, the following information are important :
100
(i) vertices of this edge, Solid Modeling
a X Y 1 2 b d e c
Figure 6.17 shows the information for the entry of edge a. The four edges
b, c, d and e are the wings of edge a and hence edge a is “winged”.
101
Geometric Modeling Figure 6.18 : A Tetrahedron
a A D 3 1 E f b c
b A B 1 4 c a f d
c B D 1 2 A b d e
d B C 2 4 E c b f
e C D 2 3 c d f a
Other Tables
f A C 4 3 D b a e
The winged-edge data structure requires two more tables, the vertex table
and the face table. These two are very simple. The vertex table
(Table 6.5(a)) has one entry for each vertex which contains an edge that is
incident to this vertex. The face table (Table 6.5(b)) has one entry for each
face which contains an edge that is one of this face’s boundary edges.
Therefore, we have the following table. Note that since there are multiple
choices of edges, you may come up with different tables :
Table 6.5(a) : Vertex Table Table 6.5(b) : Face
Table
Vertex Name Incident Edge Face Name Incident Edge
A a 1 a
B b 2 c
C d 3 a
D e 4 b
With this data structure, one can easily answer the question: which vertices,
edges, faces are adjacent to each face, edge, or vertex. There are nine of
these adjacency relations. For example, is vertex X adjacent to face 5? Are
faces 3 and 5 adjacent to each other? The winged-edge data structure can
answer these queries very efficiently and some of them may even be
answered in constant time. However, it may take longer time to answer other
adjacency queries. Note also that once the numbers of vertices, edges and
faces are known, the size of all three tables are fixed and will not change.
What If Faces Have Holes?
If some faces of a solid have holes, the above form of winged-edge data structure
does not work. These holes may penetrate the solid (the left box below) or just
like a pothole (the right box below).
There are two ways for resolving this problem :
For a face with inner loops, the outer boundary is ordered clockwise,
while its inner loops, if any, are ordered counter clockwise.
Another simple method is adding an auxiliary edge between each
inner loop and the outer loop as shown below. This auxiliary edge
will have the same face for its left and right faces. In this way, a
face with holes becomes a single loop which can be represented
with the winged-edge data structure. When traversing a loop,
auxiliary edges can be identified easily since its left and right faces
are the same.
Tessellated Modellers
102
This describes a class of simplified boundary-representation modellers Solid Modeling
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 economise 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.
It is less satisfactary to store the object defined by its edges alone. The
object shown in Figure 6.19 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 are plane surfaces form the boundary of the
object.
Advantages of the Boundary Representation
(i) This format gives efficient picture generation and easy access to
other geometric information.
(ii) changes produced by most editing operations (e.g. tilting one face
The
through a given angle) cause local effects not global ones.
(iii)
It is comparatively easy to define a face lying on a surface defined
parametrically.
(iv)
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.
(v) The main advantage of b-rep is that it is very appropriate to construct solid
models of unusual shapes that are difficult to build using primitives, e.g.,
aircraft fuselage and automobile body styling. It is also relatively simple
to convert a b-rep model into a wire-frame model. 103
Geometric Modeling Disadvantages with the Boundary Representation
(i) It requires more storage than the corresponding half-space method.
(ii) 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.
(iii) It is usually less robust than the half-space method.
(iv) 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.
(v) Its main disadvantage is that it requires large amount of storage. It is also
a verbose scheme. In addition, faceted b-rep is not suitable for many
applications such as tool path generation.
Manifolds
The surface of a solid must satisfy some conditions so that the resulting solid is
well-behaved. This is the so-called manifold condition. While recent research has
shown that the surface of a solid does not have to be a manifold, we shall restrict
to manifold surfaces to simplify our discussion.
A surface is a 2-manifold if and only if for each point x on the surface there
exists an open ball with center x and sufficiently small radius so that the
intersection of this ball and the surface can be continuously deformed to an open
disk. An open ball with center at the coordinate origin and radius r is defined by
equation
x2 + y2 + z2 < r2. It contains all points inside of the sphere x2 + y2 + z2 = r2. An open
disk is defined similarly x2 + y2 < r2. By continuously deformed, it means one can
twist or bend the shape without cutting (i.e. adjacency relations must be
maintained) and gluing (i.e. a one-to-one relation is required).
Let us take a look at Figure 6.20 :
There is a cube and three open balls. Ball 2 has its center on the top face. The
intersection of this ball and the surface of the cube is an open disk (shown in
red). Ball 1 has its center on an edge. Its intersection with the surface of the cube
is a “bent” open disk, which of course can be “unbent” to make it an open disk.
Ball 3 has its center at a corner. Its intersection with the cube’s surface is a three-
way bent open disk.
Figure 6.21 shows a solid whose bounding surface is not a manifold. The
intersection of the open ball and the surface of the solid is the union of two
intersecting open disks. This intersection cannot be deformed to an open disk
without “gluing” Consequently, the surface is not a manifold.
104
Solid Modeling
The method of Constructive Solid Geometry arose from the observation that
many industrial components derive from combinations of various simple
geometric shapes such as spheres, cones, cylinders and rectangular solids. In fact
the whole design process often started with a simple block which might have
simple shapes cut out of it, perhaps other shapes added on etc. in producing the
final design. For example consider the simple solid shown in Figure 6.24 : 105
Geometric Modeling
Construction Tree
(b) Determining Wedge Dimensions via Wire-frame Modeling
Figure 6.26
An alternative name for the CSG method, set-theoritic modeling, arises from the
way in which primitives are combined using the operators of set theory.
To determine physical properties or to make pictures, we must be able to combine
the properties of the leaves to obtain the properties of the root by following depth-
first tree method. The complexity of this task depends on the representation in
107
Geometric Modeling which the leaf objects are stored and on whether a full representation of
the composite object at the tree’s root must actually be produced.
In some implementations, the primitives are simple solids, such as cubes or
spheres, ensuring that all regularized combinations are valid solids as well. In
other systems, primitives include half-spaces, which themselves are unbounded
solids.
Using half-spaces introduces a validity problem, since not all
combinations produce solids.
CSG does not provide a unique representation. The set operations (, , , and
–) covered in the previous section are also known as the set-theoretic operations.
When we use these operations in geometric modeling to build complex objects
from primitive ones, the complement operation is usually dropped because it
might create unacceptable geometry. Furthermore, if we use the other operations
(, , –) without regularization in solid modeling, they may cause user
inconvenience. In addition, objects resulting from these operations may
lack geometric closure, may be difficult to validate, or may be inadequate
for application.
108
To avoid the above problems, the point sets that represent objects and the set Solid Modeling
operations that operate on them must be regularized. Regular sets and
regularized set operation (Boolean operations) are considered as Boolean
algebra.
A regular set is defined as a set that is geometrically closed. The notion of a
regular set is introduced in geometric modeling to ensure the validity of objects
they represent and therefore eliminate nonsense objects. Under geometric closure,
a regular set has interior and boundary subsets. More importantly, the boundary
contains the interior and any point on the boundary is in contact with a point in the
interior. In other words, the boundary acts as a skin wrapped around the interior.
Mathematically, a set S is regular if and only if
S=kiS
. . . (6.4)
Set operations (known also as Boolean operators) must be regularized to ensure
that their outcomes are always regular sets. For geometric modeling, this means
that solid models built from well-defined primitives are always valid and represent
valid (no-nonsense) objects. Regularized set operators preserve homogeneity and
spatial dimensionality. The former means that no dangling parts should result from
using these operators and the latter means that if two three-dimensional objects
are combined by one of the operators, the resulting object should not be of lower
dimension (two or one dimension). Regularization of set operators is particularly
useful when users deal with tangent objects, as will be seen shortly in an example.
P * Q = ki (P Q) . . . (6.5)
Based on the above description, regularized set operators can be defined as
follows P * Q = ki (P Q) . . . (6.6)
: P – *Q = ki (P – Q) . . . (6.7)
c*P = ki (cP) . . . (6.8)
where the superscript * to the right of each operator denotes regularization.
The sets P and Q used in Eqs. (6.5) to (6.8) are assumed to be any arbitrary
sets.
However, if two sets X and Y are r-sets (regular sets), which is always the case
for geometric modeling, then Eqs. (6.5) to (6.8) become
X * Y = X Y
X * Y = X Y bX and bY do not overlap
X – *Y = k (X – Y)
c*X = k (cX)
Nevertheless, the ability to edit models by deleting, adding, replacing, and
modifying subtrees coupled with the relatively compact form in which models
are stored, have made CSG one of the dominant solid modeling representations.
The disadvantage of CSG is its inability to represent sculptured surfaces and
half-spaces.
SAQ 2
(a) What do you mean by regularised Boolean set of operations?
(b) Explain briefly about the various types of entities used in surface modeling.
(c) Discuss the important properties of Bezier surface.
(d) Discuss the properties of B-spline surface.
(e) Explain how to compute a point on a B-spline surface.
(f) Discuss various surface manipulation techniques.
(g) Explain boundary representation method with a suitable example. 109
Geometric Modeling (h) Explain constructive solid geometry for representation of solids.
(i) Create a CSG model of each of the solids shown below and write
Boolean operations to be performed.
. . . (6.10)
The creation of an ASM model of an object simply involves dividing the object into the
proper assembly of non-overlapping hyperpatches. Each hyperpatch can be
constructed from curves and/or surface patches. Other construction methods of ASM
models can include ruled volumes and sweeping. A ruled volume can be created
between two given surface patches by linearly interpolating between them. Figure 6.29
shows the ASM model of the solid S.
ASM is appearing in design and analysis applications that require information inside as
well as on the boundary of a given object. This is desirable, for example, in modeling
and studying composite materials and fracture mechanics problems. However, ASM is
not adequate for manufacturing applications such as tool path generation, because face
surfaces of hyperpatches are not explicitly stored and are not orientable, i.e. normals to
face surfaces cannot indicate the interior or exterior of the object.
6.3.4 Half-space Method
Solid representation is based fundamentally on the notion that a physical object
divides an n-dimensional space En into two regions: interior and exterior, separated by
object boundaries. In terms of above notion, a solid model of an object is defined
mathematically as a point set S in 3-D Euclidean space (E3).
Suppose a surface divides the whole of three-dimensional space into two distinct
regions. Each such region is called a “half-space”. This does NOT imply that they are
equal in volume. One possible surface is the sphere denoted by the equation
X*X+Y*Y+Z*Z=1
The surface denotes the boundary of the two half-spaces, one of which is the
infinite region 111
Geometric Modeling X*X+Y*Y+Z*Z>1
This is the entire volume outside the sphere. The other half-space is the small
volume inside the sphere, indicated by the equation
X*X+Y*Y+Z*Z<1
This is still a valid half-space, although it is so much smaller than the other.
Half-spaces form a basic representation scheme for bounded solids. By combining half
spaces (using set operations) in a building block fashion, various solids can be
constructed. Half-spaces are usually unbounded geometric entities; each one of them
divides the representation space into two infinite portions, one filled with material and
the other empty. Surfaces can be considered half-space boundaries and half-spaces can be
considered directed surfaces.
A half-space is defined as a regular point set in E3 as follows :
H = {P : P = E3 and f (P) < 0}
where P is a point in E3 and f (P) = 0 defines the surface equation of the half-space
boundaries. Half-space can be combined together using set operations to create
complex objects.
The most widely used half-spaces (unbounded) are :
Planar Half-space
H = {(x, y, z) : z < 0}
Cylindrical Half-space
= {(x, y, z) : x2 + y2 < R2
Spherical Half-space
H = {(x, y, z) : x2 + y2 + z2 < R2}
Conical Half-space
H = {(x, y, z) : x2 + y2 [tan (x / 2) z]2}
Toroidal Half-space
H = {(x, y, z) : (x2 + y2 + z2 – R22 – R12)2 < 4R22 (R12 – z2)}
Set Operations
In order to define an object, we frequently have to combine several half-
spaces. This may be done using the following set-operations.
Union of A and B
Denoted by A B or B A, this is the set of all points contained in either
A or in B or in the both of them. It is indicated as in Figure 6.30(a) where
the heavy outline indicates the result and the dotted outlines indicate the
object A and B.
112 A
Solid Modeling
Intersection of A and B
This is the set of all points which lie in both A and B. If the two volumes
do not overlap, then the intersection will be the empty set. This is shown
in Figure 6.30(b).
Error!
Difference A – B or B – A
The difference A – B is the set of all points which lie in A but not in B. It
is shown in Figure 6.30(c), while Figure 6.30(d) shows the difference B –
A.
Figure 6.32 shows the various half-spaces with their local coordinate
systems and the limits on their configuration parameters. The solid S
shown in Figure 6.33(a) is represented by using half-spaces in Figure
6.33(b). It requires nine half-spaces (eight planes and one cylinder) H1 to
H0. The
half-spaces H7 and H8 that model the front and back faces of the model are
not shown in the figure.
114
Solid Modeling
Figure 6.33
Half spaces are lower level primitives and any complex object can be
modeled as half-spaces combined by the set of operations. One form of
CSG can be based on unbounded half-spaces.
The main advantage of half-spaces is its conciseness in representing
objects compared to other schemes such as CSG. However, this
representation can lead to unbounded solid models resulting in missing
faces and abnormal shaded images. Modeling by half-spaces is also
cumbersome for designers. It is useful only for research purposes.
6.3.5 Sweep Representations
The simplest form of sweep is that produced by sweeping a two-dimensional area along
an axis perpendicular to its plane. This form of sweep is most useful in representing
objects which are extruded with constant cross section or for objects which are
machined to a given profile.
Figure 6.34(a) shows a two-dimensional profile in the XY-plane, which is swept along
the
Z-axis to produce the three-dimensional object pictured in Figure 6.34(b).
Figure 6.34
115
Geometric Modeling (a)
(b)
Figure 6.35 : (a) 2D Profile before Sweep; and (b) Solid Formed by Sweep Rotation
Another form of sweep representation sweeps a closed two-dimensional profile along a
curve. A simple example is a torus which can be generated by sweeping a circle around
a circle of greater diameter as shown in Figure 6.36.
Figure 6.37 : The Object Shown in (a) May be Defined by Different CSG Operation Shown in (b)
and (c). Tweaking the Top Face of (b) and (c) Upward Yields Different Shown in (d) and (e)
Linear Sweep
In linear sweep, the path is a linear or circular vector described by a linear,
most often parametric. Linear sweep can be divided into translational and
rotational sweep. In translational sweep, a planar two-dimensional point set
described by its boundary (or contour) can be moved a given distance in
space in a perpendicular direction (called the directrix) to the plane of the
set (Figure 6.38(a)). For rotational sweep, the planar two-dimensional point
set is rotated about the axis of rotation by a given angle (Figure 6.38(a)).
116
Non-linear Sweep Solid Modeling
Figure 6.39 : The Cells Shown in (a) may be Transformed to Construct the same Object Shown in (b)
and (c) in Different Ways. Even a Single Cell Type is Enough to Cause Ambiguity
Spatial-Occupancy Enumeration
It is a special case of cell-decomposition in which the solid is decomposed into identical
cells arranged in a fixed regular grid. These cells are often called voxels (volume
elements), in analogy to pixels. The most common cell type is the cube, and the
representation of space as a regular array of cubes is called cuberile. When
representing an object using spatial-occupancy enumeration, we control only the
presence or absence of a single cell at each position in the grid. To represent an
object, we need only to decide which cells are occupied cells. It is easy to find out
whether a cell is inside or outside of the solid and determining whether two
objects are adjacent is simple as well. It is often used in biomedical applications
118
to
represent volumetric data obtained from source such as computerized Solid Modeling
axial tomography (CAT) scans.
Octree Encoding
Octress are hierarchical variant of spatial-occupancy enumeration, designed to
address that approach’s demanding storage requirements. Octress are in turn
derived from quadtrees, a 2D representation format used to encode images. The
fundamental idea behind both the quadtree and octree is the divide-and-conquer
power of binary subdivisions. A quadtree is derived by successively subdividing a
2D plane in both dimensions to form quadrants, as shown in Figures 6.40(a) and
(b). When a quadtree is used to represent an area in the plane, each quadrant may
be full, partially full, or empty, depending on how much of the quadrant intersects
the area. A partially full quadrant is recursively subdivided into sub quadrants.
Subdivision continue until a predetermined cut off depth is reached. Whenever
four sibling quadrants are uniformly full or empty, they are deleted and their
partially full parent is replaced with a full or empty node. In octree encoding, they
are deleted and their partially full parent is replaced with a full or empty node. In
octree encoding, we enclose the object to be modeled inside a cube. If the object
does not uniformly cover the cube, then we subdivide the cube into eight octants.
If any of the resulting octants is full (completely inside the object) or empty
(completely outside the object), no further subdivision is made. If any of the
octants is partially full, we subdivide it again into octants. We continue to
subdivide the partially full octants until the resulting octants are either full or
empty or until some predetermined level of subdivision is reached.
Figures 6.40(c), (d) and (e) show the spatial-occupancy and octree encoding of a
solid.
(a) (b)
Figure 6.40 : An Object Represented using (a) Spatial-occupancy Enumeration and (b) Quadtree
SAQ 3
(a) Discuss the analytical solid modeling technique.
(b) Explain various types of sweeps with the help of neat sketches.
(c) What is half space? Explain the half space method of representation
of solids.
Figure 6.42 : Boolean Operations : The Simple Objects on the Left Combine
to Form the Complex Object on the Right
In b-rep approach, a list of the faces, edges and vertices of the model together with the
topological and adjacency relationships between them is kept. The topology is used to
determine the set of edges which constitute the boundary of a particular face or which
meet at a specific vertex. The designer can construct his model from drawing the
various views of the object containing the interconnecting lines among the views to
establish their connectivity. This technique is depicted in Figure 6.43. To create a model
which is symmetrical about an axis, a 2-D profile can be built up and then spun (or
swept) about an axis, as shown in Figure 6.43. A linear sweep of a surface, for
example, produces an ‘extruded’ part with constant thickness.
120
Solid Modeling
The use of hybrid models, incorporating the advantages of b-rep and c-rep schemes is
on the increase in modern CAD systems.
We have discussed a number of solid modeling schemes. There are similarities and
dissimilarities among these schemes. These modeling schemes are compared in Table
6.6 on the basis of accuracy, uniqueness, validity, compactness and domain.
BREP CSG Table 6.6
Sweep ASM Cell Primitives 121
Geometric Modeling Decomposition Instancing
Accuracy Curved Non-polyhedral High Good in Usually used in Similar to
surface primitives are accuracy accuracy low-accuracy sweep
support is needed to reach applications
needed to high accuracy
reach high
accuracy
Domain Theoritically, Similar to Limited to With Almost any Similar to
it can BREP certain computational object sweep
support any domain effort, it is
object fairly good
Uniqueness No No Need No Simple grid and Similar to
careful octree sweep
definition generally
generate unique
object
Validity Hard to check Easy to check Easy to Easy to check Easy to check Easy to
check check
Closure Fairly good Fairly good Hard to Fairly good Fairly good Hard to
achieve achieve
Compactness Good at Good for user Good for Good for Good for Good for
and efficiency interface internal
SAQ 4 internal use interface interface interface
process
(a) State important advantages of solid modeling.
(b) Distinguish between pure primitive instancing, cell-decomposition and
spatial partition.
(c) Compare b-rep and c-rep modeling techniques.
(d) Compare various solid modeling schemes with each other.
(e) Derive the parametric equations of an ellipsoid, a torous and a circular
cone.
Exercise 1
(a) What are the various methods of representation of the solids?
(b) Is CSG representation is unique? Show that by an example.
(c) Prove that the curvature of a cylinder is zero. What is the radius
of curvature?
(d) Explain regular set operations in E3 solid modeling.
(e) How can you create a solid using unbounded half spaces?
(f) Count the polyhedral values for the solids shown in Figure below.
(g) Create the boundary model of solids shown below.
122
Solid Modeling
6.6 SUMMARY
3-D solid modeling techniques provide the user with complete information about the
model. These can be quickly created without having to define individual locations, as
with wire-frame models and surface models, e.g. it shows the face of the model and
the representation is unambiguous. The shapes are visually more recognisable. Putting
together various elements also requires less time.
There are a number of methods representing solids. The different methods have their
own specialities and strengths. The various solid modeling schemes are compared in
Table 6.6.
123