0% found this document useful (0 votes)
15 views431 pages

GSM Endsem Merged

The document outlines the course structure and content for ID3207: Geometric and Solid Modelling at NIT Rourkela, focusing on 3D shape creation and manipulation through various modeling techniques. It covers computer graphics applications in design, education, and entertainment, along with geometric transformations, projections, and solid modeling techniques. The course aims to equip students with essential skills for product design and engineering through practical assignments and theoretical knowledge.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views431 pages

GSM Endsem Merged

The document outlines the course structure and content for ID3207: Geometric and Solid Modelling at NIT Rourkela, focusing on 3D shape creation and manipulation through various modeling techniques. It covers computer graphics applications in design, education, and entertainment, along with geometric transformations, projections, and solid modeling techniques. The course aims to equip students with essential skills for product design and engineering through practical assignments and theoretical knowledge.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 431

ID3207 : Geometric and Solid

Modelling

Abhishek Verma
Department of Industrial Design
NIT Rourkela
Autumn 2024
Course Structure
• Introduction to Computer Graphics • Assignments (10)
• Geometric Modeling
• Transformations • Best of 8 (for all)
• Solid Modeling
• Best of 7 ( for attendance
• Curves over 90 %)
• Surfaces
GEOMETRIC AND SOLID MODELLING

• Geometric and Solid Modelling is a fundamental course in the field of


design, engineering, and computer graphics.
• It focuses on the creation, manipulation, and analysis of 3D shapes and
structures using mathematical and computational techniques.
• This course can equip you with the skills to model complex geometries,
which are essential in various applications such as product design,
manufacturing, simulation, and virtual reality.
ID3207 : Geometric and Solid Modelling

Introduction to Computer
Graphics
INTRODUCTION TO COMPUTER GRAPHICS
• Computer Graphics involves creation, display, manipulation and storage
of pictures and experimental data/models or images for proper
visualization using a computer. Computers are becoming a powerful tool
for the rapid and economic production of pictures.

Science Engineering Medicine


Business Industry Government
Art Education Entertainment
Training
APPLICATIONS OF COMPUTER GRAPHICS
1. Computer Aided Design (CAD)

• It is used in the design of Buildings, Automobiles,


Aircraft, Watercraft, Spacecraft, Computers,
Textiles and many more products
• For some design applications, objects are first
displayed in a wireframe outline which shows the
overall shape and internal features of objects
• Circuits and Networks for communications, water
supply or other utilities are constructed
• The shapes used in a design represent the
different network or circuit components
APPLICATIONS OF COMPUTER GRAPHICS
1. Computer Aided Design (CAD)

• Real time animations using wireframe displays


on a video monitor are useful for testing
performance of a vehicle or system
• Realistic displays are generated for advertising of
automobiles and other vehicles using special
lighting effects and background scenes
• Architects use interactive graphics methods to
layout floor plans such as positioning of rooms,
windows, stairs, shelves and other building
features
APPLICATIONS OF COMPUTER GRAPHICS
2. Presentation Graphics

• Presentation Graphics is used to produce


illustrations for reports, Slides or
transparencies for use with projectors.
• It is used to summarize Financial, Statistical,
Mathematical, Scientific as well as Economic
Data.
• For example: Bar charts, Line Graphs, Surface
Graphs, Pie charts and other displays shows
relationships between multiple parameters.
APPLICATIONS OF COMPUTER GRAPHICS
3. Computer Art
• Computer Graphics are used in both fine art
and commercial art applications.
• Artists use a variety of computer methods
including special purpose hardware, artists
paint brush programs, specially developed
software, symbolic mathematical packages,
CAD software, Desktop publishing software
and Animation packages that provide facilities
for designing object shapes and specifying
object motions
APPLICATIONS OF COMPUTER GRAPHICS
4. Entertainment
• Graphics objects are combined with
actors and live scenes.
• Example: Motion pictures, Music
Videos, Television shows.
APPLICATIONS OF COMPUTER GRAPHICS
5. Education and Training

• Computer generated models of


physical, financial and economic
systems are often used as educational
aids.
• Example: Simulators for practice
sessions, Training of ship captions,
Training of pilots, Air traffic control
personnel, etc.
APPLICATIONS OF COMPUTER GRAPHICS
6. Visualization

• Scientists, Engineers, Medical Personnel,


Business Analysts need to analyze large amount
of data.
• Numerical simulations carried out on super
computers frequently produce data files
containing thousands and millions of data
values.
• Satellite cameras and other sources can
process amassing large data files faster than
they can be interpreted .
APPLICATIONS OF COMPUTER GRAPHICS
7. Image Processing

• Image processing is applied to modify /


interpret existing pictures such as
photographs and TV scans.
• Applications of Image Processing:
• Improving picture quality
• Machine perception of visual
information as used in robotics
APPLICATIONS OF COMPUTER GRAPHICS
8. Graphical User Interface

• Uses Window manager which


allows a user to display multiple
window areas. It can be activated
by an icon.
APPLICATIONS OF COMPUTER GRAPHICS
8. Virtual Reality

• User Interacts with objects in a 3D Scene


• Special Devices required for input and
Output
• Virtual walkthroughs
• Training Simulators and gaming
ID3207 : Geometric and Solid Modelling

Geometric Modelling Basics


Where does geometric modelling fits ?
•v
What we expect from geometric modelling
Topology and Geometry
Basic Geometric Modelling Techniques
Wireframe Modelling
Wireframe Modelling
Surface Modelling
Surface Modelling
Solid Modelling
Solid Modelling

Wireframe Surface Model Solid Model


Solid Modelling : Volume and Boundary
Solid Modelling Techniques
Constructive Solid Geometry
Boolean Operations and CSG Tree
Sweeping
Sweeping
Boundary Representation (B-Rep)
Boundary Representation (B-Rep)
Feature Based Parametric Modelling
• Feature-based, Parametric Solid Modeling system represents the recent
advance of computer geometric modeling.
• Feature-based parametric solid modeling eliminated the direct use of common geometric
primitives such as cone, cylinder, sphere, etc, since these primitives only represent low-level
geometric entities.
• The modeling approach uses sweeping to form the main shape of the part,and build-in mechanical
features to specify the detailed geometry of the model. These features include holes (through, blind,
sink), rounds, chamfers, slots, etc. Operations to solid model, such as cut and shell (change a solid
model into a hollow shell) are also supported.
Assignment 1
• Identify yourself as UI/UX Person or Product Design Person
• Select one of the software that you can have hands on :
• Graphic Design Software (Adobe Illustrator/ Figma/Canva etc.)
• Create a Poster / Art with using at least 3 geometric and 1 Organic shape
or
• Computer Aided Design Software (SolidWorks/Catia/ Fusion 360)
• Create a shape using at least one of the sphere, cube and cuboid

