0% found this document useful (0 votes)
146 views37 pages

Unit 6 Solid Modeling: Structure

Solid modeling is a powerful 3D modeling technique that provides complete geometric and topological information about an object. There are several methods of solid modeling, including boundary representation (B-rep), constructive solid geometry (CSG), and analytical solid modeling. Wireframe models only contain edge and vertex information and are ambiguous representations of solids. Solid models contain both geometric and topological data, allow properties like volume and mass to be calculated, and enable interference checking and dynamic simulation. The document discusses different types of solid modeling representations and their advantages and limitations.

Uploaded by

narsaiah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
146 views37 pages

Unit 6 Solid Modeling: Structure

Solid modeling is a powerful 3D modeling technique that provides complete geometric and topological information about an object. There are several methods of solid modeling, including boundary representation (B-rep), constructive solid geometry (CSG), and analytical solid modeling. Wireframe models only contain edge and vertex information and are ambiguous representations of solids. Solid models contain both geometric and topological data, allow properties like volume and mass to be calculated, and enable interference checking and dynamic simulation. The document discusses different types of solid modeling representations and their advantages and limitations.

Uploaded by

narsaiah
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

Solid Modeling

UNIT 6 SOLID MODELING


Structure
1. Introduction
Objectives

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

4. Creating 3-D Solid Models


5. Comparison of Various Solid Modeling Schemes
6. Summary

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.

6.2 WIRE-FRAME MODELS


The wire-frame model is perhaps the oldest way of representing solids. According to
this model, any solid is represented by its edges and vertices. A wire-frame model
consists of two tables, the vertex table and the edge table. Each entry of the vertex table
records a vertex and its coordinate values, while each entry of the edge table has two
components giving the two incident vertices of that edge. A wire-frame model does not
have face information. For example, a cube given in Figure 6.1 is defined by eight
vertices and
12 edges. One needs the following Tables 6.1(a) and (b) for complete information on the
cube.
Table 6.1 : (a) Vertex Coordinates and (b) Edge Information
Edge Table
Vertex Table
Edge # Start End
Vertex x y z Vertex Vertex
#
1 1 2
1 1 1 1
2 2 3
2 1 1 1 3 3 4
3 1 1 1 4 4 1
4 1 1 1 5 5 6

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)

Figure 6.1 : Wire-frame Model of a Unit Cube

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

Figure 6.2 : Wire-frame Model of a Typical Solid

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.

6.3 METHODS OF SOLID MODELING


The various methods for representing the solids are :
(i) Half-space method
(ii) Boundary representation method (b-rep)
(iii) Constructive solid geometry (CSG or c-rep)
(iv) Sweep representation
(v) Analytical solid modeling – ASM
(vi) Primitive instancing
(vii) Spatial partitioning representation
6.3.1 Boundary Representation (B-Rep)
A boundary model or b-rep model is based on the topological notion that a physical
object is bounded by a set of faces. These faces are regions or subsets of closed and
orientable surfaces.
Boundary Representation, or b-rep for short, can be considered as an extension to the
wire-frame model. The merit of a b-rep is that a solid is bounded by its surface and has
its interior and exterior. The surface of a solid consists of a set of well-organized faces,
each of which is a piece of some surface (e.g., a surface patch). Faces may share vertices
and edges that are curve segments. Therefore, a b-rep is an extension to the wire-frame
model by adding face information to the latter. The geometry of the object can be
described by its boundaries, namely vertices, edges and surfaces. An example of b-rep is
shown in Figure 6.4. A closed surface is one that is continuous without breaks. An
orientable surface is one in which it is possible to distinguish two sides by using the
direction of the surface normal to point to the inside or outside of the solid model under
90 construction.
Each face is bounded by edges and each edge is bounded by vertices. Thus, Solid Modeling
topologically, a boundary model of an object is consisted of faces, edges, and vertices of
the object linked together in such a way as to ensure the topological consistency of the
model.

Figure 6.4 : Boundary Representation of Solids

Primitives of b-rep Scheme


