Solid Modeling
Solid Modeling
SOLID MODELING
Why solid modeling?
Recall weakness of wire-frame and surface
modeling
Ambiguous geometric description
incomplete geometric description
lack topological information
Tedious modeling process
Awkward user interface
Solid Modeling Representation
A B
A-B
Constructive solid geometry
(CSG)-Boolean operation
intersection
Those points common to each of two defined sets
(logical “AND”) - intersection
Set must share common volume
Also referred to as join command
A B
AB
Constructive solid geometry
(CSG)-Boolean
When using Boolean operation, be careful to
avoid situation that do not result in a valid solid
A B
AB
Constructive solid geometry
(CSG)-Boolean
Boolean operation
Are intuitive to user
Are easy to use and understand
Provide for the rapid manipulation of large
amounts of data.
Constructive solid geometry
(CSG)-data structure
Data structure does not define model shape
explicitly(clear with detail) but rather intimate the
geometric shape through a procedural description
– E.g: object is not defined as a set of edges &
faces but by the instruction : union primitive1 with
primitive 2
This procedural data is stored in a data structure
referred to as a CSG tree
The data structure is simple and stores compact
data easy to manage
Constructive solid geometry
(CSG)- CSG tree
CSG tree stores the history of applying
Boolean operations on the primitives.
Stores in a binary tree format
The outer leaf nodes of tree represent the
primitives
The interior nodes represent the Boolean
operations performed.
Constructive solid geometry
(CSG)- CSG tree
Constructive solid geometry
(CSG)- not unique
More than one procedure (and hence database) can
be used to arrive at the same geometry.
-
Constructive solid geometry
(CSG) representation
CSG representation is unevaluated
Faces, edges, vertices not defined in
explicit(open)
CSG model are always valid
Since built from solid elements.
CSG models are complete and
unambiguous (clarity)
Constructive solid geometry
(CSG) - advantage
CSG is powerful with high level command.
Easy to construct a solid model – minimum
step.
CSG modeling techniques lead to a concise
(short) database less storage.
– Complete history of model is retained and can
be altered at any point.
Can be converted to the corresponding
boundary representation.
Constructive solid geometry
(CSG) -
disadvantage
Only Boolean operations are allowed in the
modeling process with Boolean operation
alone, the range of shapes to be modeled is
severely restricted not possible to construct
unusual shape.
Requires a great deal of computation to
derive(CALCULATION) the information on
the boundary, faces and edges which is important
for the interactive display/ manipulation of solid.
Boundary representation (B-Rep)
Solid model is defined by their enclosing
surfaces or boundaries.
This technique consists of the geometric
information about
- the faces, edges and vertices of an object
with the topological data on how these are
connected.
Boundary representation (B-Rep)
Why B-Rep includes such topological
information?
- A solid is represented as a closed space in
3D space (surface connect without gaps)
- The boundary of a solid separates points -
inside from - outside solid.
B-Rep vs surface modeling
Surface model
A collection of surface entities which simply
enclose a volume lacks the connective data to
define a solid (i.e topology).
B- Rep model
Technique guarantees that surfaces definitively
divide model space into solid and void, even
after model modification commands.
B-Rep data structure
B-Rep graph store face, edge and vertices
as nodes, with pointers, or branches
between the nodes to indicate connectivity.
v5
B-Rep data structure
f3 E4 E3
E7
E1f2
v4 v3
f4 solid
E8 f5E2 E6 f1
v1 E5 v2
face1 face2 face3 face4 face5
Combinatorial
edge1
edge2
edge3
vertex1 vertex2 vertex3 vertex4 edge4
vertex5 edge5
Metric information/
edge6
geometry
edge7
(x, y, z)
edge8
structure /
Boundary representation- validity
System must validate topology of created
solid.
B-Rep has to fulfill certain conditions to
disallow self-intersecting and open objects
This condition include
Each edge should adjoin exactly two faces and
have a vertex at each end.
Vertices are geometrically described by point
coordinates
Boundary representation- validity
This condition include (cont)
At least three edges must meet at each vertex.
Faces are described by surface equations
The set of faces forms a complete skin of the solid
with no missing parts.
Each face is bordered by an ordered set of edges
forming a closed loop.
Faces must only intersect at common edges or
vertices.
The boundaries of faces do not intersect themselves
Boundary representation- validity
Validity also checked through mathematical
evaluation
– Evaluation is based upon Euler’s Law (valid for
simple polyhedra – no hole)
V-vertices E- edges F- face
–V–E+F=2
loops
v5
E3 V = 5, E = 8, F = 5
f3 E4
E7
E1f2
v4 v3
f4 5–8+5=2
E8 f5E2 E6 f1
v1 E5
v2
Boundary representation- validity
Expanded Euler’s law for complex polyhedrons
(with holes)
Euler-Poincare Law:
– V-E+F-H=2(B-P)
Tweaking
– Face of an object is moved in some way