Submission Date : On or Before 19th August

File Submission Format : (a) UI/UX : PNG/JPEG


(b) Product Design : .STL /.IGES file
THANK YOU
ID3207 : Geometric and Solid
Modelling

Abhishek Verma
Department of Industrial Design
NIT Rourkela
Autumn 2024
ID3207 : Geometric and Solid Modelling

Geometric Transformations
Transformation
• Transformation changes the way object appears
• Implementing changes in size of object, its position on screen or its
orientation is called as transformation
Transformations
Basic 2-Dimensional Transformation
• Translation
• Scaling
• Rotation
Translation
• Translation is a process of changing the position of an object in a
straight line path from one coordinate location to another.
Translation
Translation
Translation Polygon
Rotation
• Rotation transformation re-position an object along a circular parth in
X-Y Plane.

• The Rotation is performed with certain angle θ known as rotation


angle
Rotation
Rotation
• Converting it into matrix form :
Rotation
• A rotation re-positions all points in an object along a circular path in
the plane centered at the pivot point.

• First, we will assume the pivot is at the origin .


Rotation
Rotation
Scaling
Scaling
Scaling
Homogenous Co-ordinates

Matrix Multiplication is
not Commutative within
different operations

Commutative within
same time of operations
Reflection and Shear Transformation
• Reflection : Produces a mirror image of an object relative to an axis of
reflection

• Shear : A transformation that slants the shape of an object is called as


shear transformation
• X-shear – Preserve y co-ordinates but changes x values
• Y-shear – Preserves X co-ordinates but changes y values
Reflection
Reflection
Shear
Rotation about non-Origin point
• What happens if we have to apply rotation transformation to an
object other than origin :
• Translate the center of rotation to the origin
• Rotate the object
• Translate back to the original location.
Rotation about non-Origin point
Rotation about a Pivot Point
Rotation about a Pivot Point
Rotation about a Pivot Point
Rotation about a Pivot Point
Thank You
3-D Transformation
3-D Coordinate System
3-D Translation
• In translation, Object is displaced in any direction from its original
position.
• The new object point p’ = x’,y’,z’ can be found by applying transform

Ttx,ty,tz to p=(x,y,z)

Here tx = distance moved by object along x-axis


ty=distance moved by object along y-axis
tz=distance moved by object along z-axis
3D Translation
3D Translation
• An Object represented as a set of polygon surfaces, is translated by
translating each vertex of each surface and redraw the polygon facets
in the new position
3D Rotation
• In general, Rotations are specified by a rotation axis and an angle.

• In two-dimensions, there is only one choice of a rotation axis that is


perpendicular to the X-Y axes.
3D Rotation
• The easiest rotation axes are those that are
parallel to co-ordinate axis.

• Positive rotation angles produce


counterclockwise rotation about a
coordinate axis, if we are looking along the
positive half of the axis towards the co-
ordinate origin.
Coordinate Axis Rotations
• Z-axis rotation: Rotation about z-axis in anticlockwise direction
Rotation about Z-axis in Clockwise Direction
• Note that the Positive values of rotation angle θ will produce a
rotation in the anticlockwise direction whereas negative values of θ
produce a rotation in the clockwise direction.

• In this case, angle θ is taken as negative according to the


trigonometric law :
• cos (θ) =cos θ
• Sin (- θ)= -sin θ

The Matrix will be


Coordinate Axis Rotations
• Obtain rotations around other axes through cyclic permutation of
coordinate parameters.
X-axis Rotation in anticlockwise direction
X-axis rotation in anticlockwise direction
X-axis rotation in clockwise direction
Y-axis Rotation in anti-clockwise direction
Y-Axis rotation in clockwise direction
Scaling Transformation
• A Scaling transformation alters the size of an object
• An object can be scaled (stretched or shrunk) along the x, y and Z axis
by multiplying all its points by the scale factors Sx, Sy and Sz.
• All points P(x,y,z) on the scaled shape will now become P’ (x’, y’,z’)
where,
• x’ =x.Sx
• y’=y.Sy
• z’=z.Sz
3D Scaling
• Sx, Sy and Sz are scaling factors along x, y and z directions

P’ =S.P
Projections
• Transform 3D objects onto a 2D Plane
• 2 Types of projections
• Perspective
• Parallel

• In Parallel Projection, coordinate positions are transformed to the view plane


along the parallel lines.
• In perspective projection, Object position are transformed to the view plane
along lines that come together to a point called as projection reference point.
Parallel Projection
• Z coordinate is discarded
• Parallel lines from each vertex on the object are extended until they
intersect the view plane.
• The point of intersection is the projection of vertex
• Projected vertices are connected by line segments to correspond
connection on original object.
Parallel Projection
Perspective Projection
• Produces realistic views but does not preserves relative proportions
• Lines of projection are not parallel
• Instead they all converge at single point called as projection reference
point.
Perspective Projection
Thank You
Orthographic Projections

Dr. Abhishek Verma


Department of Industrial Design
National Institute of Technology Rourkela
Assignment
ID 3207

Axonometric Projections

Dr. Abhishek Verma


National Institute of Technology Rourkela
Thank You
Perspective Projection for 3D
Dr. Abhishek Verma
National institute of Technology Rourkela
Overview of Projection
Types of Projections
Types of 3D Projections
About Parallel Projections
Parallel Projection
Introduction to Perspective Projection
Perspective Projection
Why we need Perspective Projection
What is Vanishing Point
Perspective Projection in Paintings
Types of Perspective Projections
One Point Perspective projection
One Point Perspective projection
Two- Point Projection
Example
Three Principal Vanishing Points
Example
Thank You
Oblique projections
Dr. Abhishek Verma
Industrial Design
Oblique Projection
• The isometric projection of any object is a pictorial
view in distorted shapes with equally fore-shortened
dimensions.

• Square, rectangular and circular faces are shown as


rhombus, parallelogram and ellipse respectively

• The word “oblique” means “slanting”


Difference Between Isometric and Oblique
Oblique Projections
• There are three axes-vertical, horizontal and oblique

• The oblique axis, called receding axis is drawn either at 30o or 45o

• Thus, in an oblique drawing can be drawn directly without


resorting to projection techniques
Features of Oblique Projection
• In oblique projection the front face of the object is
placed parallel to the plane of projection and hence
it is shown in its true size and shape

• Therefore objects with curved shapes and circular


features can be conveniently shown in oblique
projection

• However it is only recommended for objects that are


not too large and whose contours are not overly
complicated.
Types of oblique drawings

Cavalier Projection: When an oblique drawing is prepared to the


exact dimensions of an object, it is called a Cavalier Projection. In
many instances, however, cavalier projections make object appear
distorted.

Cabinet Projection: To reduce distortion, the dimensions of