The building blocks for b-rep. models are :
Vertex
It is a unique point (an ordered triplet) in space.
Edge
An edge is a finite, non-self-intersecting, directed space curve bounded by
two vertices that are not necessarily distinct.
Face
A face is defined as a finite connected, non-self-intersecting, region of
a closed oriented surface bounded by one or more loops.
Loop
A loop is an ordered alternating sequence of vertices and edges.
Genus
It is the topological name for the number of handles or through holes in
an object.
Body (or Shell)
It is a set of faces that bound a single connected closed volume. A
minimum body is a point. Topologically this body has one face, one vertex,
and no edges. It is called a seminal or singular body.
There are two types of information in a b-rep: topological and geometric.
Topological information provide the relationships among vertices, edges and faces
similar to that used in a wire-frame model. In addition to connectivity, topological
information also include orientation of edges and faces. Geometric information are
usually equations of the edges and faces.
The orientation of each face is important. Normally, a face is surrounded by a set
of vertices. Using the right-handed rule, the ordering of these vertices for
describing a particular face must guarantee that the normal vector of that face is
pointing to the exterior of the solid. Normally, the order is counter clockwise. If 91
Geometric Modeling that face is given by an equation, the equation must be rewritten so that the normal
vector at every point on the part that is being used as a face points to the exterior
of the solid. Therefore, by inspecting normal vectors one can immediately tell the
inside and outside of a solid under b-rep. This orientation must be done for all
faces. The following shows three faces and their outward pointing normal vectors
(Figure 6.5). To describe the top surface, the vertices should be 6, 7, 2, 1
or 7, 2, 1, 6 or 2, 1, 6, 7 or 1, 6, 7, 2. To describe the left face, the order should be
1, 2, 3, 4 or 2, 3, 4, 1 or 3, 4, 1, 2 or 4, 1, 2, 3.

Figure 6.5 : Topological Geometric Information of a Solid

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.

Figure 6.6 : Non-orientable Surface of Mobius Band

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)).

(a) Simple Polyhedra

(b) Polyhedra with Faces of Inner Loops

Boundary Hole

Interior Hole
(c) Polyhedra with Not Through Holes

(d) Polyhedra with Handles (Through Holdes)


Figure 6.7 : Types of Polyhedral Objects

Polyhedra and Euler’s Formula


The b-rep of a polyhedra that are holomorphic to a sphere are topologically
valid if they satisfy the following equations :
F – E + V – L = 2 (B – G) . . . (6.1)
where F, E, V, L, B and G are the number of faces, edges, vertices, face’s
inner loop, bodies, and genus (handles or through holes) respectively. If the
solid is a simple one, the Euler Eq. (6.2) holds good.
F–E+V=2 . . . (6.2)
Example 6.1
Verify Euler’s law for the following parts shown below : 93
Geometric Modeling

