# Geometric Modeling

### Pages to are hidden for

"Geometric Modeling"

```					 Geometric Modeling (1)
• Types of Geometric modeling
techniques
• Wire frame modeling systems

• Surface modeling systems

• Solid modeling systems
1
Wire-frame Modeling
• Were popular when geo-modeling was first
introduced.
• Require simple user input. However, a visual
model is composed only of lines, and arcs.
• The object can be ambiguous at times. Figure
1,2)
• The model description does not include
information about the inside and outside
boundary surfaces of the object being
modeled. Impossible to calculate object’s
mass properties, derive tool paths or generate
finite meshes for FEM analysis.            2
Wire-frame Modeling
• Represent a shape by its characteristic lines
and end points. The visual model is simply a
wire-frame drawing of the shape. (Figure 3).
• The list of curve equations, coordinates of the
points, and connectivity information for the
shape’s curves and points provide the
mathematical description.
• Connectivity information identifies which
points are the end points of which curves and
which curves are adjacent at which points.
3
Surface Modeling
• Surface information is included in addition to
other information. A list of surface equations, a
list of curve equations, and the coordinates of
points are updated as the visual model is
manipulated.
• Visual model in a surface modeling may
appear to be the same as that in wire frame
model when the surfaces are neither colored
• Surface connectivity?-information on which
surfaces are joined and which surfaces are
Figure 4
5
Figure 5
6
Surface Modeling (2)
• Adjacency information is useful to check
gouging (tool cutting into adjacent surfaces
that should not be machined).
• Location, direction of the center axis, and
radius of a cylindrical surface are examples
of the characteristic attributes defining a
cylindrical surface equation. The application
program has to derive the boundaries of the
surfaces and the connectivity information.
• Three methods are used to create a surface
in surface modeling systems:
7
Surface Modeling
• (i) Interpolating the input points
• (ii) Interpolating the curves specified
• (iii) Translating or revolving a specified
curve.
• Surface modeling systems are used to
create models with complex surfaces mainly
for two purposes- the visual model is used to
evaluate the model aesthetically, and the
mathematical description is used to generate
the NC tool path to machine.
• Figure 4 and 5                            8
Solid Modeling
• Used to model a shape having a closed
volume, called a solid. (Figure 6)
• Unlike the previous two systems, a simple
set of surfaces or a simple set of
characteristic lines, are not allowed if they
cannot form a closed volume.
• Contains information that determines
whether any location is inside, outside, or on
the closed volume. Thus application
programs can be written to do operations at
the level of volume instead of at the level of
surface.
9
Solid Modeling
• Application programs can be written to
generate automatically the finite elements of
a solid or NC tool path generation program
can be written to generate automatically all
the tool paths to machine the volume to be
removed from the work piece.
• Creating a model as a complete solid
requires a large amount of input data in
proportion to the amount of data stored in
the mathematical description.

10
Solid Modeling
• In order to reduce the level of
complexity, solid modeling systems use
functions such as primitive creation,
Boolean operations, lifting,
sweeping, swinging, and rounding
which require a simpler input.
• Five groups of modeling functions are
generally supported by most solid
modeling systems.
11
Modeling Functions
• Five groups:
– First group creates simple shapes by retrieving a
solid, which is one of the primitive solids stored in
Hence they are called primitive creation functions.
– Figure 7 illustrate the primitives supported by most
solid modeling systems. The dimensions identified
by alphabetic characters are the size parameters
to be specified by the user.
– Functions of adding to or subtracting from a solid
also belong to this group and they are called
Boolean operations.
12
13
Figure 7
Modeling Functions
• A combination of the primitives can increase
dramatically the repertoire of the shapes to
be modeled. Use of Boolean operations of
set theory have been routinely used. Each
primitive solid is assumed to be a set of
points, and a Boolean operation is
performed on point sets, and the result is a
solid composed of the points resulting from
the operation.
• Standard Boolean operations are union,
intersection, and difference, as illustrated in
Figure 8.
14
Union
Union

Intersection

Figure 8   Difference     15
Modeling Functions
• Second group is composed of the modeling
functions that create a solid by moving a
surface.
• The sweeping and skinning functions belong
to this group. Sweeping creates a solid by
translating or revolving a predefined planar
closed domain. The modeling function using
the revolution of a planar domain is also
called swinging.
• Parametric modeling techniques can be
applied to change the geometric
constraints/dimension data.               16
Modeling Functions
• Figures 9, 10 illustrate the two types of
sweeping operations, namely translational
sweeping and swinging or rotational
sweeping. Revolutions of less than 360
degrees are permitted.
• If the planar shape to be translated or
revolved is not closed, the result after the
sweeping is a surface instead of a solid.
• The skinning function generates a solid by
creating the skin surface to enclose a
volume when the cross sections of the
desired solid are given.
17
Figure 9   18
19
Figure 10
Modeling Functions
• Figures 11 illustrates a surface created by
skinning operation.
• Analogous to constructing a structure by
covering its frame, which are boundaries of
the cross-section, with a skin surface of cloth
or vinyl.
• Third group includes the modeling functions
used mainly for modifying an existing shape.
The rounding (or blending) and lifting
functions are typical of this group.
20
Figure 11
21
Modeling Functions
• Rounding or blending is used to modify an
existing model so that a sharp edge or
vertex is replaced with a smooth curved
surface whose normal vectors are
continuous with those of the surfaces
meeting at the original sharp edge or vertex.
• Figure 12 shows replacement of a sharp
straight edge with a cylindrical surface. The
normal vectors of the cylindrical surface are
continuous with those of each adjacent
planar surface at the common boundary.
22
Figure 12

23
Modeling Functions
• The fourth group comprises the functions by
which the lower level entities of a solid, such
as vertices, edges, and faces, are directly
manipulated. The use of these functions,
called boundary modeling, is similar to that
of the functions provided in surface
modeling.
• Boundary modeling functions are used to
add, delete, or modify the lower entities of a
solid, such as vertices, edges, and faces, in
order to manipulate it directly.
24
Figure 13
25
Modeling Functions
• The last group includes the functions by which
a designer can model a solid by using familiar
shapes. For e.g. the designer can use
commands such “make a hole of a certain size
at a certain place” and “make a chamfer of a
certain size at a certain place”. The use of
these functions is called feature-based
modeling.
• The shape units are called features.
• Popular features- chamfer, hole, fillet, slot,
pocket and so on. Each one is matched to a
specific machining process.
26
Modeling Functions
• Modeling of the solid shown in Figure 14 is
achieved by using Slot and Hole instead of
using Boolean operations.
• Many systems provide a method for defining
additional features. Features can be created
by assigning different values to the
parameters using a technique known as
parametric modeling.

27
Figure 14
28
Data Structure
• Data structures needed to describe a solid
can be classified into three types generally
according to the entities stored.
• Constructive Solid Geometry (CSG):
– Stores in a tree, the history of applying Boolean
operations on the primitives. Known as CSG
tree.
• Boundary Representation (B-Rep):
– Stores the boundary information for a solid (i.e.,
vertices, edges, and faces, together with the
information on how they are connected). Known
as B-Rep data structure.                       29
Data Structure
• Decomposition Model:
– Stores a solid as an aggregate of simple solids
such as cubes. Many decomposition models can
be used. However none of the decomposition
models can describe a solid exactly.
• CSG tree structure (Figure 15)
– Considering the solid shown in Figure 15a, its
Boolean operation history can be envisioned to
be a binary tree, as shown in Figure 15b. The
tree can also be represented by the interrelated
data elements shown in Figure 15c.
30
Data Structure
• CSG has the following advantages:
• Simple data structure and stores data in a
compact form and hence data
management is easy.
• Solid model stored in a CSG tree is
always a valid solid.
• CSG representation of a solid can always
be converted to the corresponding B-Rep.
• Parametric modeling can be realized by
changing the parameter values of the
associated primitives.
31
Data Structure
• CSG has the following disadvantages:
• Since only Boolean operations are allowed in
the modeling process, the range of shapes to
be modeled is severely restricted. The
convenience of local modification functions
such lifting and rounding cannot be used.
• Requires great deal of computation to derive
the information on the boundary surfaces, their
boundary edges, and the connectivity between
these boundary entities. Interactive display and
manipulation of a solid suffers.
• Calculation of NC tool paths is also difficult.
32
Data Structure
• CSG has the following disadvantages
(Cont’d)
– Gouging detection is difficult.
• Many solid modeling systems use hybrid
representation to make use of CSG as well
as B-Rep systems.
• B-Rep data Structure
– Basic elements of the boundary of a solid are
the vertices, edges, and the faces.
– The B-Rep structure stores these entities with
the information about how they are
interconnected.
33
Data Structure
• Table shows one of the simplest data B-Rep
data structure for the solid shown in Figure 16.
– Face table stores the list of bounding edges for each
face.
– The sequence of edges for each face is given by
traversing it counterclockwise when the solid is viewed
from the outside.
– By listing the edges in a consistent way, each face can
be stored together with information about what
represents the inside and the outside of the solid from
the information given about the faces.
– The vertices, edges, and faces shown in Figure 16 are
numbered arbitrarily by the system when the B-Rep
shown in the Table is stored.                         34
Representation of entities
• Definition of entities in Wire Frame:
– WF can be divided into two classes for
creating elements:
– Analytic and Synthetic
• Analytic - traditional method of creating
points, lines, arcs, ellipses etc.
• Synthetic- curves that are created by
many curve segments.

35
Representation of entities
• Synthetic curves:
– Design of objects will benefit from a easy
way of controlling the continuity of the
curves designed;
– will benefit from less storage space;
– less computational time; and
– easy input by the user.
• Several methods are available as
shown in Figure 20.

36
Figure 20
37
Representation of entities
• Analytic curves are well defined.
However objects will benefit from the
ability to alter them.
– e.g., car body, fuselage, wings, turbine
• Parametric representation of curves
allowing the ability to control the shape
of the curves have been developed as
a solution to this problem.

38
Representation of entities
• Concept of continuity is a fundamental
issue in creation of synthetic curves.
• Continuity- how smooth are the curves
at the point of junction of two curves.
• Three types:
– C0, C1, and C2.
• C0-The two curves are simply
be different.
– Figures 21a
39
Figure 21

40
Representation of entities
• C1- Gradient at the point of
intersection must be the same. The
center of curves may be different.
Figure 21b.
• C2- Both the gradient and the center of
curvature must be the same. Figure 21c
• Curves that are connected by many
curves are called synthetic curves.
• Many different types of synthetic
curves are available.                41
Representation of Curves
• Most of the equations for curves used in
CAD software are of third order. Reason?
– Two curves each represented by a third order
equation can be combined so that continuity to
their second derivatives is guaranteed at the
connection point.
– This implies that the curvature is continuous
across the connection point and that the two
curves appear to be one.
– Continuity can be guaranteed with degrees
higher than 3. However, use of higher degree
causes small oscillations in curve shape and
requires more computation.                    42
Representation of entities (HCS)
• Hermite Cubic Spline (HCS):
• Curve is composed of several
segments with each segment
approximated by a parametric cubic
function of the form
– r = V(t) = a0 + a1t + a2t2 + a3t3
– r is the vector representation of a point
on the curve.
– Parameter t is bounded between 0 and
1.
– Segment has highest-degree polynomial
t 3.
43
Representation of entities (HCS)
• Reason for using cubic functions:
– minimum-order polynomial function that
generates the different types of curves.
– Lowest order polynomial that permits
inflection and allows non planar (twisted)
curves to be created.
– Higher order polynomials produce
oscillation about control points and also
require very large storage as well as
computation.

44
Representation of entities (HCS)
• a0 , a1, a2, and a3 are the four coefficient
vectors needed to define any particular curve
bounded between the values of the
parameters t. They must be determined for a
specific curve representation.
• The coefficients do not have direct physical
significance.
• They are not convenient “handles” for
adjusting the segment shape or incorporating
it into a composite curve.

45
Representation of entities (HCS)
• In HCS a curve is defined as passing
through two points (start and end
points) and having a certain tangent
vector at the two points.
• Given V(0), V(1), V´(0) and V´(1)
• Provides the user a way to connect two
curves and assure a certain degree of
continuity.
• Figure 22

46
47
Figure 22
Representation of entities (HCS)

• r = V(t) = a0 + a1t + a2t2 + a3t3   -eqn1
– r-point vector on the cubic curve defined
by the parametric equation V(t).
– t takes the value between 0 and 1.
• Given V(0), V(1), V´(0) and V´(1)
• Differentiating equation 1 results in
• V'(t) = a1 + 2a2t + 3a3t2         -eqn2

48
Representation of entities (HCS)

• Applying boundary conditions, t=0
– V(0) = a0              -eqn3
– V'(0) = a1              -eqn4
• Applying boundary conditions, t=1
– V(1) = a0+ a1+ a2 +a3  -eqn5
– V'(1) = a1+ 2a2 +3a3    -eqn6

49
Representation of entities (HCS)

• Solve for the constants (a1 through a4)
using equations 3,4,5 and 6.
• a0 = V(0)
• a1 = V'(0)
• a2 = 3[ V(1) - V(0) ] - 2 V' (0) - V' (1)
• a3 = 2[ V(0) - V(1) ] + V' (0) + V' (1)

50
Representation of entities (HCS)

• Substituting all the a’s into equations
1 and 2 will yield (after rearranging
the terms)
• V(t) = V(0) (1 - 3t2 + 2t3) + V(1) ( 3t2 -
2t3)+ V'(0) (t - 2t2 + t3) + V'(1) (-t2+t3)
• V'(t) = V(0) (- 6t + 6t2) + V(1) ( 6t -6t2)
+ V'(0) (3t2 -4t + 1) + V'(1) (3t2 -2t)

51
Representation of entities (HCS)
• One can create various shapes of the
curve segment by altering one or more
of V(0), V(1), V'(0) and V'(1).
• The vectors V(0), V(1), V'(0) and V'(1)
affect the shape of the curve, with their
relative importance determined by the
functions                The functions blend
f1(t) = 1-3t2 + 2t3   the effect of the
2 - 2t3    prescribed boundary
f2(t) = 3t            conditions and are
f3(t) = t - 2t2 + t3  called the blending
f4(t) = -t2 + t3      functions.
52
Representation of entities (HCS)
– first order derivatives are needed and a
designer may not be able to provide that
information;
– no local control on the shape of the curve;
and
– order of the curve is fixed regardless of
the number of data points.
• However one can create various
shapes of curve segments by altering
one or more of V(0), V(1), V´(0) and
V´(1)
53
Representation of entities (Bezier)
• In Hermite form, it is not easy to
predict curve shape according to
changes in magnitude of the tangent
vectors.
• Bezier, an employee of the French
auto company Renault, suggested a
new form of curve equation and used
it in Renault’s surface modeling
system, UNISURF.
– The curve is defined by the vertices of a
polygon that enclose the resulting
curve.                                54
Representation of entities (Bezier)
– The effects of the vertices are weighted by
the corresponding blending functions and
blended as in the Hermite curve.
• The resulting function has the
following properties:
– The curve passes through the first and the
last vertex of the polygon
– The tangent vector at the starting point of
the curve has same direction as the first
segment of the polygon (Figure 25) .
Similarly the last segment of the polygon
gives the slope of the tangent vector at the
ending point.
55
Representation of entities (Bezier)
• Bezier curves are based on approximation
techniques in comparison to Hermite
curves which are based on interpolation
techniques.
• In Bezier, the curves do not pass through
all the given points except the first and
last control point.
• Does not require the first-order derivatives
and the shape of the curve is controlled by
control points.

56
Representation of entities (Bezier)
• With reference to Figure 25 Bezier curves
have the following properties.
– Curves pass through the first and last
control points (v0 and vn) in Figure 25 at
t=0 and 1.
– In Figure 25, the starting point V'1 of the
second line and the endpoint V4 of the
first line have the same position.
– The tangents at the first and last points
are in the direction of the first and last
segments of the characteristic polygon.
– Entire curve lies within the characteristic
polygon known as ‘convex hull property’.
57
58
Figure 25
Representation of entities (B-Spline)

• B-Spline-a generalization of the
Bezier curve and allows local control
wherein one can change the shape of
the curve at any desired point (Figure
26)
• In Hermite and Bezier a change of
one control point affects the whole
curve which is not desirable for
designers.
59
60
Figure 26
Representation of entities (B-Spline)

• Rational B-Spline- a parameter called
weight is associated with each
control point to control the behavior
of the curve.
• Most widely used class of RBS is
NURBS (Non Uniform RBS).