receding lines of an object can be drawn half-scale.
Drawing Oblique View
To draw the oblique view of a rectangular prism lying on H.P. The length and
width of the rectangular face are 2 cm and 1 cm respectively. The height of the
prism is 4 cm.
Drawing Oblique View
• To draw the oblique view of a hexagonal prism lying on one of its rectangular faces
on H.P. Each side of the hexagonal face of 4.5 cm and height of the prism is 12 cm.
Drawing Oblique View
Angle of Projections in Oblique
• In oblique, the three axes of projection are vertical, Horizontal and receding.
• The Front View (Vertical and Horizontal axis) is parallel to the frontal plane and
other two faces are oblique/slanting/receding
• The direction of the projection can be top-left, top-right, bottom-left, or bottom
Right.
• Receding axis is typically drawn at 60o 45 o or 30 o
Ellipses in Oblique Projection
• Step 1: Draw a vertical and horizontal centerline with the
horizontal center line receding from the plane of
2
projection. 1
• Step 2: Construct a circle equal in diameter to the actual
circle using as a center the intersection of the vertical and
horizontal centerlines.
• Step 3: The constructed circle will intersect each
centerline at two points. From the two points on one
centerline, draw two perpendiculars to the other centerline
• Step 4: From the two points on the other centerline, draw
two perpendiculars to the first centerline.
• Step 5: From the intersection of the four perpendiculars,
draw four circular arcs.
• Step 6: Darken all outlines.
3 4
Circles, Arcs, and ellipses in Oblique

If you are drawing circles, arcs, or ellipses in


an oblique cabinet projection, remember that
the receding axis is reduced, and you must
reduce all measurements along the receding
axis by the same scale.
Thank You
Physical Parameters of
Image Formation
Dr. Abhishek Verma
Industrial Design Department
Perspective Equation
Perspective Equation
Curves for Modelling
Dr. Abhishek Verma
Department of Industrial Design
What is a curve ?
Analytic Curves and Synthetic Curves
• Analytic Curves are points, lines , arcs and circles, fillets and chamfers
and conics (ellipses, parabolas and hyperbolas)

• Synthetic curves include various types of splines (Cubic spline, B-Spline,


Beta-spline) and Bezier curves

• While analytic curves provide a very compact form and simplify the
computation of properties such as area and volumes
• Synthetic curves provide designers with great flexibility and control of a
curve shape by changing the position of control points
Analytic Curves
Parametric Representation of Synthetic
Curves
• Analytic curves are usually not sufficient to meet geometric
design requirements of mechanical parts.
• Many products need free-form or synthetic curved surfaces
• E.g. car Bodies, ship hulls, airplane fuselage and wings, shoe
insoles and bottles
Synthetic Curves
Why we need Synthetic Curves
• The need for synthetic curves in design arises on occasion :

• When a curve is represented by a collection of measured data points and


(Generation)
• When a curve must change to meet new design requirements
(Modifications)
What is a Parametric Curve
• A parametric curve that lies in a plane is defined by two functions, x(t) and
y(t), which use the independent parameter t. x(t) and y(t) are coordinate
functions, since their values represent the coordinates of points on the curve.
• As t varies, the coordinates (x(t), y(t)) sweep out the curve.
Line Parametrization
Parametric Curves

x(t) = sin(t), y(t) = cos(t).


As t varies from zero to 2, a
circle is swept out by (x(t), y(t))
Curves Defined by Parametric Equations
• Imagine that a particle moves along the curve C shown in Figure below. It is
impossible to describe C by an equation of the form y = f (x) because C fails
the Vertical Line Test.
Curves Defined by Parametric Equations
• But the x- and y-coordinates of the particle are functions of time and so we
can write x = f (t) and y = g (t). Such a pair of equations is often a convenient
way of describing a curve and gives rise to the following definition.
• Suppose that x and y are both given as functions of a third variable t (called a
parameter) by the equations

x = f (t ) y = g (t )
• Sketch and identify the curve defined by the parametric equations
x = t 2 − 2t y = t +1

Each value of t gives a point on the curve, as shown in the table


t x y
−2 8 −
−1 3 0
0 0 1
1 −1 2
2 0 3
3 3 4
4 8 5
Equation of the Curve
• We obtain t = y − 1 from the second equation and substitute into the first
equation.
• This gives
x = t 2 − 2t
= ( y − 1) − 2 ( y − 1)
2

= y 2 − 4y + 3

Therefore the curve represented by the given parametric equations is the


parabola
x = y 2 − 4 y + 3.
Curves Defined by parametric Equations
• No restriction was placed on the parameter t in earlier slides, so we assumed
that t could be any real number.
• But sometimes we restrict t to lie in a finite interval. For instance, the
parametric curve

x = t 2 − 2t y = t +1 0t 4
Synthetic curves
• Lagrange Interpolation curves
• Hermite interpolation curves
• Bezier curves
• B-spline Curves
• NURBS
Continuity
• The notion of continuity 6 was developed for explicit functions to describe
when a curve does not break or tear
• If it meets these conditions, it is described as C0. C0 continuity is defined
by the popular description:
• "A curve is continuous if it can be drawn without lifting the pencil from the
paper."
Continuity
• If the derivative curve is also continuous, then the curve is first-order
differentiable and is said to be C 1 continuous. Extending this idea, it is
said that a curve is Ck differentiable if the kth derivative curve is
continuous.

• Practically, this means that a C 1 continuous curve will not kink. Higher
degrees of continuity imply a smoother curve.
C0 continuity
C1 Continuity
C2 Continuity
Application of Parametric continuity
• Many products, although they look prismatic, are not.
Curvature
• Visual difference between curvature vs. tangent connection of
surfaces

Regular Fillet

Curve Continuous Fillet


Explanation of C0 thru C3 C1 Condition – Surface boundaries share
Common edge with tangency but rate of
curvature does not match at boundary

C0 Condition – Surface boundaries share


Common edge but no tangency
• Surface matching conditions explained

C2 Condition – Surface boundaries share


Common edge with curvature matching
C3 Condition – Surface boundaries share
Common edge with curvature matching to
greater degree than C2
Explanation of C0 thru C3
Curve Continuous

Equal Curvature – C2

Higher Degree – C3>


Thank You
Curves for
Geometric and Solid Modelling

Dr. Abhishek Verma


Department of Industrial design
National Institute of Technology Rourkela
Why Not Simply Use a Point Matrix to
Represent a Curve?

• Storage issue and limited resolution


• Computation and transformation
• Difficulties in calculating the intersections or curves and physical
properties of objects
• Difficulties in design (e.g. control shapes of an existing
object)
• Poor surface finish of manufactured parts
Advantages of Analytical
Representation for Geometric Entities

• A few parameters to store


• Designers know the effect of data points on curve
behavior, control, continuity, and curvature
• Facilitate calculations of intersections, object
properties, etc.
Curved Surfaces