(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

Part of the information recorded in a b-rep is topological (i.e. adjacency


relations). Invalid solids may be generated if the representation is not carefully
constructed. One way of checking this topological invalidity is to use the Euler-
Poincaré formula. If its value is not zero, we are sure something must be wrong
in the representation. However, this is only a one-side test. More precisely, a zero
value of the Euler-Poincaré formula does not mean the solid is valid.

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

MEV Make an edge and a + +


vertex
1 1

MEV Make an edge and a + +


vertex
1 1

MEV Make an edge and a + +


vertex
1 1

97
Geometric Modeling MFE Make a face and an +1 +1 +1
edge

MFE Make a face and an +1 +1 +1


edge

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

The Kill Group of Euler Operators


The Kill group just performs the opposite of what the Make group does.
In fact, replacing the M and K in all Make operators with K and M,
respectively, would get the operators of the Kill group. Therefore, the Kill
group consists of the following five operators :

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.

Figure 6.15 : Exact B-rep of a Cylinder and a Sphere


If the curved objects are represented by storing the equations of the underlying
curves and surfaces of the object edges and faces respectively, the resulting
boundary scheme is known as an exact b-rep scheme. Another alternative is the
approximate or faceted b-rep. In this scheme, any curved face is divided into
planer facets. Some of the Euler operators frequently used in the modeling are
given in Table 6.3.
99
Geometric Modeling Table 6.3 : Some Euler Operations
Operation Operator Complement Description of Operator
Initialize database and MBFV KBFV Make Body, Face, Vertex
begin creation
Create edges and vertices MEV KEV Make Edges, Vertex
Create edges and faces MEKL KEML Make edge, Kill Loop
MEF KEF Make edge, Face
MEKBFL KEMBFL Make Edge, Kill Body, Face, Loop
MFKLG KFMLG Make Face, Kill Loop, Genus
Glue KFEVMG MFEVKG Kill Face, Edge, Vertex, Make Genus
KFEVB MFEVB Kill Face, Edge, Vertex, Body
Composite operations MME KME Make Multiple Edges
ESPLIT ESQUEEZE Edge-Split
KVE Kill Vertex, Edge

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

(ii) its left and right faces,


(iii) the predecessor and successor of this edge when traversing its left face,
(iv) and the predecessor and successor of this edge when traversing its right
face.Table
The Edge
Each entry in the edge table contains those information mentioned earlier,
edge name, start vertex and end vertex, left face and right face, the
predecessor and successor edges when traversing its left face, and the
predecessor and successor edges when traversing its right face. Note that
clockwise ordering (viewing from outside of the polyhedron) is used for
traverse. Note also that the direction of edge a is from X to Y. If the
direction is changed to from Y to X, all entries but the first one in the
following table must be changed accordingly.

Edge Vertices Faces Left Right


Traverse Traverse
Nam
e Star End Left Righ Pred Succ Pred Succ
t t

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”.

Figure 6.17 : Winged Representation of Edge a

Figure 6.18 is a tetrahedron with four vertices A, B, C and D, six edges a, b,


c, d, e and f, and four faces 1, 2, 3 (back) and 4 (bottom). Its edge table is
the following. Please use the diagram to verify in Table 6.4.

101
Geometric Modeling Figure 6.18 : A Tetrahedron

Table 6.4 : Winged Data for Tetrahedron Shown in Figure 6.18


Edge Vertices Faces Left Right
Traverse Traverse
Nam Star End Left Righ Pred Succ Pred Succ
e t t

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.

Figure 6.19 : Object in Terms of Edges

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 :

Figure 6.20 : A Typical Manifold

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

Figure 6.21 : A Non-manifold

6.3.2 Constructive Solid Geometry (Csg or C-Rep)


A CSG model is based on the topological notion that a physical project object can be
divided into a set of primitives that can be combined in a certain order following a set of
rules to form the object. The basic solid primitives are: blocks, cones, spheres,
cylinders, tubes, and hexahedras, as shown in Figure 6.22.

Figure 6.22 : Solid Modeling Entities

Constructive Solid-Geometry Methods (CSG)


Constructive models represent a solid as a combination of primitive solids.
This modeling technique combine the volumes occupied by overlapping 3D
shapes using set boolean operations.
This creates a new volume by applying the union, intersection, or difference
operation to two volumes A and B. See Figure 6.23 which is self-explanatory.

Figure 6.23 : Boolean Operations on Two Primitives A + B

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

Figure 6.24 : CSG Model of an Object

This simple component could be produced by gluing two rectangular blocks


together and then drilling the hole. Or in CSG terms the union of two blocks
would be taken and then the difference of the resultant solid and a cylinder would
be taken. In carrying out these operations the basic primitive objects, the blocks
and the cylinder, would have to be scaled to the correct size, possibly oriented and
then placed in the correct relative positions to each other before carrying out the
logical operations.

The Boolean Set Operators used are :


 union : A + B is the set of points that are in A or B.
 intersection : A . B is the set of points that belong to A and B.
difference : A – B is the set of points that belong to A but not to B. Note
that the above definitions are not rigorous and have to be refined to define the
Regularised Boolean Set Operations to avoid impossible solids being generated.
A CSG model is then held as a tree structure whose terminal nodes are
primitive objects together with an appropriate transformation and whose other
nodes are Boolean Set Operations. This is illustrated below for the object
above which is constructed using cube and cylinder primitives.

Figure 6.25 : Regularised Boolean Set of Operations for CSG Model

CSG methods are useful both as a method of representation and as a user


interface technique. A user can be supplied with a set of primitive solids and can
combine them interactively using the boolean set operators to produce more
complex objects. Editing a CSG representation is also easy, for example
106
changing the
diameter of the hole in the example above is merely a case of changing Solid Modeling
the diameter of the cylinder.
However, it is slow to produce a rendered image of a model from a CSG tree.
This is because most rendering pipelines work on B-reps and the CSG
representation has to be converted to this form before rendering. Hence some
solid modellers use a B-rep but the user interface is based on the CSG
representation.
An object is stored as a tree with operators at the internal nodes and simple
primitives at the leaves. For the object given in Figure 6.26(a), the construction
tree is given in Figure 6.26(b). Some nodes represent Boolean operators, whereas
others perform translation, rotation, and scaling.

(a) Guide Bracket

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.

Figure 6.27 : Regularized Set Operators

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.

(j) Discuss mathematical modeling of Bezier surface with n = 3 and m =


3.

6.3.3 Analytical Solid Modeling (ASM)


ASM is closely related to finite element modeling. It is developed to aid designers in the
arduous task of modeling complex geometry commonly found in design applications. It
can be viewed as more of a representation scheme for design than for manufacturing
purposes due to its formulation, which does not involve orientable surfaces as does b-
rep or c-rep. ASM has now a wide range of applications such as mass property
calculations, composite material modeling, and computer animation.
The technique for creating spline or patch curve segments or surface patches are valid
in ASM. As surface representation a general solid is described by x, y and z
coordinates.
ASM is an extension of the well established tensor product method, introduced to
represent surfaces for surface modeling, to 3D parametric space with the parameters u,
v, and w. the tensor product formulation in 3D parametric space is a mapping of a cubic
parametric domain described by u, v, and w values into a solid described by x, y and z in
the Cartesian (modeling) space, as shown in Figure 6.28. The resulting solid is called a
parametric solid or a hyperpatch.

Figure 6.28 : Hyperpatch Representation

The variable point of the solid is given by


p (u, v, w) = [x (u, v, w), y (u, v, w), z (u, v, . . . (6.9)
z)] umin < u < umax

vmin < v < umax

110 wmin < w < wmax


4 4 4 Solid Modeling
A general solid is represented by p (u, v, w) =    Cijk ui v j wk
i 1 j 1 k
1
0 < u < 1, 0 < v < 1, 0 < w < 1

. . . (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.

Figure 6.29 : ASM Model of 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

Figure 6.30(a) : Union of A and B

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!

Figure 6.30(b) : Intersection of A and B

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.30(c) : Difference A – B

Figure 6.30(d) : Difference B – A


These set-operations are used to combine the half-spaces to build up
various objects. For example, let us consider the cube built up from the
intersection of the following six half-spaces.
 4 < y and y < 4
 4 < x and x < 4
 1 < z and z < 1
This describes a rectangular cube (Figure 6.31), centered on the region,
whose boundary is the six planes whose equations are given below.
y =  4 and y = 4
x =  4 and x =
4 z =  1 and z
=1
Error! 113
Geometric Modeling

Figure 6.31 : Rectangular Cube

Figure 6.32 : Unbounded Half-spaces

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

Another common form of sweep is to rotate a two-dimensional profile around an axis. In


constructing a planar faceted model the profile will be defined at a finite number of
points and will be rotated in finite steps to produce points on the surface hence defining
a polygon mesh.
This is illustrated below where the highlighted profile shown in Figure 6.35(a) has been
rotated about the vertical axis to produce the mesh of points on the model of a wineglass
shown in Figure 6.35(b).

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.36 : Torus


More complex objects can be produced by varying the size of the swept profile as it is
swept along the curve, e.g. a seashell could be modelled by sweeping a steadily
increasing diameter circle along a spiral curve. However there can be difficulties
caused by surfaces self-intersecting when these more advanced techniques are used.
Sweep Representation
Schemes based on sweep representation are useful in creating solid models of
2½ - objects. The class of 21½ - D objects includes both solids of uniform
thickness in a given direction and symmetric solids (Figure 6.37). The former
are known as extruded solids and are created via linear or translational sweep;
the
latter are solids of revolution which can be created via rotational sweep.
Sweeping is used in general as a means of entering object descriptions into b-rep
or c-rep based modelers. Sweeping is based on the notion of moving a point,
curve or a surface along a given path. There are three types of sweeps: linear,
nonlinear, and hybrid sweeps, as described below :

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

In non-linear sweep, the path is a curve described by a higher-order equation


(quadratic, cubic or higher) as shown in Figure 6.38(b).
Hybrid Sweep
It combines linear and/or non-linear sweep via set operations. Figure
6.38(c) shows the same object shown in Figure 6.38(a) but with a hole. In
this case, two point sets are swept in two different directions and the two
resulting swept volumes are glued together to form the final object. Invalid
solids or non-regular sets may result if the sweeping direction is not chosen
properly as shown in Figure 6.38(d).
Sweeping operations are useful in engineering applications that involve
swept volumes in space. Two widely known applications are simulations of
material removal due to machining operations and interference detection
of moving objects in space.

Figure 6.38 : Linear, Non-linear and Invalid Sweeps


Sweep representation is useful once it develops. Its modeling domain can be
extended beyond 2½ - D objects if non-linear sweep is available. Non-linear
sweep may be useful in creating non-rigid objects and studying their
deformations they travel in space. Complex mechanical parts such as
screws, springs, and other components that require helical and special loci
can be represented by sweeping.
6.3.6 Primitive Instancing
In primitive instancing, the modeling system defines a set of primitive 3D solid shapes
that are relevant to the application area. Primitive instances are similar to
117
parameterized
Geometric Modeling solid objects. A parameterized primitive may be thought of as defining a family of
parts whose members vary in a few parameters, an important CAD concept known as
Group Technology. Primitive instancing is often used for relatively ‘complex objects’,
such as gears and bolts, that are tedious to define in terms of Boolean combinations of
simpler objects, yet are readily characterized by a few high-level parameters. It is
easier to sew and create unambiguous and unique solids. The main disadvantage is
clearly the limited domain of objects that can be handled.
In primitive instancing, no provisions are made for combining objects to form a new
higher-level object, using the regularized Boolean set operations. Thus, the only way to
create a new kind of object is to write the code that defines it. Similarly, the routines
that draw the objects or determine their mass properties must be written individually for
each primitive. The main disadvantage is clearly the limited domain of objects that can
be handled. The method is restricted to the primitives predefined in the system and they
are quite limited.
6.3.7 Spatial Partitioning Representation
In spatial-partitioning representations, a solid is decomposed into a collection of
adjoining non-intersecting solids that are more primitive than, although not necessarily
of the same type as, the original solid. Primitives may vary in type, size, position,
parameterization, and orientation, such as the different-shaped blocks in a child’s
building block set. How far we decompose objects depends on how primitive the solids
must be in order to perform readily the operations of interest. The spatial partitioning
representations are : cell-decomposition, spatial-occupancy enumeration, and Octree
encoding.
Cell-decomposition
In cell-decomposition, an object can be represented as the sum of cells into which
it can be decomposed. Each cell-decomposition system defines a set of primitive
cells that are typically parameterized and are often curved. Cell-decomposition
differs from primitive instancing in that we can compose more complex objects
from simple, primitive ones as a bottom-up fashion by “gluing” them together. The
glue operation can be thought of as a restricted form union in which the objects
must not intersect. Further restrictions on gluing cells often require that two cells
share a single point, edge, or face. Although cell-decomposition representation of
an object is unambiguous, it is not necessarily unique, as shown in Figure 6.39.
Cell-decompositions are also difficult to validate, since each pair of cells must
potentially be tested for intersection. Cell-decomposition is important for use
in finite element analysis.

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

(c) Solid (d) Spatial Occupancy Enumeration (e) Octree


Encoding Figure 6.40 : Quasi-disjoint Decomposition of a Solid

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.

6.4 CREATING 3-D SOLID MODELS

Two basic approaches to create solid models are : 119


Geometric Modeling (i) Constructive solid geometry (CSG or c-rep), and
(ii) Boundary representation (b-rep).
In CSG, the designer constructs the model basic solid primitives such as blocks, cones,
spheres, cylinders, tubes and hexahedra (Figure 6.41) in combination with Boolean
operations such as addition, subtraction, union and intersection. A complex model can be
constructed in a building block manner, by combining the shapes or subtracting them
from each other. Figure 6.42 shows the various Boolean operations using the different
primitives, in constructing a solid model. 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.

Figure 6.41 : Solid Primitives

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

Figure 6.43 : Sweeping Method

A rotational sweep produces a ‘turned’ part with axial symmetry.


Both methods (b-rep and c-rep) have their relative advantages and disadvantages. In
c-rep systems, it is relatively easy to construct a topological correct and precise
solid
model from the available library of primitives. It is compact in storage requirements,
but slow at producing pictures. On the other hand, a b-rep system gives the designer
more freedom in building complex models but the validity of the model could be
destroyed in the process. It is also more expensive on memory. Figure 6.44 shows the
steps taken to construct an object using b-rep and c-rep approaches.

Figure 6.44 : Comparison between b-rep and c-rep Modeling

The use of hybrid models, incorporating the advantages of b-rep and c-rep schemes is
on the increase in modern CAD systems.

6.5 COMPARISON OF VARIOUS SOLID MODELING


SCHEMES

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

(h) Verify Euler’s law for the following objects.

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

You might also like