-
Chapter 4 Modeling of Solids
4.1
Introduction
So
far we have represented objects with wireframe and
surface modeling. Another
method of
geometric modeling is to use vertices, edges and
surfaces to define a solid.
Solid
modeling
systems
allow
users
to
create,
store
and
manipulate
unambiguous
models
of
physical
solid
objects,
In
recent
years,
solid
modeling
has
become
the
prevalent and favorable tool for
applications in design and manufacturing.
Some of the major advantages of solid
modeling are listed here.
(1)
Visualization
of
components
in
3D
space
or
in
realistic
surroundings
can
be
made
easier.
(2)
Solid
models
can
be
used
as
data
input
to
other
systems,
like
FE-
systems,
integration between solid
model and FE-model provides great possibility to
cut short
the product development
process.
(3) Components can be machined
straight from the files created by these systems.
A solid model contains
both
the
geometry
data
and topological
data.
Topological
data
describe
the
connectivity
and
associability
of
the
object
entities.
Solid
model
generation is often
not unique, that is, there are often several
different ways to create a
solid model.
CAD users need to generate solid models which can
make the computer
storage small and
suited for later utilize.
Boundary
representation (B-rep) and Constructive Solid
Geometry (CSG) are two
most popular
schemes for solid modeling. B-reps are based on
the topological notion
that an object
is bounded by faces. CSG is based on that an
object can be divided into
a set of
primitives. Table 4.1 shows some widely used CAD
systems.
4.2 Solid Representation
Most geometric
objects we see every day are solids. Solids can be
very simple like
a cube or very complex
like a piston engine. To be processed by
computers, solids
must
have
some
representations
that
can
describe
the
geometry
and
characteristics
completely.
In fact, a good representation should address 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. Domain
should give a useful
set of physical objects that can be
represented.
②
Unambiguity: A solid should
be represented without any doubt. An unambiguous
representation is usually referred to
as a complete one. Figure 4.1 shows an example
of ambiguous solids.
③
Uniqueness:
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.
④
Accuracy: A
representation is said accurately if no
approximation is required.
⑤
Validity:
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,
solid.
⑦
Compactness and efficiency:
A
good representation
should be compact
enough
for
saving
space
and
allow
for
efficient
algorithms
to
determine
desired
physical
characteristics.
There
are
different
methods
to
create
models,
such
as
half-space,
boundary
representation
(B-rep),
constructive
solid
geometry
(CSG),
sweeping,
analytic
solid
modeling,
cell
decomposition.
Following
concepts
are
important
in
solid
modeling:
solid primitives, Boolean operations,
geometry closure and regularized set operations.
(1) Primitives
Solid
primitives are frequently used in solid modeling.
CAD/CAM systems provide
various
primitives
such
as
block,
cylinder,
cone,
and
sphere.
Figure
4.2
shows
an
example of these solid
entities.
(2) Boolean operations
Union,
difference,
complement
and
intersection
are
essential
Boolean
operations.
Figure 4.3 shows
Boolean operations used in the solid modeling.
Boolean operations
are intuitive to use
and easy to understand, and they provide for rapid
manipulation of
large
amounts
of
data.
Because
of
this,
Boolean
operations
are
also
used
in
many
non-CSG
systems.
(3) Interior, exterior and
closure
We
need
the
concepts
of
interior,
exterior
and
closure
to
understand
regularized
Boolean operators. Intuitively, the
interior of a solid consists of all points lying
inside
of the solid; the closure
consists of all interior points and all points on
the surface of
solids;
and
the
exterior
of
a
solid
is
the
set
of
all
points
that
do
not
belong
to
the
closure.
A open ball with centre (a, b, c) and
radius r consists of all points that satisfy the
following relation,
(x-a)
2
+(y-b)
2
+
(z-c)
2
<
br>
2
A point P is an interior point of a
solid S if there exists a radius r such that the
open
ball with centre P and radius r is
contained in the solid S. The set of all interior
points
of solid S is the interior of S,
written as int (S). Based on this definition, the
interior of
an open ball is the open
ball itself.
On the other hand, a point
Q is an exterior point of a solid S if there
exists a radius r
such that the open
ball with centre Q and radius r does not intersect
S. The set of all
exterior point of
solid S is the exterior of solid S, written as
ext(S).
Those
points
that
are
neither
in
the
interior
nor
in
the
exterior
of
a
solid
S
constitutes the boundary of solid S,
written as b(S). Therefore, the union of interior,
exterior and boundary of a solid is the
whole space.
The closure of a solid S
is defined to be the union of the interior and the
boundary
of S, written as closure (S).
Or, equivalently, the closure of solid S contains
all points
that are not in the exterior
of S.
(4) Regularized set operations
When set operations are used in
geometry modeling, unwanted geometry may be
got. In Fig. 4.4, two cubes touch each
other and their intersection is a rectangle shown
on the right. A rectangle is not a
three-dimensional object and hence not a solid.
To
eliminate
these
lower
dimensional
branches,
the
three
set
operations
are
regularized as follows. The idea is
simple.
Compute
the
result
as
usual
and
lower
dimensional
components
may
be
generated.
Compute
the
interior
of
the
result.
This
step
removes
all
the
lower
dimensional
components.
Compute
the
closure
of
the
result
obtained
in
the
above
step.
This
adds
the
boundary back.
Let op* be the regularized operator and
let A and B be two solids. Then,
A
∪
* B ,
A
∩
*B
and A-* B can be defined mathematically
based on the above description.
A
∪
* B -
c1osure(int(the set union of A and B))
A
∩
*B
-
c1osure(int(the set intersection of A and B))
A-* B - c1osure (int (the set
difference of A and B))
Based
on
this
definition,
the
intersection
of
the
two
cubes
shown
in
Fig.
4.4
is
empty. The
intersection of these two cubes is a rectangle,
which is a two-dimensional
object and
has no interior. Hence, after taking interior
(i.g. , int()), we get an empty set,
whose closure is also empty.
Consequently, the intersection is empty.
4.3 Boundary Representation
Boundary models have a hierarchical
format. As mentioned earlier, B-reps describe
objects
bounded by
a set
of faces.
Each face has
its
underlying closed (continuous)
and oriented surface as shown in Fig.
4.5 and the face is bounded by edges. Each edge
is bounded by vertices. A boundary
model of an object is comprised of faces, edges
and vertices.
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
wireframe
model
by
adding face information
to the later.
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
sol-id.
Normally,
the
order
is
counter
clockwise.
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 database of a
boundary model contains
both
topological
and
geometric data.
Topological
data provide the relationships among vertices,
edges and faces similar to
that used in
a wireframe model. In addition to connectivity,
topological information
also
includes
orientation
of
edges
and
faces.
Geometric
information
is
usually
equations of the
edges and faces. Topology is created by performing
Euler operations
and geometry is
created by per-form Euclidean calculations. Both
the topological and
geometry validity
should be checked to
avoid
nonsense object.
Euler
operators also
provide designers with
drafting functionality.
Boolean
operators are often used to
create
and edit models. Since B-rep
requires
explicit
representation
of
the
boundary
of
the
solid,
boundaries
must
be
evaluated
after the operation. For CSG model, the
Boolean operation is simply an addition to the
CSG tree.
The main
advantage of
B-rep is
its
ability to construct
solids that are difficult to
build
u-sing
primitives.
The
main
disadvantage
is
that
it
requires
large
amounts
of
storage because it stores the boundary
explicitly.
4.3.1 Euler Formula
Objects that are often encountered in
engineering are polyhedral or curved objects.
Figure 4.6 shows examples of
polyhedral.
Eu1er
(or
Euler-Poincare)
law
is
that
a
polyhedron
is
topologically
valid
if
they
satisfy
the following equation,
F-E+V-L=2(B-G)
(4.1)
Where F,
E,
V
,
L,
B and G are the number of faces,
edges,
vertices,
faces
’
inner
loop
bodies
and
genus
(handles
or
through
holes)
respectively.
For
a
simple
polyhedron, we have: F-E+V=2.
Euler law can be used to check the
object
’
s validity, the
system commands (Euler
operators) are
based on Euler law and thus ensure the validity
simultaneously. Euler
law given above
applies to closed polyhedral objects. For open
polyhedron, we have:
P-E+V-L=B-G
(4.2)
If objects have curved
surface, such as cylinders and spheres, Euler law
is still valid.
Topologically, one can
always stretch curved edges and faces so that they
become flat
without changing the
relationships among them.
4.3.2 Euler
Operators
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.
Recall
from
the
discussion
of
the
Euler
formula
that
the
following
holds
for
all
polyhedra:
V-E+F-(L-F)-2(B-G) =0
(4.3)
Based
on
this
relation,
some
Euler
operators
have
been
selected
for
editing
a
polyhedron so that the Euler formula is
always satisfied. There are two groups of such
operators: the Make group and the Kill
group. Operators starting 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.
The
user
is
not
free
to
construct
faces, edges or vertexes. For example,
there are no such operators such as ME, MV or
MF as they violate Euler law.
Every topologically valid polyhedron
can be constructed from an initial polyhedron
by
a
finite
sequence
of
Euler
operators.
Therefore,
Euler
operators
are
powerful
operations.
4.3.2.1 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. The
operators are as shown in Table 4. 2.
Table 4.2 shows the change
of values of V
, E, F, L. B and C. Note
that adding a face
produces a loop, the
outer loop of that face. Therefore, when F is
increased, L should
also be increased.
This new loop and the new face will cancel each
other in the sub
expression of L-F.
Please verify that none of these operators would
cause the Euler
formula to fail.
MBFV
is
often
used
to
begin
constructing
the
boundary
models,
so
it
could
be
through
as the first vertex of the model. Table 4.3
illustrates the way of using Euler
operators
to
construct
a
tetrahedron,
in
seven
steps
or
seven
Euler
operators
a
tetrahedron is created.
MBG
simply
makes
a
body
with
a
hole.
After
this,
one
can
add
vertices,
edges,
faces, and 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
1and the number of loops L is decreased by 1 since
that loop is killed.
Higher
level
Euler operators can be developed,
such as MCUBE
(create
a
cube),
MCYL(create a cylinder).
4.3.2.2 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 five operators
as shown
in Table 4.4.
With
these
operators,
one
can
start
with
a
tetrahedron
and
reduce
it
to
nothing.
These
operators
are
the
opposites
of
the
Make
operators.
The
advantages
of
Euler
operators are that
they ensure creating valid topology and reasonable
is simple. Euler
operators offer a
mechanism to check the topological validity of the
models. However
the
models
are
not
unique
because
the
boundary
of
any
object
can
be
divided
into
faces, edges and vertices in many ways.
Euler operators are difficult for designers to
use and usually not available to users
at interface, only exist internal to software.
Earlier user interfaces used commands
such as
although
such
interfaces
are
not
convenient.
Object-oriented
(feature-
based)
user
interfaces are
more acceptable by users. For example, command
than
4.3.3 The Winged-edge
Data Structure
The winged data structure is useful
data structure in B-rep. In this structure, all
the
adjacency
relations
of
each
edge
are
described
explicitly.
The
winged-edge
data
structure uses edges to keep track
almost everything.
For each edge, the
following information is important: vertices of
this edge, its left
and
right
faces,
the
predecessor
and
successor
of
this
edge
when
traversing
its
left
face, the predecessor
and successor of this edge when traversing its
right face.
Each
entry
in
the
edge
table
contains
above
information
mentioned
earlier:
edge
-
-
-
-
-
-
-
-
-
上一篇:利益面前 领导干部退一步
下一篇:在老婆面前勾搭别人的女伴并推倒