• In CAD, We want to find a math form for representing curved


surfaces, that :
(a) look nice (smooth contours)
(b) is easy to manipulate and manufacture
(c) follows prescribed shape (airfoil design)

To study the curved surface, we need to start from curves.


Parametric Representation

(i) curve (ii) surface


T
P ( u , v ) = x ( u , v ) , y ( u , v ) , z ( u , v )
T
P(u) =  x ( u ) , y ( u ) , z(u)
z

u=const

Umax
--
p(x,y,z) v=const
n

Umin --
p(u) y

We can represent any functions of curve (curved surface) using parametric


equation.
Parametric Representation of Lines

• How is a line equation converted by the CAD/


CAM software into the line database?
• How are the mathematical equation correlated
to user commands to generate a line?

z P2-P1 P2, u=1


P1, u=0 P
P P = P1 + (P - P1)
P1 P2
P - P1 = u (P2 - P1)

y P = P1 + u(P2 - P1), 0  u  1
x
Lines
z P2-P1 P2, u=1
P
P1,
u=0
P P2
P1

y
P = P1 + u(P2 - P1), 0  u  1
x
x = x1 + u(x2 − x1)
y = y1 + u( y2 − y1 ) 0  u  1
z = z1 + u(z 2 −z 1)
Circle
Representation 1 (Non-parametric)

x 2
+ y 2
= 1
(a) x = u

y = 1− u 2

• poor and non-uniform definition


• square root complicated to compute 0 0.25 0.5 0.75 1
Circle
Representation 2 (parametric) /2 3/8
/4

(b) x = cos u /8


y = sin u
u
• better definition than (a)
• b u t still s l o w 0
Pn+1
Circle
Pn
Representation 3 (parametric)

Recursive approach
 xn = r cos
 y -- Pn
 n = r sin 
xn+1 = r cos( + d  ) = r c o s  c o s d  − r sin  sin d
 x n +1 = x n c o s d  − y n s i n d 
 y -- Pn+1
 n +1 = y n c o s d  + x n s i n d 

Observation: curves are represented by a series of line-


segments Similarly all conic sections can be represented.
Ellipse

{ x = xo + Acos
y = y o + B sin
z = zo
0    2

The computer uses the same method as in the Representation


3 of circle to reduce the amount of calculation.
Parabola

explicit x = cy2

x = x o + Au 2
parametric y = y o + 2Au 0u
z = zo
Hyperbola

x2 y 2
implicit − 2 =1
a 2 b

x = a cosh u
parametric y = b sinh u 0u
z = zo
Parametric Representation
of Synthetic Curves
• Analytic curves are usually not sufficient to meet geometric
design requirements of mechanical parts.
• Many products need free-form, or synthetic curved
surfaces.
• Examples: car bodies, ship hulls, airplane fuselage and
wings, propeller blades, shoe insoles, and bottles
• The need for synthetic curves in design arises on
occasions:
▪ when a curve is represented by a collection of measured
data points and (generation)
▪ when a curve must change to meet new design
requirements. (modification)
The Order of Continuity
The order of continuity is a term usually used to measure
the degree of continuous derivatives (C0 , C1 , C2).

y y

i=2 i=2
i=1 i=3 i=1 i=3

x x

Simplest Case Linear Segment High order polynomial may lead to “ripples”

yi = ai0 + ai1x y = a i0 + a i1 x + ... + ain xn


Splines – Ideal Order
mechanical beam with bending deflections, or a smooth
curve under multiple constraints.

(2) (3)
(1) (4)

M (x) ai x + bi
y'' (x) = R(x) = =
EI EI
y(x) = [
1  ai 3 bi 2
EI 6
x + x + ci x + d
2 ] Cubic Spline
Drafting Spline
Hermite Cubic Splines
P(u) = x(u), y(u), z(u)T
Cubic Spline
 x(u) = c3 x u 3 + c2 x u 2 + c1x u + c0 x
 34 = 12
 y( u) = c 3y u 3
+ c 2y u 2
+ c1y u + c0 y coefficients to

 z (u ) = c 3z u 3
+ c 2z u 2
+ c1z u + c0 z be determined

→ ! i
3

() () () ()
p u = x u y u z u  = Ciu (0 u  1)
T

 C!
i=0

 !3 
C  !
 3 2 
= u u u 1  !2 =[U ][C]
T

 C1 
! 
 C0 
Hermite Cubic Splines
⇀ 3 ⇀ ⇀ ⇀ ⇀
P =  Ci u = C3u + C2u + C1u + C0
i 3 2 1

i=0 –→, ! ! !
P = 3C3u2 + 2C 2u + C1
⇀ ⇀
P0 = C0
u=0  ⇀' ⇀
Two P!0 = C
!
1
! ! !
43 equations
End  P = C +C +C +C from two
Points  1
u =1 ! ! ! !
1 0

3 2
control points
 1 = 3C3 + 2C
 2 + C1
'
P
p0’
--
Boundary Conditions:
P0 '
Location of the two
end points and their u=0
u=1
slopes
p1
P
--1 p1’
P0
p0 P'
1
Hermite Cubic Splines

C0 = P0
! !'
C1 = P0 12 unknowns
! ! → !' !' and
C2 = 3(P1 − P0 ) − 2P0 − P1
! ! ! !' !' 12 equations
C3 = 2(P0 − P1) + P0 + P1

→ 3
# i # 3 # 2 # 1 # All
P = Ciu = C3u + C2u + C1u + C0 parameters
can be
determined
⇀ ⇀ ⇀
i=0

P(u) = (2u − 3u +1)P0 + (−2u + 3u )P1


3 2 3 2
Hermite
→' ⇀' Cubic curve
+ (u − 2u + u)P0 + (u − u )P1
3 2 3 2 in vector
form
Hermite Cubic Splines Equation:
! ! !
P(u) = (2u − 3u +1)P0 + (−2u + 3u )P1
3 2 3 2

→'
Hermite Cubic curve in
!' vector form
+ (u − 2u + u)P0 + (u − u )P1
3 2 3 2

 ! 
In matrix form:  2 −2 1 1   P0 
  P!
Based on:
  Location of
u3 u2 1 −3 3 −2 −1   !1  the two end
 u  0 0 1 0   P0'  points and
 1  !'  their slopes
 0 0 0   P1
 


=U T
MH  V 0  u 1
→' ⇀ ⇀ ⇀'
P (u) = (6u − 6u)P0 + (−6u + 6u)P1 + (3u − 4u +1)P0
2 2 2

⇀'
+ (3u − 2u)P1 0  u  1
2
Limitations with Hermite Curves

• Hard to guess behavior between 2 defined points for


arbitrary end point slopes

• Limited to 3rd degree polynomial therefore the curve is quite


stiff
Disadvantages of Cubic Splines

• The order of the curve is always constant regardless


of the number of data points. In order to increase
the flexibility of the curve, more points must be
provided, thus creating more spline segments which
are still of cubic order.
• The control of the curve is through the change of the
positions of data points or the end slope change.
The global control characteristics is not intuitive.
Bezier Curve
r r r
pp1
1 p
p22 p2
p2 r
pp33
r
p3
p3 r
p
r p00
r
pp00 p
p1
1
n
p(u) =  p i B i , n (u)
i=0

n — segment(each polygon)
n + 1 — vertices (each polygon) an d n u mb e r of control points
u  0, 1
Bezier Curve
• P. Bezier of the French automobile company of
Renault first introduced the Bezier curve.
• A system for designing sculptured surfaces of
automobile bodies (based on the Bezier curve)

- passes p 0 and p n , the two end points.


- has end point derivatives:
→ → → → ' → →
p 0 0=' =n(n(pp1 1−− pp00 )); pn ' =pn( p − p n −) p n−1 )
'
p
n =n n( pn−1

- uses a vector of control points, representing the n+1 vertices of a


“characteristic polygon”.
Linear Interpolation
Quadratic Interpolation
Cubic Interpolation
Cubic Interpolation
Bernstein Polynomial

Bi,n (u) = ui (1− u)n−i


n!
i!(n − i) !

Bi,n (u) is a function of the number of curve segments, n.

n=2
i 0 1 2
2! 2! 2!
n! =1 =2 =1
i!(n − i)! 0! 2! 1! 1! 2! 0!
Bernstein Polynomial

In the mathematical field of numerical analysis, a Bernstein polynomial,


named after Sergei Natanovich Bernstein, is a polynomial in the
Bernstein form, that is a linear combination of Bernstein basis
polynomials.
A numerically stable way to evaluate polynomials in Bernstein form is
de Casteljau's algorithm which reduces the computational demand
caused by the factorials.
--r
p
p11
An Example: If n = 2, r
-- --r
then n+1 = 3 vertices p
p00 p2
p2

i 0 1 2
2! 2! 2!
n! =1 =2 =1
i!(n − i)! 0! 2! 1! 1! 2! 0!

Bi,n (u) =
n
ui (1− u)n−i
n!
p(u) =  pi Bi,n (u)
i=0 i!(n − i) !
→ →
2 → + 2  u(1− u) p 2→
p (u) = 1 (1− u) p0 +1 u p2
→ → → → 1
p '(u) = −2(1− u) p + 2(1− 2u) p + 2up
→ →
0 1 2

p (0) = p0 r r r
p '(0) = 2( p1 − p0 )
→ → r r r
p (1) = p2 p '(1) = 2( p2 − p1 )
The order of Bezier curve is a function of the number of control points. Four
control points (n=3) always produce a cubic Bezier curve.

p3
p1 p0
p2
p2
p2 p3 p1 p1
p0

p0 p3

p3 p0

p1 p2
p3 p1
p2

p0
p1 p0
p3
p1 p2
p2
p1 p2

p1 p2 p1
pn,p3 pn,p3
Convex Hull Property
An Example
The coordinates of four control points relative to a current WCS are given by

 
T
 T , P =  3 3 0 T , P =  3 2 T
P0 =  2 2 0  , P1 =  2 3 0
 2   3 
0

Find the equation of the resulting Bezier curve. Also find points on curve for

u = 0, 1 4 , 1 2 , 3 4 ,1
P1 P2

P0 P3
Solution

P(u) = P0B0,3 + P1B1,3 + P2 B2,3 + P3B2,3 0  u 1

Bi,n (u) = u i (1− u)n−i


n!
i!(n − i) !

P (u ) = P0 (1− u) + 3Pu ( ) + ( ) + 0  u 1
3 2 2 3
1 1− u 3Pu
2 1− u Pu
3
Substituting the u values into his equation gives
P(0) = P0 = 2 2 0T
27 9 1 u = 0, ¼, ½, ¾, 1
 1  27
P = P0 + P1 + P2 + P3 = 2.156 2.563 0T
 4  64 64 64 64

P = P0 + P1 + P2 + P3 = 2.5 2.75 0T


1 1 3 3 1
2 8 8 8 8

P = P3 = 2.844 2.563 0T


3 1 9 27 27
P0 + P1 + P2 +
 4  64 64 64 64
P(1) = P3 = 3 2 0T P1(2,3) P2(3,3)
u=1/2

- control points, P1, P2, P3, & P4,


u=1/4 u=3/4
- points on curve, P(u)

P3(3,2)
P0(2,2)
Improvements of Bezier Curve Over
the Cubic Spline
• The shape of Bezier curve is controlled only by its defining
points (control points). First derivatives are not used in
the curve development as in the cubic spline.
• The order or the degree of the Bezier curve is variable
and is related to the number of points defining it; n+1
points define a nth degree curve.
This is not the case for cubic splines where the degree is
always cubic for a spline segment.
• The Bezier curve is smoother than the cubic splines
because it has higher-order derivatives.
B-Spline

• A Generalization from Bezier Curve


• Better local control
• Degree of resulting curve is independent
to the number of control points.
Math Representation
n

P (u ) =  Pi  Ni,k (u) 0  u  umax


i=0

(k-1) degree of polynomial with (n+1) control points


⎯⎯ P0 , P 1 , ... , Pn ⎯⎯⎯⎯ n + 1 co n t r o l points.
⎯⎯ N i ,k ( u ) ⎯⎯⎯⎯ B - sp l i n e f u n c t i o n (to b e cal cu l at ed i n a recursive

f o r m)

Ni,k −1 (u) Ni+1,k −1 (u)


Ni,k (u) = (u − ui ) + (ui+k − u)
ui+k −1 − ui ui+k − ui+1
Parametric Knots
Ni,k −1 (u) N (u)
Ni,k (u) = (u − ui ) + (ui+k − u) i+1,k −1

ui+k −1 − ui ui+k − ui+1

uj : parametric knots (or knot values), for an open curve B-spline:

 0 jk
uj = 
 j − k +1 k jn
 n−k +2 jn

where, 0  j  n+k, thus if a curve with (k-1) degree and
(n+1) control points is to be developed, (n+k+1) knots
then are required with 0  u  umax = n – k +2
k-‐1
Knot Value Calculation

Ni,k −1 (u) N (u)


Ni,k (u) = (u − ui ) + (ui+k − u) i+1,k −1

ui+k −1 − ui ui+k − ui+1

n = 3; 4 control points n increases – wider base


k = 4; 4-1=3 cubic polynomial k increases – wider & taller
0 ≤ j ≤ n+k= 7
Properties of B-Spline
• Number of control points independent of degree of
polynomial
vertex Quadratic B-Spline k=3
Linear k=2 Cubic B-Spline k=4
Fourth Order B-Spline k=5

vertex

The higher the order of


the B-Spline, the less the
vertex influence the close
control point

vertex n=3; 4 control points


Properties of B-Spline
• B-spline allows better local control. Shape of the curve
can be adjusted by moving the control points.
• Local control: a control point only influences k segments.

2
3
5’’’
7

5’’
4

6
1
5
An Example

Find the equation of a cubic B-spline curve defined


by the same control points as in the last example.

How does the curve compare with the Bezier curve?


Example Problem for
Finding the Bezier Curve
Example Problem for Finding the Bezier Curve
Finding the B-Spline Curve for the Same Example Problem
Values to be Calculated

n = 3; 4 control points
n increases – wider base
k = 4; 4-1=3 cubic polynomial
k increases – wider & taller
uj: 0 ≤ j ≤ n+k= 7
Calculating the Knots, uj
1 ui  u  ui+1
N i,1 = 
1 u = u max and u  u i+1 and u − u i = 1
Calculating Ni,1 0 otherwise

0
=0
0
Calculating Ni,k
Calculating Ni,k
Result

n + 1 control points: 3+1=4


k – 1 degree curve: 4-1=3

4 control points – cubic polynomial


Non-Uniform Rational
B-Spline Curve (NURBS)
Rational B-Spline
n

P (u ) =  Pi  Ri,k (u) 0  u  umax


i=0

hi N i ,k (u )
Ri ,k = n (hi − scalar )
h N i i ,k (u )
i =0

If hi = 1, then Ri,k (u) = Ni,k (u) ,it is the representation of a B-Spline curve.

Industry Standard Today!


h adds a degree of freedom to the curve, allowing to give more or less
weight to each control point

then
Advantages of NURBS
• Serve as a genuine generalizations of non-rational B-spline forms
as well as rational and non-rational Bezier curves and surfaces
• Offer a common mathematical form for representing both standard
analytic shapes (conics, quadratics, surface of revolution, etc) and
free-from curves and surfaces precisely. B-splines can only
approximate conic curves.
• Provide the flexibility to design a large variety of shapes by using
control points and weights. increasing the weights has the effect of
drawing a curve toward the control point.
• Have a powerful tool kit (knot insertion/refinement/removal, degree
elevation, splitting, etc.
• Invariant under scaling, rotation, translation, and projections.
• Reasonably fast and computationally stable.
• Clear geometric interpretations
Surface Modelling
Dr. Abhishek Verma
Department of Industrial Design
NIT Rourkela
Surface Representation

From CAD/CAM point of view surfaces are as important as curves and solids. We
need to have an idea of curves for surface creation. In the same way surfaces
form the boundaries of the solids.

• Types
• Analytical surfaces
Eg. Plane surfaces, sphere, ellipsoid
• Synthetic surfaces
Eg. Bicubic surface, Bezier surface

• Application
• Modeling parts in CAD/CAM, representation of data surfaces like isothermal planes,
stress surfaces/contours
Paraboloid
Surface Representation
• It is just an extension of representation of curves.
• We can represent a surface as a series of grid points inside its
bounding curves.
• Surfaces can be in two-dimensional space (planar) or in three-
dimensional space (general surfaces).
• Surface can be described using non-parametric or parametric equations
• Surfaces can be represented by equations to pass through all the data
points (fitting) or have patches of them connected at the data points
(approximations)
Non-parametric Representation
• In general a surface or surface patch is represented analytically by an
equation of the form
P(x, y, z) = [x y z] = [x y f (x, y)]

Where P is the position vector. The natural choice for f(x,y) is a polynomial.
Thus for analytical representation of surfaces we can use equations of type
Parametric Representation
• In parametric surfaces a vector valued function P(u,v) of two variables is used
as follows:

• A surface may be one patch or constructed using several patches. All


complex surfaces are represented using many patches
Analytical Surfaces in Parametric Form
• Surface of Revolution
Analytical Surfaces in Parametric Form
• Surface of Revolution
Surface of Revolution
Surface of Revolution
Sphere
Surface of Revolution
• Ellipsoid
Surface of Revolution
Surface of Revolution
Surface of Revolution
Surface of Revolution
Sweep Surface
• A 3D surface also can be obtained by traversing a geometrical entity like a
line, polygon or curve along a path in space

If the line of length n is parallel to z-axis


• If the sweep transformation contains only translation and scaling the resulting
surface is planar
• If it includes rotations also with translations, then a non-planar surface results
Sweep Surface

• We may use any other parametric curve like cubic spline, Bezier, B-spline
curve can be used which is denoted as P(t) in the sweep surface below:

• If the curve on z=0 plane is swept along z by n units One needs to take the curve
in such a way to avoid surface degeneracies in
full or in part.
Sweep Surface
• In addition to open curves, closed curves and polygons can be used to
create sweep surfaces
• Such surfaces enclose finite volume (with end caps)
• A square or rectangle swept along a straight path results in
parallelepiped
• A triangle swept along straight path yields wedge
• A circle along a straight path results in cylinder
• A circle of decreasing radius -> cone
• Rotation along with sweep can be combined to give a twist to the
generated surface.
Lofted Surface
Equivalence of Surfaces
• Two surfaces S1 and S2 are equivalent if S1 can be mapped onto S2 by a
continuous mapping “without tearing and duplication” and S2 can be similarly be
mapped onto S1.
• This notion of equivalence is somewhat like the notion of a homeomorphism that
is, an invertible map, f : S1 → S2, such that both f and its inverse, f-1, are
continuous.
Triangulation of Surfaces
• Triangulation (tiling) and Orientability
• Definition by P. S. Aleksandrov (1956): A triangulation surface is orientable iff it is
possible to orient all of the triangles in such a way that every two triangles that
have common side are coherently oriented, otherwise it is called non-orientable.
• If Z1 and Z2 are triangulations of the same surface, Z1 is orientable iff Z2 is
orientable.
Thank You
Surface Modelling
Dr. Abhishek Verma
Department of Industrial Design
3D Modelling
• 3D Representations
• Wireframe models
• Surface Models
• Solid Models
• Meshes and Polygon soups
• Voxel/Volume models
• Decomposition-based
• Octrees, voxels
• Modeling in 3D
• Constructive Solid Geometry (CSG),
Breps and feature-based
Representing 3D Objects
• Exact
• Wireframe
• Parametric Surface
• Solid Model
• CSG
• BRep
• Implicit Solid Modeling
• Approximate
• Facet / Mesh
• Just surfaces
• Voxel
• Volume info
Representing 3D Objects
• Exact
• Precise model of object topology
• Mathematically represent all geometry
• Approximate
• A discretization of the 3D object
• Use simple primitives to model topology and geometry
Negatives when Representing 3D Objects
• Exact
• Complex data structures
• Expensive algorithms
• Wide variety of formats, each with subtle nuances
• Hard to acquire data
• Translation required for rendering
• Approximate
• Lossy
• Data structure sizes can get HUGE, if you want
good fidelity
• Easy to break (i.e. cracks can appear)
• Not good for certain applications
• Lots of interpolation and guess work
Positives when Representing 3D Objects
• Exact • Approximate
• Precision • Easy to implement
• Simulation, modeling, etc • Easy to acquire
• Lots of modeling environments • 3D scanner, CT
• Physical properties • Easy to render
• Many applications (tool path • Direct mapping to the
generation, motion, etc.) graphics pipeline
• Compact • Lots of algorithms
Exact Representations
• Wireframe
• Parametric Surface
• Solid Model
• operations
• CSG, BRep, implicit geometry
Wireframes
• Basic idea:
• Represent the model as the set of all of its edges
• Example: A simple cube – 12 lines – 8 vertices
• How about the faces?
Issues with Wireframes
• Visually ambiguous
• No surfaces!
• What’s inside? What’s outside?
• Hidden line removal?
• What does validity entail?
• Don’t we just have a bunch of wires?
• Do they need to add up to something?
• How to model wireframe shapes?
• Wire by wire? Not very easy!
Surface Models
• Basic idea:
• Represent a model as a set of faces/patches
• Limitations:
• Topological integrity; how do faces “line up”?; which way is
‘inside’/ ‘outside’?
• Used in many CAD applications
• Why? They are fine for drafting and rendering, not as good for
creating true physical models
3D Mesh File Formats
• Some common formats
• STL
• SMF
• OpenInventor
• VRML
Minimal

• Vertex + Face
• No colors, normals, or texture
• Primarily used to demonstrate geometry algorithms
Full- Featured
• Colors / Transparency
• Vertex-Face Normals (optional, can be computed)
• Scene Graph
• Lights
• Textures
• Views and Navigation
Simple Mesh Format (SMF)
• Michael Garland
• http://graphics.cs.uiuc.edu/~garland/

• Triangle data

• Vertex indices begin at 1


Stereolithography (STL)
• Triangle data + Face Normal
• The de-facto standard for rapid prototyping
Where STL is used
Virtual Reality Modeling Language (VRML)
• SGML Based
• Scene-Graph
• Full Featured
Issues with 3D “mesh” formats
• Easy to acquire
• Easy to render
• Harder to model with
• Error prone
• split faces, holes, gaps, etc
BRep Data Structures
• Winged-Edge Data
• Structure (Weiler)
• Vertex
• n edges
• Edge
• 2 vertices
• 2 faces
• Face
• m edges
BRep Data Structure
• Vertex structure
• X,Y,Z point
• Pointers to n coincident edges
• Edge structure
• 2 pointers to end-point vertices
• 2 pointers to adjacent faces
• Pointer to next edge
• Pointer to previous edge
• Face structure
• Pointers to m edges
Bi-parametric Surfaces
• Bi-parametric surfaces
• A generalization of parametric curves
• 2 parameters: s, t (or u, v)
• Two parametric functions
Bicubic Surfaces
• Recall the 2D curve:
• G: Geometry Matrix
• M: Basis Matrix
• S: Polynomial Terms [s3 s2 s 1]
• For 3D, we allow the points in G to vary in 3D along t as well:
Observations About Bicubic Surfaces
Bicubic Surfaces
Bicubic Surfaces
Bicubic Surfaces
Bézier Surfaces
Plotting Isolines
Faceting
Bézier Surfaces
Bézier Surfaces: Example
Bezier Surface: Example
B-spline Surfaces
Normals to Surfaces
Computing the Normals to Surfaces
Computing the Normals to Surfaces
Computing the Normals to Surfaces
Drawing Parametric Surfaces
Direct Rendering
Issues for Direct Rendering
Direct Scan Conversion of Patches
Patch to Polygon Conversion
Object Space Conversion: Uniform Subdivision
Object Space Conversion: Non-Uniform
Subdivision
Image Space Conversion
Thank You
Solid Modelling
• Models are displayed as solid objects to the viewer in 3D, with
very little risk of misinterpretation.
• When color is added to the image, resulting image will be
more realistic.
• Store both geometric and topological information; can verify
whether two objects occupy the same space
• Solid models are,
– Bounded
– Homogeneous and finite

17
Solid Modelling Methods
• Constructive solid geometry (CSG or C-Rep):
In a CSG, physical objects are created by combining elementary
shapes known as primitives like blocks, cylinders, cones, pyramids
and spheres. The Boolean operations like union (∪), difference (–)
and intersection (∩) are used to carry out this task.

• Boundary representation (B-Rep):


The solid is represented by its boundary which consists of a set of
faces, a set of edges and a set of vertices as well as their topological
relations.

• Sweep Representation

• Spatial occupancy enumeration

• Cell decomposition
18
Why Solid Modelling ?
Solid Modeling Supports,

Use of volume information


–Weight or volume calculation, centroids, moments of
inertia calculation,
–Stress analysis (finite elements analysis), heat conduction
calculations, dynamic analysis,
– System dynamics analysis

Use of volume and boundary information


–Generation of CNC codes, and robotic and assembly
simulation

19
Why Solid modeling ?
• Weakness of wireframe and surface modeling
– Ambiguous geometric description
– incomplete geometric description
– lack topological information
– Tedious modeling process
– Awkward user interface

22
Solid Modeling Using Boolean

32
Solid Representation Schemes
• Constructive solid geometry ( CSG )
• Boundary representation (B-Rep)
• Spatial occupancy enumeration
• Cell decomposition
• Sweep representation

38
SWEEP REPRESENTATION
Sweep
• Useful in creating 3 D solid models that possess translational,
rotational or other symmetries.
• Class includes,
1) Solids of uniform thickness in given direction –
Known as extruded solids and are created via linear
or translational sweep
2) Axisymmetric solids – Solids of revolution which can
be created via rotational sweep
Solids that have a uniform thickness in a particular direction and axisymmetric
solids can be created by what is called Transitional (Extrusion) and Rotational
(Revolution) Sweeping

• Sweeping requires two elements – a surface to be moved and a trajectory,


analytically defined, along which the movement should occur.

Extrusion Revolution

41
Sweeping

42
Sweep Representation

Extrusion (Transitional Sweeping)

Revolution (Rotational Sweeping)

43
Sweep
• Based on the notion of moving a point, curve, of a surface
along a given path
• Three types,
1) Linear
2) Non linear and
3) Hybrid sweeps

• Linear – The path is a linear or circular vector described by a


linear, most often parametric, equation
• Non-linear – The path is a curve described by a higher order
equation
( quadratic, cubic, or higher )
• Hybrid – Combines linear and/or non-linear sweep via set
operations

• Linear divided further into


1) Translational and
2) Rotational

• Directrix being a curve


Constructive Solid Geometry,
CSG

49
Constructive Solid Geometry : CSG
• This is a solid modeling method that combines simple solid
primitives to build more complex models using Boolean
operators: union, difference and intersection.

• The resulting model is a procedural model stored in the


mathematical form of a binary tree where leaf nodes are solid
primitives, correctly sized and positioned, and each branch
node is a Boolean operator.

50
Primitive Solids and Boolean Operations
The basic primitive solid:

51
52
Constructive Solid Geometry
• CSG defines a model in terms of combining basic and
generated (using extrusion and sweeping operation) solid
shapes.
• CSG uses Boolean operations to construct a model (George
Boole, 1815-1864, invented Boolean algebra).
• There are three basic Boolean operations:

– Union (Unite, join) - the operation combines two volumes included in


the different solids into a single solid.
– Subtract (cut) - the operation subtracts the volume of one solid from
the other solid object.
– Intersection - the operation keeps only the volume common to both
solids

53
Boolean Operations in CSG
58
Boolean Operations
Subtract

Intersection
Union

60
Solid Modeling
Example Using CSG Union

Plan your modeling


strategy before you start
creating the solid model
Cut

Cut

65
78
BOUNDARY REPRESENTATION
(B-rep)
BOUNDARY REPRESENTATION (B-rep)
• A solid model is formed by defining the surfaces that form
its boundary (edges and surfaces)

• The face of a B-rep represents an oriented surface, there


are two sides to the surface; solid side (inside) and void
side (outside), unlike faces in a wireframe.

• B-rep model is created using Euler operation

• Many Finite Element Method (FEM) programs use this


method. Allows the interior meshing of the volume to be
more easily controlled.
• One of the most widely used schemes
• Topological notion - Physical object is bounded by a set of
faces, faces are regions or subsets of closed and orientable
surfaces,closed surface is one that is continuous without
breaks.
• Each face is bounded by edges
• Each edge is bounded by vertices
• Database contains both topology and geometry
• Topology is created by performing Euler operations
• Geometry is created by performing Euclidean calculations
B-Rep Entities Definition

• Vertex is a unique point in space


• An Edge is a finite, non-self-intersecting, directed space curve
bounded by two vertices

• A Face is defined as a finite connected, non-self-intersecting, region of a


closed oriented surface bounded by one or more loops

85
• A Loop is an ordered alternating sequence of vertices and edges. A loop defines a
non-self-intersecting, piecewise, closed space curve which, in turn, may be a
boundary of a face.

• A Handle (Genus or Through hole) is defined as a passageway that passes


through the object completely.

• A Body (Shell) is a set of faces that


bound a single connected closed
volume. Thus a body is an entity that
has faces, edges, and vertices 86
Boundary Representation (B-Rep)
B-Rep Data Structure
A general data structure for a Geometry
Topology
boundary model should have both
topological and geometrical
Object
information

Body
• Geometry relates to the
information containing shape
Genus
defining parameters, such as the
coordinates of the vertices
Face Surface

• Topology describes the Loop


connectivity among the various
geometric components, that is,
the relational information Edge Curve
between the different parts of an
object Vertex Point
87
B-Rep Data Structure

88
B-Rep Model

91
Solid modeling system
If a solid modeling system is to be designed,
1. The domain of its representation scheme must be
defined
2. The basic elements must be identified
3. The proper operators that enable to build complex
objects must be developed
4. Suitable date structure to store all relevant data
5. Other system and geometric utilities (such as
intersection algorithms) may also need to be designed
Polyhedral objects
Classified into 4 classes,

1. Simple polyhedra
2. With faces of inner loops
3. With not through holes
4. With handles
Simple polyhedra
• Do not have holes
• Each face is bounded by a single set of connected edges
With faces of inner loops
With not through holes
With handles
Curved edges
• Representation is more complex
• Direct and indirect schemes
• Direct scheme – edge is represented by a curve equation
and ordered endpoints
• Indirect scheme – edge is represented by the intersection
of two surfaces
Spatial Occupancy Enumeration
Spatial-Partitioning Representations
Describe objects as collections of adjoining nonintersecting solids

▪ Spatial-partitioning creates collections of solids that,


– may or may not be the same type as the original object
– are like building blocks
– can vary in type, size, position,
parameterization, and orientation

▪ Solid objects can be formed with spatial-partitioning


using,
– cell decomposition
– spatial-occupancy enumeration
– octrees and quadtrees, etc. 115
117
Voxel based Spatial-occupancy
enumeration
• Solid point set represented by collection of non-overlapping
“blocks”

• Blocks are “pasted” together to create geometry.

• 3d space decomposed into a set of identical cells.

• Most commonly used geometry for cells is the cube.


• Cells are located by their centers, within a fixed 3-dimensional
grid (xyz space).

118
Voxel based Spatial-occupancy
enumeration
– Defines objects using identical cells arrayed in a fixed and
regular grid (called voxels)

– Most commonly uses a cube cell type

– Only controls whether or not a cell is present or absent in


every cell in a grid

– No other controls are defined

– Creates unique and unambiguous list of occupied cells

119
120
Quadtrees
based Spatial-occupancy enumeration
▪ Quadtrees

– Successively subdivide a 2D plane in both dimensions

– Where each quadrant is full, partly full, or empty depending


on how much of the complex object intersects the area

– Where partly full quadrants are recursively subdivided

– And subdivision continues until all cells are full or empty

121
Voxel Quadtrees 122
Quadtrees

123
124
Octrees
based Spatial-occupancy enumeration
▪ Octrees

– Are a hierarchical way to use voxels


– Octrees represent the 3 dimensional extension of the quadtree
concept.

– Expand quadtree (2d) to 3d space

– Spatial volumes are sub-divided into a set of eight cells or octants.


– Are designed to reduce the storage requirements of the spatial-
occupancy enumeration approach

– Are derived from 2D quadtrees...And expanded to 3d octrees 125


octree 26
127
Advantage of decomposition
• Volume calculation
• Solid intersection or collision checking
• Convenient method for storage

Disadvantage of decomposition
• Not a Convenient method for construction of solid
• Approximation method

128
Cell decomposition
• Special decomposition method.
• In cell decomposition method , the object divided In the form
of a cell.

• All cells are made of box like objects, but need not be same
size and shape.

– In octree cells are of different size but same shape

– In voxel cells are of same size and shape

• But in cell decomposition method , cells can be of different


shape and size. 129
▪ Cell decomposition...
– is a popular form of spatial-partitioning
– composes complex objects from simple primitives in a
bottom-up fashion by gluing them together! (like a union
but without objects intersecting)
– composes objects from cells, where any two cells must
share a single point, edge, or face

Three simple primitives: Keep in mind with this method, that


called cells the complex object can be created
using cells in more than one way...
Thank You

You might also like