You are on page 1of 635

L1 ME15101 Computer Aided Design

Instructors: A D Bhatt
Coordinator A.D. Bhatt

abhatt@mnnit.ac.in
Delivered on 16/08/2022

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 1
ALLAHABAD, PRAYAGRAJ, INDIA
Introduction
• The subject and its relationship with Engineering
• Engineering
• Products and its development
• Changes in the characteristics of products
• Enablers of modern product development
Role of Geometry in Design and manufacturing.
8/16/2022

• Syllabus
• Evaluation Methods

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 2
ALLAHABAD, PRAYAGRAJ, INDIA
Engineering
• Definition of engineering
• The activities or function of an Engineer
• The application of science and mathematics by
which the properties of matter and the sources
of energy in nature are made useful to people
• The design and manufacture of complex
products
• calculated manipulation or direction (as of
behavior)
• Engineering Defection

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 3
ALLAHABAD, PRAYAGRAJ, INDIA
Engineering
• “Given the uncertain and changing character of
the world in which 2020 engineers will work,
engineers will need something that cannot be
described in a single word. It involves dynamism,
agility, resilience, and flexibility.”
• Ultimately Engineers need to develop products to
satisfy human needs: present as well as future.
• Product-development: Think..Design..Build.. Test
• Iterative process….

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 4
ALLAHABAD, PRAYAGRAJ, INDIA
Products
Social context

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 5
ALLAHABAD, PRAYAGRAJ, INDIA
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,
8/16/2022 6
ALLAHABAD, PRAYAGRAJ, INDIA
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,
8/16/2022 7
ALLAHABAD, PRAYAGRAJ, INDIA
Automobiles

Function:

Form:

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 8
ALLAHABAD, PRAYAGRAJ, INDIA
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,
8/16/2022 9
ALLAHABAD, PRAYAGRAJ, INDIA
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,
8/16/2022 10
ALLAHABAD, PRAYAGRAJ, INDIA
Look at the common products

• Soap case
• Hair Clips
• Chairs
• Mouse
• Speakers
What changes you observe?

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 11
ALLAHABAD, PRAYAGRAJ, INDIA
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,
8/16/2022 12
ALLAHABAD, PRAYAGRAJ, INDIA
Observations
• The shape of the object changed over time.
• Became complex.
• The material also has changed.
• From natural materials to matels to plastics to
composites to ……
• The technology to process the material and give
it desired shape also changed.
• ………..
• …………

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 13
ALLAHABAD, PRAYAGRAJ, INDIA
What else?
• Product shapes are changing drastically.
• Product are available in various shapes and size,
with different features, unlike some thirty years
ago, when one has to pick out of what was
available then.
• Products have small shelf life.
• Products are coming quickly in the market.
• People are changing their choices very fast.

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 14
ALLAHABAD, PRAYAGRAJ, INDIA
Computer Aided Design
• One such technology that was responsible for the change is called
computer aided design.
• It is a technology, that helps in quickly integrate design and other
product development activity including:
• Analysis
• Tooling
• Manufacturing
• Marketing
• It is a part of the time compression technologies that reduce the
product development time.
• It is the integrator of all the product development activity.
MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,
8/16/2022 15
ALLAHABAD, PRAYAGRAJ, INDIA
Books for this course
Text Books:
1. Mathematical Elements of Computer Graphics, Rogers and Adams, Second Edition, McGraw Hill. 1994
2. CAD CAM Theory and Practice: I. Zeid, Second Edition, Tata-McGraw Hill, 2006
4. Geometric Modeling: Michael E. Mortenson, Industrial Press, Third Edition, 2006.
5. Computer-Aided Engineering Design, B Sahay and A Saxena, Springer, 2004.

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 16
ALLAHABAD, PRAYAGRAJ, INDIA
Evaluation Method
• As prescribed by the institute.

Sl.
Component Maximum Marks Remarks
No.

marks for Home Assignments/Quiz


Teacher’s
1. xx marks for Attendance.
Assessment
marks for Teachers Appraisal.

The Mid Semester marks shall be awarded on the


Mid Semester
2. xx basis of the performance in quizzes.
Examination
[4 marks / quiz x 5 quizzes]

End Semester
3. xx On campus 3 hour written examination.
Examination

MOTILAL NEHRU NATIONAL INSTITUTE OF TECHNOLOGY,


8/16/2022 17
ALLAHABAD, PRAYAGRAJ, INDIA
L-2 15101
Computer Aided Design

A D Bhatt
19/08/2021
Look at the common products

• Soap case
• Hair Clips
• Chairs
• Mouse
• Speakers
What changes you observe?
Curtsey: https://chairimports.com.au/chair-history/
Creativity
• Ideas come and go.
• Capture them: improve upon them: Implement them

• Sketch: A way to capture ideas in pictorial form.

• Text: A way to further explain some features apart from the sketch

• Compliment each other.


Function to form mapping
How it helps in integrating Product Development
Computer Aided (Geometric) Design
• One such technology that was responsible for the change is called
computer aided geometric design.
• Creates existing shapes/ newer shapes/ Natural shapes
• It is a technology, that helps in quickly integrate design and other product
development activity including:
• Analysis
• Tooling
• Manufacturing
• Marketing
• It is a part of the time compression technologies that reduce the product
development time.
• It is the integrator of all the product development activity.
Books for this course
Text Books:
1. Mathematical Elements of Computer Graphics, Rogers and Adams, Second Edition, McGraw Hill. 1994
2. CAD CAM Theory and Practice: I. Zeid, Second Edition, Tata-McGraw Hill, 2006
4. Geometric Modeling: Michael E. Mortenson, Industrial Press, Third Edition, 2006.
5. Computer-Aided Engineering Design, B Sahay and A Saxena, Springer, 2004.
Beginning
• Linkoln Lab: MIT (1962) : Ian Sutherland
(supervisor Prof Claude Shannon)
• Sketch pad: watch
https://www.youtube.com/watch?v=6orsmFndx_o
-First program that was able to draw a line, on a
computer screen:
• combining lines, polygons and combining those
polygons, complex objects
• This has paved the way for modern age complex
integrated CAD software systems.
Freeform Shapes
• Modern age products are complex and I is difficult to fit
their geometry into standard curve or surface equations,
such shapes are termed as free form shapes.
• Nature: has abundance of these shapes.
• Since these shapes are becoming more and more
common, they need to be defined mathematically so as
to integrate them to product development process.
• The prime objective of this course is to be able to create
and process such shapes.
• Another objective of this course to learn the concepts of
graphic programming.
Computer Aided (Geometric) Design
• Convert our ideas into sketches.
• Convert these sketches in to well defined geometric objects.
• Use these objects for various purposes including analysis,
manufacturing, prototyping, marketing.
• It integrates and automates large number product development
processes.
Digital Drawing: some basics
• Algorithms

• Rendering
• Approximations:
• Curved flat surface rendered as piece wise straight lines.
• Curved surfaces rendered as piecewise flat surfaces.
• Resolution [ number of pixels in horizontal-vertical direction)
• Near Horizontal or near vertical lines.
[My screen resolution is set to 1920x1080 .. ]
• Finite objects
• No infinite curves/ surfaces
Point:
Basic element of geometry.
Indicates location
ordered set.

Position Vector:
The vector that is generated by joining the
origin of the coordinate system with the
position of the point.
LEFT HAND RIGHT HAND
Equations
• Implicit
f(x,y,z)=0

• Explicit
y=f(x)

• Intrinsic
o Defined within it self. No need for any entity external to it
such as coordinate system.
o Usually for planar curves the intrinsic equations are in the terms of
curvature and arc length
Intrinsic Equation of a curve
• Equation depends on the curve itself
• (not on any external entity such as coordinate system or frame of reference).

• Example:
• Rectangle:
• Has four internal angles equal is intrinsic to all rectangles.
• If I say that the one side is on horizontal axis, it will become extrinsic.
• Circle
• The curvature is constant is intrinsic to all curves.
• For planar curves, it is found that curvature and arc length are sufficient to define it.
• f(κ,s)=0, where κ = curvature, and s is the arc length.
Intrinsic equation of a curve
• Planar curve:
• κ=f(s)

• For Space curve:


• κ=f(s)
Along with
τ=g(s) τ is called torsion; the deviation of the curve from a
local plane. τ-=0 for a planar curve.
• In general: g(κ, τ,s)=o
• Any equation that combines curvature, arc length and torsion is termed as
NATURAL EQUATION OF THE CURVE.
Curvature and Torsion
• Regular plane curve :

• Zero Torsion at all points.


• If for a regular curve has zero torsion at all points, then the curve is a planar
curve.
• For Helix:

• Curvature is constant.

• Torsion is constant (non zero).


Parametric Equations
𝑥 𝑢
•𝒑 𝑢 = 𝑦 𝑢 , 𝑢𝜖[ 𝑢𝑚𝑖𝑛 𝑢𝑚𝑎𝑥 ]
𝑧(𝑢)
L-3 15101
Computer Aided Design

A D Bhatt
20/08/2021
Parametric Equations
𝑥 𝑢
•𝒑 𝑢 = 𝑦 𝑢 , 𝑢𝜖[ 𝑢𝑚𝑖𝑛 𝑢𝑚𝑎𝑥 ]
𝑧(𝑢)
Degrees of freedom
Parametric space of the curve
𝑥 𝑢
• The cartesian space (R3) 𝒑 𝑢 = 𝑦 𝑢 , 𝑢𝜖[ 𝑢𝑚𝑖𝑛 𝑢𝑚𝑎𝑥 ]
𝑧(𝑢)

is now actually a divided into 3 Parametric Spaces:


𝑥 = 𝑥 𝑢 , 𝑦 = 𝑦(𝑢) 𝑎𝑛𝑑 𝑧 = 𝑧(𝑢)

• All of these functions x=x(u), y=y(u) and z=z(u) are called parametric
space of the curve,
• All these functions may be viewed as separate disconnected functions
also…. (Exceptions..)
x

u
y

u
x

u
y

u
x

u
y

u
Algebraic Coefficients (A’s)
• Algebraic coefficients are not intuitive:
• Degrees of Freedom ??

Algebraic from of the equation: p=UA


If we limit the range of parameter u between 0 and 1, then we say
that the curve is a normalized curve.

𝒑 𝑢 = 𝒂3 𝑢3 + 𝒂2 𝑢2 + 𝒂1 𝑢 + 𝒂0 , 𝑢𝜖[0 1]
Parametric curve in polynomial form: Cubic
curves
𝑥 𝑢
•𝒑 𝑢 = 𝑦 𝑢 , 𝑢𝜖[ 𝑢𝑚𝑖𝑛 𝑢𝑚𝑎𝑥 ]
𝑧(𝑢)
Let :
x(u)= 𝑎3𝑥 𝑢3 + 𝑎2𝑥 𝑢2 + 𝑎1𝑥 𝑢 + 𝑎0𝑥
y(u)= 𝑎3𝑦 𝑢3 + 𝑎2𝑦 𝑢2 + 𝑎1𝑦 𝑢 + 𝑎0𝑦
z(u)= 𝑎3𝑧 𝑢3 + 𝑎2𝑧 𝑢2 + 𝑎1𝑧 𝑢 + 𝑎0𝑧

𝑥 𝑢 = 𝑎3𝑥 𝑢3 + 𝑎2𝑥 𝑢2 + 𝑎1𝑥 𝑢 + 𝑎0𝑥


or 𝒑 𝑢 = 𝑦 𝑢 = 𝑎3𝑦 𝑢3 + 𝑎2𝑦 𝑢2 + 𝑎1𝑦 𝑢 + 𝑎0𝑦 , 𝑢𝜖[ 𝑢𝑚𝑖𝑛 𝑢𝑚𝑎𝑥 ]
𝑧 𝑢 = 𝑎3𝑧 𝑢3 + 𝑎2𝑧 𝑢2 + 𝑎1𝑧 𝑢 + 𝑎0𝑧
or 𝒑 𝑢

𝑥 𝑢 = 𝑎3𝑥 𝑢3 + 𝑎2𝑥 𝑢2 + 𝑎1𝑥 𝑢 + 𝑎0𝑥


= 𝑦 𝑢 = 𝑎3𝑦 𝑢3 + 𝑎2𝑦 𝑢2 + 𝑎1𝑦 𝑢 + 𝑎0𝑦 , 𝑢𝜖[ 𝑢𝑚𝑖𝑛 𝑢𝑚𝑎𝑥 ]
𝑧 𝑢 = 𝑎3𝑧 𝑢3 + 𝑎2𝑧 𝑢2 + 𝑎1𝑧 𝑢 + 𝑎0𝑧

or
𝑎3𝑥 𝑎3𝑦 𝑎3𝑧
3 2
𝑎2𝑥 𝑎2𝑦 𝑎2𝑧
𝒑 𝑢 = 𝑢 𝑢 𝑢 1 𝑎 𝑎1𝑦 𝑎1𝑧
1𝑥
𝑎0𝑥 𝑎0𝑦 𝑎0𝑧
or
𝒑 𝑢 =𝑈𝐴
• Let
𝑎3𝑥 𝑎2𝑥 𝑎1𝑥 𝑎0𝑥
𝒂3 = 𝑎3𝑦 , 𝒂2 = 𝑎2𝑦 , 𝒂1 = 𝑎1𝑦 , & 𝒂0 = 𝑎0𝑦 ,
𝑎3𝑧 𝑎2𝑧 𝑎1𝑧 𝑎0𝑧

So the vector equation of the curve can be written in the form:

𝒑 𝑢 = 𝒂3 𝑢3 + 𝒂2 𝑢2 + 𝒂1 𝑢 + 𝒂0

𝒂3
3 2 𝒂2
Or 𝒑 𝑢 =[𝑢 𝑢 u 1] 𝒂 = U A: A: Algebraic Coefficients
1
𝒂0 U= [𝑢3 𝑢2 u 1]
Geometric Form of Parametric cubic Curves
The idea is to convert the Algebraic form into geometric form. So
that it becomes more intuitive.
𝒑 𝑢 = 𝒂3 𝑢3 + 𝒂2 𝑢2 + 𝒂1 𝑢 + 𝒂0 , 𝑢𝜖 0 1 --- ---- --- (1)

In other words, we want to find out the values of the p’s in terms of
the a’s:

𝐴𝑡 𝑢 = 𝑜, 𝒑 = 𝒑𝑜 ,
So, 𝒑𝑜 = 𝒂0 ,
or 𝒂0 = 𝒑𝑜 --- --- --- ---(2)
At u=1, 𝒑 = 𝒑1 ,
So 𝒂3 + 𝒂2 + 𝒂1 + 𝒂0 = 𝒑1 --- --- --- --- (3)
• Differentiating the equation (1) with respect to u, we get:

𝒑𝑢 = 3𝒂𝟑 𝑢2 + 2𝒂𝟐 𝑢+ 𝒂𝟏 … … (4)


𝐴𝑡 𝑢 = 0, 𝒑𝑢 = 𝒑𝒖𝟎
& 𝐴𝑡 𝑢 = 1, 𝒑𝑢 = 𝒑𝒖𝟏

So, 𝒂𝟏 = 𝒑𝒖𝟎 …. …. .. (5)


& 3𝒂𝟑 + 2𝒂𝟐 + 𝒂𝟏 = 𝒑𝒖𝟏 … … .. (6)

From equations (2,3,5,6), we can find out the values of a’s.


Solving we get:
𝒂0 = 𝒑𝑜

𝒂𝟏 = 𝒑𝒖𝟎

𝒂𝟐 = −𝟑𝒑𝑜 + 𝟑𝒑1 − 𝟐𝒑𝒖𝟎 - 𝒑𝒖𝟏

𝒂𝟑 = 2𝒑𝑜 − 𝟐𝒑1 + 𝒑𝒖𝟎 + 𝒑𝒖𝟏


Substituting these values of a’s in equation 1:
We get:
𝒑 𝑢 = (𝒂3 )𝑢3 + (𝒂2 )𝑢2 + (𝒂1 )𝑢 + 𝒂0 , 𝑢𝜖[0 1]
𝒑 𝒖
= (𝟐𝒑𝒐 − 𝟐𝒑𝟏 + 𝒑𝒖𝟎 + 𝒑𝒖𝟏 )𝒖𝟑 + (−𝟑𝒑𝒐 + 𝟑𝒑𝟏 − 𝟐𝒑𝒖𝟎 − 𝒑𝒖𝟏 )𝒖𝟐 + 𝒑𝒖𝟎 𝒖
+ 𝒑𝟎 , 𝒖𝝐[𝟎 𝟏]
𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,

𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,


We can also write as :
𝒑 𝑢 = 𝐹1 𝒑𝑜 + 𝐹2 𝒑1 + 𝐹3 𝒑𝒖𝟎 + 𝐹4 𝒑𝒖𝟏

F’s are called Blending Functions of the Curve.


Let F= [𝐹1 𝐹2 𝐹3 𝐹4 ]
𝒑0
𝒑0
𝒑 𝑢 =[𝐹1 𝐹2 𝐹3 𝐹4 ] 𝒑𝒖
𝟎
𝒑𝒖𝟏
=FB
L-4 15101
Computer Aided Design

A D Bhatt
23/08/2021
Correction:
• Pl download the corrected L3 ppt that is uploaded today
(23/08/2022). The previous file with same name has been deleted.
• Corect Value of Blending Functions is:

𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,


𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 3𝑢3 − 2𝑢2 + 1 , 𝐹2 = −3𝑢3 + 2𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 , 𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 3𝑢3 − 2𝑢2 + 1 , 𝐹2 = −3𝑢3 + 2𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 3𝑢3 − 2𝑢2 + 1 , 𝐹2 = −3𝑢3 + 2𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
L-5 15101
Computer Aided Design

A D Bhatt
25/08/2021
Changing the shape of Hermite Curves
𝒑 𝑢 = 𝐹1 𝒑𝑜 + 𝐹2 𝒑1 + 𝐹3 𝒑𝒖𝟎 + 𝐹4 𝒑𝒖𝟏
Degrees of freedom: 12
• Start Point
𝒑𝑜 𝐷𝑂𝐹: 𝐸𝑎𝑐ℎ 𝑐𝑜𝑜𝑟𝑑𝑖𝑛𝑎𝑡𝑒 𝑜𝑓 𝑡ℎ𝑒 𝑠𝑡𝑎𝑟𝑡 𝑝𝑜𝑖𝑛𝑡 (𝑥𝑜 , 𝑦𝑜 , 𝑧 𝑜 )𝑐𝑎𝑛 𝑏𝑒 𝑐ℎ𝑎𝑛𝑔𝑒𝑑
𝑖𝑛𝑑𝑒𝑝𝑒𝑛𝑑𝑒𝑛𝑡𝑙𝑦: DOF→ 3
• End Point 𝒑1 : DOF→ 3
• Start Tangent Vector 𝒑𝒖𝟎 : DOF→ 3
• End Tangent Vector 𝒑𝒖𝟏 : DOF→ 3
• So we have constrained all 12 DOF to construct a space curve
Properties of Hermite Curves
• Universality
• The are present there for the entire range of parameter u.

• Dimensional independence
• Does not depend on the dimensionality of the curve.

• Separation of Boundary Condition Effects


• The effect of each boundary condition can be separately viewed and
analysed.
• Variation diminishing property
Manipulating the DOFs
Control of curve
PC curve (Hermite curve)
Controls:
Global Control
Local Control
Finding derivatives
𝑝 𝑢 = 𝐹𝐵

𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = (𝑢3 −
2𝑢2 + 𝑢), and 𝐹4 = 𝑢3 − 𝑢2 ,
Reparameterization
• Change the parametric interval (the curve remains unaltered)
Reparameterization
When I say that I am limiting my parametric interval from 0 to 1:
Many of you might have thought that I am considering a very specific case.

• We must understand that our ‘real’ object lies in the object space and not in
the parametric space.
• Parameters are actually not a part of our 3D space : E3 or R3:
• They are external to it and they help us to define the cartesian space
location of the object.
• As long as the object in Cartesian space remains unchanged, whatever I do
in parametric space is not visible to me (I: a part of the cartesian space)!
Reparameterization:
• Change of the parametric interval without changing the object location
or size or orientation in object space.
Re-parameterisation
In algebraic way of defining PC curve: We are not very strict in defining
the parametric interval.
p=UA, uϵ[umin umax]
But whenever we convert it to geometric way (using geometric
coefficients)
p=UMB, we restrict the parametric interval to [0 1]
Else the M matrix will be not the one that we have derived earlier.
Or the blending functions F1, F2,F3 and F4 will be different as
F=[F1 F2 F3 F4]=UM
Re-parametrization
• Reverse Parametrization
• Generic Reparameterization
• Truncation
• Subdivision
• Extension
Reparameterization (Contd)
Remember:

The equation 𝒑 𝑢 = 𝐹1 𝒑𝑜 + 𝐹2 𝒑1 + 𝐹3 𝒑𝒖𝟎 + 𝐹4 𝒑𝒖𝟏


Or 𝒑 𝑢 = F 𝐁
Can not be used unless the parametric range is normalized that is
𝑢𝜖 0 1

So the substitution v=au+b or u=(v-b)/a will work only if the equation is in the
Algebraic form.
𝒑 𝑢 = 𝒂3 𝑢3 + 𝒂2 𝑢2 + 𝒂1 𝑢 + 𝒂0 ,
horen

Four point form:

p=UMB 𝒖 𝟑
𝒖 𝟐
𝑷𝟏 𝟏 𝟏 𝒖𝟏 𝟏
𝑷𝟐 𝒖𝟑𝟐 𝒖𝟐𝟐 𝒖𝟐 𝟏
So = 𝟑 𝟐 MB
𝑷𝟑 𝒖𝟑 𝒖𝟑 𝒖𝟑 𝟏
𝑷𝟒 𝒖𝟑𝟒 𝒖𝟐𝟒 𝒖𝟒 𝟏
P =Ԋ M B
So: B=𝑴−𝟏 Ԋ−𝟏 P
So equation of curve: p=UMB= UM𝑴−𝟏 Ԋ−𝟏 P
or p(u)=UԊ−𝟏 P
So the equation of the curve can be plotted.
• p(u)=UԊ−𝟏 P (equation of my curve)
𝟑 𝟐
𝑷𝟏 𝒖 𝟏 𝒖𝟏 𝒖𝟏 𝟏
𝑷𝟐 𝒖𝟑𝟐 𝒖𝟐𝟐 𝒖𝟐 𝟏
• P= , Ԋ= 𝟑 𝟐
𝑷𝟑 𝒖𝟑 𝒖𝟑 𝒖𝟑 𝟏
𝑷𝟒 𝒖𝟑𝟒 𝒖𝟐𝟒 𝒖𝟒 𝟏
How should we take the value of 𝑢𝑖 (𝑖𝜖[1,2,3,4])
Should they be incremental ?
Should they be within the parametric interval [0 1]?
What will happen if they are not within the limit [0 1]?
L-6 15101
Computer Aided Design

A D Bhatt
26/08/2021
This lecture was essentially explain some finer points with explanations
through Matlab/ Octave programs
##Circle
clear all ## clear all variables
clf ## clears current figure-> any preexisting figure
u=linspace(0,2*pi,10) ## define u ( a row vector, having
##10 elements equidistance between 0 and 2pi)
a=1;
b=a;
x=a*cos(u);
y=b*sin(u);
plot(x,y)
hold on
title('Plot of a helix')
grid minor
hold off
Hermite cubic curve:
Effect of tangent vector magnitude
• Let the unit tangent vector at the start point

𝒑𝟎

𝒕𝟎 =
𝑝𝟎

• & the unit tangent vector at the end point


𝒑
𝒕ෝ𝟏 = 𝟏
𝒑𝟏
Let the geometric coefficients of the curve
𝒑𝟎 , 𝒑𝟏 , a 𝒕ෝ𝟎 and b 𝒕ෝ𝟏 , a and b are scalars.
So the equation of the curve can be written as:
𝒑 𝑢 = 𝐹1 𝒑𝑜 + 𝐹2 𝒑1 + 𝑎𝐹3 𝒕ෝ𝟎 + b𝐹4 𝒕ෝ𝟏
Effect of Tangent vector Magnitude
Properties of Hermite Curves
• Universality
• They are present there for the entire range of parameter u.

• Dimensional independence
• Does not depend on the dimensionality of the curve.

• Separation of Boundary Condition Effects


• The effect of each boundary condition can be separately viewed and
analysed.
Finding derivatives
𝑝 𝑢 = 𝐹𝐵

𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and 𝐹4 = 𝑢3 − 𝑢2 ,
𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 , 𝐹3 = ሺ𝑢3 −
2𝑢2 + 𝑢ሻ, and 𝐹4 = 𝑢3 − 𝑢2 ,
Control of curve
PC curve (Hermite curve)
Controls:
Global Control
Local Control
Variation Diminishing Property of curves
• Disturbance slowly diminishes as we go away from the point of
disturbance.
L-7 15101
Computer Aided Design

A D Bhatt
30/08/2021
Composite curves
• Joining of two or more curves: Composite Curve
• Continuity Requirements
• C Continuity :
𝐶 0 , 𝐶 1 , 𝐶 2 and higher

• G Continuity
𝐺 0 , 𝐺 1 and 𝐺 2
Spline Curves
•Used to smoothly join large number of points
with C2 continuity.
•Spline is an elastic strip that can be forced to
pass through different points.
•Mathematically it can be approximated with
the bending of elastic beam.
Bending of Beam
x

y
𝑑2 𝑦
𝑑𝑥2
𝑀 σ 𝐸 But ρ = 𝑑𝑦
= = =E/R [(1+ )2]3/2
𝑑𝑥
𝐼 𝑦 𝑅
1 𝑀 For small value of dy/dx,
or =ρ = 𝑑2 𝑦 𝑀
𝑅 𝐸𝐼
ρ≈ =
𝑑𝑥 2 𝐸𝐼

or y  a3 x3 + a2 x2 + a1 x + a0
So bending of elastic beam can be approximated by a cubic
curve
𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 ,
𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 , and
𝐹4 = 𝑢3 − 𝑢2 ,

Type equation here.Cubic spline problem:


Join n number of points with 𝐶 2 continuity all around.

Let a typical segment is expressed as a Hermite curve as follows:


𝒑 𝑢 = 𝐹1 𝒑𝑜 + 𝐹2 𝒑1 + 𝐹3 𝒑𝒖𝟎 + 𝐹4 𝒑𝒖𝟏
so 𝑝𝑢 u = (6𝑢2 − 6u) 𝒑𝑜 + −6𝑢2 + 6u 𝒑1 + 3𝑢2 − 4𝑢 + 1 𝒑𝒖𝟎 + 3𝑢2 − 2u 𝒑𝒖𝟏
And 𝑝𝑢𝑢 u = (12𝑢 − 6) 𝒑𝑜 + −12u + 6 𝒑1 + 6𝑢 − 4 𝒑𝒖𝟎 + 6u − 2 𝒑𝒖𝟏
So: 𝑝𝑢𝑢 0 = −6𝒑𝑜 + 6𝒑1 − 𝟒𝒑𝒖𝟎 −𝟐𝒑𝒖𝟏
And 𝑝𝑢𝑢 1 = 6𝒑𝑜 − 6𝒑1 + 𝟐𝒑𝒖𝟎 +𝟒𝒑𝒖𝟏
so 𝑝𝑢 u = (6𝑢2 − 6u) 𝒑𝑜 + −6𝑢2 + 6u 𝒑1 + (3𝑢2 − 4𝑢 +
1)𝒑𝒖𝟎 + 3𝑢2 − 2u 𝒑𝒖𝟏
And 𝑝𝑢𝑢 u = (12𝑢 − 6) 𝒑𝑜 + −12u + 6 𝒑1 + (6𝑢 −
4)𝒑𝒖𝟎 + 6u − 2 𝒑𝒖𝟏
So: 𝑝𝑢𝑢 0 = −6𝒑𝑜 + 6𝒑1 − 𝟒𝒑𝒖𝟎 −𝟐𝒑𝒖𝟏
And 𝑝𝑢𝑢 1 = 6𝒑𝑜 − 6𝒑1 + 𝟐𝒑𝒖𝟎 +𝟒𝒑𝒖𝟏
Looking at the junction of curve segment (1) and (2) we get:
𝑃 1 𝑢𝑢 𝑢 = 1 = 𝑃 1 𝑢𝑢 𝑢 = 0

Or 6𝑷1 − 6𝑷2 + 𝟐𝑷𝒖𝟏 +𝟒𝑷𝒖𝟐 = −6𝑷2 + 6𝑷3 − 𝟒𝑷𝒖𝟐 −𝟐𝑷𝒖𝟑

Or 𝟐𝑷𝒖𝟏 + 𝟖𝑷𝒖𝟐 + 𝟐𝑷𝒖𝟑 = 6𝑷3 − 6𝑷𝟏

Or 𝑷𝒖𝟏 + 𝟒𝑷𝒖𝟐 + 𝑷𝒖𝟑 = 3(𝑷3 − 𝑷𝟏 )

Similar equations may be written for the junction point of other segments. 𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 ,
𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 ,
and 𝐹4 = 𝑢3 − 𝑢2 ,
Looking at the junction of curve segment (1) and (2) we get:
𝑃 1 𝑢𝑢 𝑢 = 1 = 𝑃 1 𝑢𝑢 𝑢 = 0

Or 𝑷𝒖𝟏 + 𝟒𝑷𝒖𝟐 + 𝑷𝒖𝟑 = 3(𝑷3 − 𝑷𝟏 )

Similar equations may be written for the junction point of other segments. 𝐹1 = 2𝑢3 − 3𝑢2 + 1 ,
𝐹2 = −2𝑢3 + 3𝑢2 ,
𝐹3 = 𝑢3 − 2𝑢2 + 𝑢 ,
and 𝐹4 = 𝑢3 − 𝑢2 ,
Consider only first three points:
The equations are:
𝑃1𝑢 +4 𝑃2𝑢 + 𝑃3𝑢 = 3(𝑃3 − 𝑃1 ) --------------------------(1)
𝑃2𝑢 +4 𝑃3𝑢 + 𝑃4𝑢 = 3(𝑃4 − 𝑃2 ) --------------------------(2)
𝑃3𝑢 +4 𝑃4𝑢 + 𝑃5𝑢 = 3(𝑃5 − 𝑃3 ) --------------------------(3)
…………………………………………..
…………………………………….
𝑢 𝑢
𝑃𝑛−2 +4 𝑃𝑛−1 + 𝑃𝑛𝑢 = 3(𝑃3 − 𝑃1 ) ---------------------(n-2)
𝑢 𝑢
𝑃𝑛−1 +4 𝑃𝑛𝑢 + 𝑃𝑛+1 = 3(𝑃𝑛+1 −3𝑃𝑛−1 ) -----------------------(n-1)

How many equations? How many unknowns?


So, the equation can be written in matrix form as:

𝑃1𝑢 𝑃3 − 𝑃1
1 4 1 0 0 …… 0 0 0 0 0 0
0 1 4 1 0 ……0 0 0 0 0 0 𝑃2𝑢 𝑃4 − 𝑃2
0 0 1 4 1… … 0 0 0 0 0 0 𝑃3𝑢 𝑃5 − 𝑃3
.. .. .. .. .. .. .. ..…… .. .. ..
∗ =3
.. .. .. .. .. .. .. .. ..…… .. .. ..
𝑢
0 0 0 0 0 0 1 4 1 0 0 𝑃𝑛−1 𝑃𝑛−1 − 𝑃𝑛−3
0 0 0 0 0 0 0 1 4 1 0 𝑃𝑛𝑢 𝑃𝑛 − 𝑃𝑛−2
0 0 0 0 0 0 0 0 1 4 1 𝑢
𝑃𝑛+1
𝑃𝑛+1 − 𝑃𝑛−1

L * 𝑃𝑢 = R
So can it be solved?
Is this situation good or bad for a designer?
End Conditions:

1. Tangent Vectors at both ends are known (End Conditions Tight):


𝑃1𝑢
1 0 0 0 0 … 0 0 0 0 0 0 𝑢 𝑃3 − 𝑃1
1 4 1 0 0 …… 0 0 0 0 0 0 𝑃 1
0 1 4 1 0 ……0 0 0 0 0 0 𝑃2𝑢 𝑃4 − 𝑃2
0 0 1 4 1… … 0 0 0 0 0 0 𝑃3𝑢 𝑃5 − 𝑃3
.. .. .. .. .. .. .. ..…… .. .. ..
∗ =3
.. .. .. .. .. .. .. .. ..…… .. .. ..
𝑢
0 0 0 0 0 0 1 4 1 0 0 𝑃𝑛−1 𝑃𝑛−1 − 𝑃𝑛−3
0 0 0 0 0 0 0 1 4 1 0 𝑃𝑛𝑢 𝑃𝑛 − 𝑃𝑛−2
0 0 0 0 0 0 0 0 1 4 1 𝑢
𝑃𝑛+1
0 0 0 0 0 0 0 0 0 0 1 𝑃𝑛+1 − 𝑃𝑛−1
𝑢
𝑃𝑛+1

𝐿 ∗ 𝑃𝑢 = 𝑅
Code: you may write your own code.
L 8 ME15101 Computer Aided Design

Composite Curves (Continued)

1/09/2021 (on line mode)


A D Bhatt
Cubic Splines
• Splines are composite curves.
End Conditions:

1. Tangent Vectors at both ends are known (End Conditions Tight):


𝑃1𝑢
1 0 0 0 0 … 0 0 0 0 0 0 𝑢 𝑃3 − 𝑃1
1 4 1 0 0 …… 0 0 0 0 0 0 𝑃 1
0 1 4 1 0 ……0 0 0 0 0 0 𝑃2𝑢 𝑃4 − 𝑃2
0 0 1 4 1… … 0 0 0 0 0 0 𝑃3𝑢 𝑃5 − 𝑃3
.. .. .. .. .. .. .. ..…… .. .. ..
∗ =3
.. .. .. .. .. .. .. .. ..…… .. .. ..
𝑢
0 0 0 0 0 0 1 4 1 0 0 𝑃𝑛−1 𝑃𝑛−1 − 𝑃𝑛−3
0 0 0 0 0 0 0 1 4 1 0 𝑃𝑛𝑢 𝑃𝑛 − 𝑃𝑛−2
0 0 0 0 0 0 0 0 1 4 1 𝑢
𝑃𝑛+1
0 0 0 0 0 0 0 0 0 0 1 𝑃𝑛+1 − 𝑃𝑛−1
𝑢
𝑃𝑛+1

𝐿 ∗ 𝑃𝑢 = 𝑅
So, the elements of the first row and the last row will depend upon the
type of end conditions we choose.

For example if we choose Natural or Relaxed end condition on both the


ends:
It means that the curvature at the beginning and that at the end
is 0.
Accordingly the end conditions will change the first and last
rows.
Relaxed end condition
• For relaxed end conditions:
• 𝑷𝒖𝒖
𝟏 = ∅ = 𝑷 𝒖𝒖
𝒏+𝟏
[ from last class
𝑝𝑢𝑢 u = (12𝑢 − 6) 𝒑𝑜 + −12u + 6 𝒑1 + 6𝑢 − 4 𝒑𝒖𝟎 + 6u − 2 𝒑𝒖𝟏 ]
𝒖 𝒖
So 𝑷𝒖𝒖
𝟏 = −6 𝑷 𝟏 + 6𝑷 2 − 4𝑷 𝟏 − 2𝑷 𝟐= ∅
𝒖 + 4𝒑𝒖 = ∅
& 𝑷𝒖𝒖
𝒏+𝟏 =6 𝑷 𝒏 − 6𝑷 𝑛+1 + 2𝑷 𝒏 𝒏+𝟏
Taking the first derivative terms on left hand side and the rest on right hand
side: 4𝑷𝒖𝟏 + 2𝒑𝒖𝟐 =6 𝑷𝟐 − 6𝑷1
& 2𝑷𝒖𝒏 + 4𝒑𝒖𝒏+𝟏 =6𝑷𝑛+1 - 6 𝑷𝒏
4𝑷𝒖𝟏 + 2𝒑𝒖𝟏 =6 𝑷𝟐 − 6𝑷1
& 2𝑷𝒖𝒏 + 4𝒑𝒖𝒏+𝟏 =6𝑷𝑛+1 - 6 𝑷𝒏

So, the equation with relax end condition can be written in matrix form as:
𝑷𝟐 − 𝑷1
2 1 0 0 0 …… 0 0 0 0 0 0 𝑃3 − 𝑃1
1 4 1 0 0 …… 0 0 0 0 0 0 𝑃1𝑢
0 1 4 1 0 ……0 0 0 0 0 0 𝑃2𝑢 𝑃4 − 𝑃2
0 0 1 4 1… … 0 0 0 0 0 0 𝑃3𝑢 𝑃5 − 𝑃3
.. .. .. .. .. .. .. ..…… .. .. ..
∗ =3
.. .. .. .. .. .. .. .. ..…… .. .. ..
𝑢
0 0 0 0 0 0 1 4 1 0 0 𝑃𝑛−1 𝑃𝑛−1 − 𝑃𝑛−3
0 0 0 0 0 0 0 1 4 1 0 𝑢
𝑃𝑛 𝑃𝑛 − 𝑃𝑛−2
0 0 0 0 0 0 0 0 1 4 1 𝑢
𝑃𝑛+1
0 0 0 0 0 0 0 0 0 1 2 𝑃𝑛+1 − 𝑃𝑛−1
𝑷𝒏+𝟏 − 𝑷𝑛

𝑢
L * 𝑃 = R
Other end conditions (Contd)
Cyclic Spline:
• Both curvature and tangent vector at both the ends are equal.
Anticyclic Spline
• Curvature and tangent vectors at both ends are equal in magnitude but
opposite in direction.
Chord Approximation

Parametric intervals may be taken proportional to


the chord distance between different curve
segments.
Cubic Splines
•Good to join large number of data points with C2
continuity.
•The curve remains cubic irrespective of the number
of points.
•Curve, in general remains smooth.
•Control : Local or global?
With the help of Cubic Hermite curves
• We have large degree of freedom (in comparison to the non
parametric curves).
• Question:
• Is it possible to draw a circle or ellipse or hyperbola?
• Control: Global
• Though geometric coefficients are intuitive but still tangent vectors
are little bit difficult to understand and control of the shape is not
easy.
Control point based curves
• These curves are defined by certain number of points called control
points.
• These points completely define the shape of the curve.
• These curves also remain within the convex hull of the control points.
Control Point Based Curves
• The curve is controlled by varying points (and not tangent vectors
explicitly as was the case of Hermite curves).
• The control points are operated by a set of functions named Blending
functions.
• Convex Region
• the segment between any two distinct points of the region is completely
included in the shape (the segment is a subset of the region).
Control Polygon
• The polygon formed by joining all the points of the set of points in the
sequence they are.
Convex Hull
• Given a set of points, the convex hull of the set of points is
defined as a smallest convex polygon that encloses all the
points in the set.
Convex hull of the control polygon
• Convex hull of the set of points is also the convex hull of the
controlling polygon.
Bezier Curve
• Originally created by by Paul de Casteljau : popularized by French Engineer
P Bezier.
• The idea was to create a curve that can be easily manipulated by using
certain points termed as control points.
• The curve must pass through first and last point.
• The initial tangent (the tangent at start point ) of the curve should be
defined with first two points and the tangent at the last point of the curve
last two points.
• Similarly the second derivative at the start point will be defined with the
help of the first three points and that at the end point will be defined with
the help of last three points. (this statement an be generalized for higher
derivatives also.
• The Blending functions should be symmetric in u and 1-u. So if we reverse
the order of points, the curve should not change its shape.
L 9 ME15101 Computer Aided Design

Bezier Curves

2/09/2021
A D Bhatt
Bezier Curve
• Originally created by by Paul de Casteljau : popularized by French Engineer
P Bezier.
• The idea was to create a curve that can be easily manipulated by using
certain points termed as control points.
• The curve must pass through first and last point.
• The initial tangent (the tangent at start point ) of the curve should be
defined with first two points and the tangent at the last point of the curve
last two points.
• Similarly the second derivative at the start point will be defined with the
help of the first three points and that at the end point will be defined with
the help of last three points. (this statement an be generalized for higher
derivatives also.
• The Blending functions should be symmetric in u and 1-u. So if we reverse
the order of points, the curve should not change its shape.
L 10 ME15101 Computer Aided Design

Bezier Curves (Contd)

6/09/2021
A D Bhatt
Last class: last question…..
Some Simulation Examples
Cubic Bezier curve
• Geometric Coefficients of Bezier Curve
The set of control points [ p0 p1 p2 …..pn]’
𝑝 𝑢 = 𝑈𝑀𝑏𝑛 P
Where P is the set of control points.
𝑀𝑏𝑛 Is the geometric transformation matrix for Bezier Curves for the
required degree n.
Bezier curves in Matrix Form
L 11 ME15101 Computer Aided Design

Bezier Curves (Contd)

8/09/2021
A D Bhatt
Truncation of Bezier curve
Degree Elevation
• Let us take the example of a Bezier curve defined by three control points:
n=2

• Let us presume that we a four point Bezier curve actually represents the
same curve: having control points q0, q1,q2 and q3.
• Its obvious that q0=p0;and q3=p2.
Generalized Bezier Degree Elevation
Generalized Bezier Degree Elevation
Generalized Bezier Degree Elevation
L 12 ME15101 Computer Aided Design

B-spline Curves

9/09/2022
A D Bhatt
Last class we were discussing Limitations of
Bezier Curves
• Local Control is not possible.
• As number of points (n+1) increase, the degree of the curve (n)
increases.
• We can not create standard geometric shapes like circle/ellipse/
hyperbola!
But we were happy about certain things
about Bezier Curves:
• Intuitiveness
• Only control points are needed to define and thus control the curve.
(no tangent vectors etc)

• Convex hull property


• Sum of Blending Functions=1
• All blending functions are either zero or positive.
So:
• We would like to keep
• The convex hull property.
• The control points based definition.
• To make it locally controllable:
• We would like to have blending functions limited ..
• [exist only in the limited range of u .. Not in the entire range].
B-Spline Curve
• Local control is not possible in Bezier curve or Cubic Spline
curve
• Similar to Bezier curve, it is defined by control points and
control polygon.
• It also remains within the convex hull of the defining
polygon.
• Degree of the curve is decided by another parameter, and
is largely independent of the number of control points.
• The Blending functions are B-Spline Basis functions. These
functions have a limited range and thus allow local control
of the curve.
B-Spline curve defined
p(u) = in=0 pi Ni,K(u)
= p0 N0,K(u) + p1 N1K(u) + p2 N2,K(u) + -- - - - - - + pn Nn,K(u)

(Similar to Bezier curve: number of points =n+1)

Ni,K(u) are blending functions of B-spline curves (B-spline Basis Functions)

K is called the order of the curve.

Degree of the polynomial is controlled by K and it is (K-1).

B Spline blending functions are defined recursively.


• Blending Functions
Ni,1 = 1 if ti u < ti+1
= 0 otherwise.

And for higher terms:


(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
For 2≤ 𝑘 ≤ 𝐾

If the denominator of any of the two terms on the right hand side is zero,
the term is neglected (not considered for summing these terms)

Where K controls the resulting polynomial in u and thus also


controls the continuity of the curve.
For Open Uniform B-spline Curves:
Knot values and Knot Vectors
tj are called knot values.
Knot values are related to the parametric
variable u and to the control points pi.
For an open curve:
tj = 0 if j < K
tj = j-K+1 if K  j n
tj = n-K+2 if j> n
Range of j in tj : 0  j  n+K
Range of u: 0  u  n-K+2
knot vector: t = ( t0 t1 t2 . . . tn+K)’
Example:1

Let n=4 (five control points) & K=1


Equation of the B Spline curve:
4
p(u) = i=0 pi Ni,K(u)
= p0 N0,1(u) + p1 N11(u) + p2 N2,1(u) +
p3N3,1(u) +p4 N4,1(u)

Unknown in the above equation is the value of


each of the NiK.
Example: (contd)
Range of u
So 0  u  n-K+2
or 0u5
Range of i in ti
0  i  n+K
or 0  i  5
So there are six knot vectors (t0 to t5)
For an open curve:
ti = 0 if i < K
ti = i-K+1 if K  i n
ti = n-K+2 if i > n
So t= { 0, 1, 2, 3, 4, 5}’
Example: (contd)
N0,1(u) = 1 if 0u<1
=0 otherwise.
N11(u) = 1 if if 1u<2
=0 otherwise.
N2,1(u) = 1 if if 2u<3
=0 otherwise.
N3,1(u) = 1 if 3u<4
=0 otherwise.
N4,1(u) = 1 if 4u<5
=0 otherwise.
Example: (contd)
So, equation of the curve can be written in terms
of six different curve segments.
p(u)= p0 for 0 u < 1
p(u)= p1 for 1 u < 2
p(u)= p2 for 2 u < 3
p(u)= p3 for 3 u < 4
p(u)= p4 for 4 u < 5

What does the curve represent?


• The point themselves!
• p2
•p1 • p3
• p0 • p4

If I change one control point, what will happen to


the shape of the curve?
Change of shape is global or local??
Blending functions for n=4, K=1
N01(u)

N11(u)

N21(u)

N31(u)

N41(u)

0 1 2 3 4 5 u---->
Example:2

Let n=4 (5 control points) & K=2


Equation of the B Spline curve:
5
p(u) = i=0 pi Ni,K(u)
= p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) +
p3N3,2(u) +p4 N4,2(u)

Unknown in the above equation is the value of NiK.


Example2: (contd)
Range of u
So 0  u  n-K+2
or 0u4
Range of i in ti
0  i  n+K
or 0  i  6
So there are seven knot vectors (t0 to t6)
For an open curve:
ti = 0 if i < K
ti = i-K+1 if K  i n
ti = n-K+2 if i > n
So t= { 0, 0,1, 2, 3, 4, 4}’
Example: (contd)
N0,1(u) = 1 if 0u<0
=0 otherwise.
N11(u) = 1 if if 0u<1
=0 otherwise.
N2,1(u) = 1 if if 1u<2
=0 otherwise.
N3,1(u) = 1 if 2u<3 Find out the value of N0,2
=0 otherwise. And other belnding functions.
N4,1(u) = 1 if 3u<4
=0 otherwise.
N5,1(u) = 1 if 4u<4
=0 otherwise.
L 13 ME15101 Computer Aided Design

B-spline Curves contd.

13/09/2022
A D Bhatt
• Blending Functions
Ni,1 = 1 if ti u < ti+1
= 0 otherwise.

And for higher terms:


(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
For 2≤ 𝑘 ≤ 𝐾

If the denominator of any of the two terms on the right hand side is zero,
the term is neglected (not considered for summing these terms)

Where K controls the resulting polynomial in u and thus also


controls the continuity of the curve.
For Open Uniform B-spline Curves:
Knot values and Knot Vectors
tj are called knot values.
Knot values are related to the parametric
variable u and to the control points pi.
For an open curve:
tj = 0 if j < K
tj = j-K+1 if K  j n
tj = n-K+2 if j> n
Range of j in tj : 0  j  n+K
Range of u: 0  u  n-K+2
knot vector: t = ( t0 t1 t2 . . . tn+K)’
Example:2

Let n=4 (5 control points) & K=2


Equation of the B Spline curve:
5
p(u) = i=0 pi Ni,K(u)
= p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) +
p3N3,2(u) +p4 N4,2(u)

Unknown in the above equation is the value of NiK.


Example2: (contd)
Range of u
So 0  u  n-K+2
or 0u4
Range of i in ti
0  i  n+K
or 0  i  6
So there are seven knot vectors (t0 to t6)
For an open curve:
ti = 0 if i < K
ti = i-K+1 if K  i n
ti = n-K+2 if i > n
So t= { 0, 0,1, 2, 3, 4, 4}’
Example: (contd)
N0,1(u) = 1 if 0u<0
=0 otherwise.
N11(u) = 1 if if 0u<1
=0 otherwise.
N2,1(u) = 1 if if 1u<2
=0 otherwise.
N3,1(u) = 1 if 2u<3 Find out the value of N0,2
=0 otherwise. And other belnding functions.
N4,1(u) = 1 if 3u<4
=0 otherwise.
N5,1(u) = 1 if 4u<4
=0 otherwise.
Example: (contd)
N0,2(u) = (1-u)N11(u)
N1,2(u) = uN11(u)+(2-u) N21(u)
N22(u) = (u-1) N21(u)+(3-u) N31(u)
N32(u) = (u-2) N31(u)+(4-u) N41(u)
N42(u) = (u-3) N41(u)
Equation of the curve:
p(u) = p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) +
p3N3,2(u) +p4 N4,2(u)
L 14 ME15101 Computer Aided Design

B-spline Curves contd.

15/9/2022
A D Bhatt
• Blending Functions
Ni,1 = 1 if ti u < ti+1
= 0 otherwise.

And for higher terms:


(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
For 2≤ 𝑘 ≤ 𝐾

If the denominator of any of the two terms on the right hand side is zero,
the term is neglected (not considered for summing these terms)

Where K controls the resulting polynomial in u and thus also


controls the continuity of the curve.
For Open Uniform B-spline Curves:
Knot values and Knot Vectors
tj are called knot values.
Knot values are related to the parametric
variable u and to the control points pi.
For an open curve:
tj = 0 if j < K
tj = j-K+1 if K  j n
tj = n-K+2 if j> n
Range of j in tj : 0  j  n+K
Range of u: 0  u  n-K+2
knot vector: t = ( t0 t1 t2 . . . tn+K)’
(𝑢 − 𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 − 𝑢)𝑁
𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 − 𝑡𝑖 𝑡𝑖+𝑘 − 𝑡
For an open curve:
tj = 0 if j < K
tj = i-K+1 if K  j n
tj = n-K+2 if j> n
Range of i : 0  j  n+K
Range of u: 0  u  n-K+2
knot vector: t = ( t0 t1 t2 . . . tn+K)’
Blending functions for n=4, K=3
N03(u)
1

u
0 1 2 3 4
N13(u)
1

u
0 1 2 3 4
Blending functions for n=4, K=3
N23(u)
1

u
0 1 2 3 4
N33(u)
1

u
0 1 2 3 4
Blending functions for n=4, K=3
N43(u)
1

u
0 1 2 3 4
For Cubic B-Spline Curve (Open Uniform)
Example 4:If we take the same example:
order K=4 (1+degree of the curve (3))
Equation of B-spline Curve
p(u) = σ4𝑖=0 pi Ni,K(u)
= 𝑝0 𝑁0 4(𝑢) + 𝑝1 𝑁14(𝑢) + 𝑝2 𝑁2 4(𝑢) +
,
𝑝3𝑁3 4(𝑢) + 𝑝4 𝑁, 4 4(𝑢)
, ,
L 15 ME15101 Computer Aided Design

B-spline Curves contd.

20/9/2022
A D Bhatt
•Blending Functions
Ni,1 = 1 if ti u < ti+1
= 0 otherwise.

And for higher terms:


(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
Let us focus on K=3:
Equation of Bezier curve with the control points p0 , p1 , and (p1 +p2 )/2
𝑝1 +𝑝2
𝑝 𝑢 = (1 − 𝑢)2 𝑝0 + 2𝑢(1 − 𝑢)𝑝1 + 𝑢2 , 𝑢 ∈ [0 1]
2
Collecting the terms containing 𝑝0 , 𝑝1 , and 𝑝2 ,
2 𝑢(4−3𝑢) 𝑝2
𝑝 𝑢 = (1 − 𝑢) 𝑝0 + 𝑝1 + 𝑢2 , 𝑢 ∈ [0 1]
2 2
And this is exactly the equation of the B-spline curve for the first segment.
• Similarly if we write down the equation of Bezier curve for the control
𝑝1 +𝑝2 𝑝2 +𝑝3
points ,𝑝2 , , we get :
2 2
2 𝑝1 +𝑝2 𝑝2 +𝑝3 2
• 𝑝 𝑢 = (1 − 𝑢) + 2𝑢(1 − 𝑢)𝑝2 + 𝑢 ,𝑢 ∈ [0 1]
2 2
(1−𝑢)2 (1+2𝑢−2𝑢2 ) 𝑢2
Or 𝑝 𝑢 = 𝑝1 + 𝑝2 + 𝑝3 , 𝑢 ∈ [0 1]
2 2 2
If we reparametrize the above equation from v∈ [1 2] or substitute v=v-1,
(2−𝑣)2 (−3+6𝑣−2𝑣 2 ) (𝑣−1)2
𝑝 𝑣 = 𝑝1 + 𝑝2 + 𝑝3 , 𝑣 ∈ [1 2]
2 2 2
And this is exactly the equation of the second segment of the B-spline curve.
Similarly the formulation for other segments can also be done.
Understanding knot-vector
• Let us look at the Knot vector again (K=3, n=4)
• 𝑡 = [0 0 0 1 2 3 3 3]
• If we look at the different segments, they are defined between
intervals: 0≤ 𝑢 < 1, 1 ≤ 𝑢 < 2, 2 ≤ 𝑢 ≤ 3,
• And we have just seen that in between each interval, the B-spline
curve is a Bezier curve, defined by control points as stated earlier.
• So the inside knots 1,2, represent the parametric value where the
individual Bezier curves are joined by K-2 continuity,
• So, the intermediate ‘knot’ values are the values of parameter u,
where the different segments are joined with the continuity 𝑐 𝑘−2 .
• As the value of K increase, the number of segments joining to make
the B-Spline curve decreases.
• Let us understand what is the limiting value of K .
• Is there a relationship between the order K and the number of points
n+1?
For open uniform B-Spline curves:
• You have noticed that:
• As we increase K (order) , the degree of the curve (K-1) increases.
• For example:
• For K=1 (n=4) : we have a discontinuous curve (𝐶 −1 , control points only) and max power of
u (Degree) in the equation is zero.
• Knot vector:[0 1 2 3 4 5], 0≤ 𝑢 ≤ 5
• For K=2 (n=5): we have a 𝐶 0 continuous curve (line joining the control points in the
sequence), the max power of u (Degree) in the equation is 1 .
• Knot vector:[0 0 1 2 3 4 4], 0≤ 𝑢 ≤ 4 [ 𝐾 𝑟𝑒𝑝𝑒𝑎𝑡𝑒𝑑 𝑘𝑛𝑜𝑡𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑏𝑒𝑔𝑖𝑛𝑖𝑛𝑔 𝑎𝑛𝑑 𝑖𝑛 𝑡ℎ𝑒 𝑒𝑛𝑑]
• For K=3 (n=5): we have a 𝐶 1 continuous curve (line joining the control points in the
sequence), the max power of u (Degree) in the equation is 2 .
• Knot vector:[0 0 1 2 3 4 4], 0≤ 𝑢 ≤ 4 [ 𝐾 𝑟𝑒𝑝𝑒𝑎𝑡𝑒𝑑 𝑘𝑛𝑜𝑡𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑏𝑒𝑔𝑖𝑛𝑖𝑛𝑔 𝑎𝑛𝑑 𝑖𝑛 𝑡ℎ𝑒 𝑒𝑛𝑑]
We can extend the analogy for higher K
For Example:
• For K=4 (n=4): we have a 𝐶 2 continuous curve (line joining the control points in the sequence), the
max power of u (Degree) in the equation is 3 .
• Knot vector:[0 0 0 0 1 2 2 2 2 ], 0≤ 𝑢 ≤ 2 𝐾 𝑟𝑒𝑝𝑒𝑎𝑡𝑒𝑑 𝑘𝑛𝑜𝑡𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑏𝑒𝑔𝑖𝑛𝑖𝑛𝑔 𝑎𝑛𝑑 𝑖𝑛 𝑡ℎ𝑒 𝑒𝑛𝑑

• For K=5 (n=4): we have a 𝐶 3 continuous curve (line joining the control points in the sequence), the
max power of u (Degree) in the equation is 4 .
• Knot vector:[0 0 0 0 0 1 1 1 1 1], 0≤ 𝑢 ≤ 1 𝐾 𝑟𝑒𝑝𝑒𝑎𝑡𝑒𝑑 𝑘𝑛𝑜𝑡𝑠 𝑖𝑛 𝑡ℎ𝑒 𝑏𝑒𝑔𝑖𝑛𝑖𝑛𝑔 𝑎𝑛𝑑 𝑖𝑛 𝑡ℎ𝑒 𝑒𝑛𝑑

• For K=6 (n=4): we may have a 𝐶 4 continuous curve (line joining the control points in the
sequence), the max power of u (Degree) in the equation is 3 .
• Knot vector:[0 0 0 0 0 0 0 0 0 0 0 0], 0≤ 𝑢 ≤ 0
• Curve exists only at u=0: so its of o use for us.
• So the only valid curve to a designer is a curve with K=5 (n=4): a 𝐶 3 continuous curve
within the interval 0≤ 𝑢 ≤ 1.
• This fixes the upper limit on K in relation to : K ≤n+1
Limits on K
• So, in general, we can say that:
• A B-Spline curve with order K will have a degree K-1 , continuity 𝐶 𝐾−2 .
• The highest order K that one can take is: K=n+1 .
• (So K can not exceed number of points n+1 of the curve).
• Let us also see what happens when K=n+1.
• Range of u will be from 0 to 1.
• So there is only one segment (Bezier) .
• And it indicates that the curve actually becomes a Bezier curve .
• You may check and prove it: take K=3, n=2 or K=4, n=4 (our example)
You may guess some properties of knot vector

• You may divide a knot vector by a constant value.


• You may subtract a constant value from the knot vectors.

By doing so:
• The parametric range will change (WHY?)
• The curve in object space will remain unchanged (WHY?)
In-between blending functions (open-uniform)
For Cubic B-Spline Curve (Open Uniform)
Example 4:If we take the same example:
order K=4 (1+degree of the curve (3))
Equation of B-spline Curve
p(u) = σ4𝑖=0 pi Ni,K(u)
= 𝑝0 𝑁0 4(𝑢) + 𝑝1 𝑁14(𝑢) + 𝑝2 𝑁2 4(𝑢) +
, ,
𝑝3𝑁3 4(𝑢) + 𝑝4 𝑁4 4(𝑢)
, ,
B-Spline Curves
• So-far, the B-Spline curve that we have understood are called Open
Uniform B-Spline curve, where we have constrained the knot vector
to a pre-defined set.
• In general, the knot-vector can be chosen by the designer and
depending upon the type of knot-vector, the B-spline curve is is also
defined.
• For example:
If the knot interval is uniform, then the B-Spline curve is called
Uniform or Periodic B-Spline.
Some B-Spline Curve Types
1. Uniform or Periodic:
• t=[ 1 2 3 4 5 6 7 8..]
• All knots are uniformly spaced.
2. Open-uniform or Clamped B-Spline curves
• t=[0 0 0 0 1 2 3 4 5 6 7 8 9 10 10 10 10]
• K knots repeated at the beginning as well as at the ends. Intermediate knots are
uniformly spaced.
3. Non-uniform
• t=[ 1 1 1 1.5 2 3 3.5 6 8 11 11 12]
• Normalized B-Spline curves:
• If the parametric interval is maintained between 0 to1 (0≤ 𝑢 ≤ 1 ), then the curve is
called normalized curve.
Some B-Spline Curve Types
Normalized curves:
(You may divide the knot vector by its maximum value)
1. Normalized Uniform or Periodic B-Spline curve:
• Not normalized t=[ 0 1 2 3 4 5 6 7 8]
1 2 3 4 5 6 7
• Normalized Knot vector[0, , , , , , , , 1]
8 8 8 8 8 8 8
• All knots are uniformly spaced.
2. Open-uniform or Clamped B-Spline curves
• Not normalized t=[ 0 0 0 1 2 3 4 5 6 7 8 8 8]
1 2 3 4 5 6 7
• Normalized Knot vector[0, 0,0, , , , , , , , 1]
8 8 8 8 8 8 8
3. Non-uniform
• Not normalized t=[ 0 0 1 2 5 7 7 9 9 10 1010]
1 2 3 4 5 6 7 7 9 9
• Normalized Knot vector[0, 0,0, , ′ , ,, , , , , , , 1]
10 10 10 10 10 10 10 10 10 10
Periodic (Uniform) B-spline curves
• Knot vectors are uniform.
• 𝑡𝑗 =j, for j=0, 1,2, ………, n+K
• Rest of the definitions for 𝑁𝑖𝐾 as usual.
• Example: Let n=4, K=1.
• Knot vector t=[ 0 1 2 3 4 5] …Same as in the open uniform case.
• So, the blending functions do not change. We get the same curve (the
control point!)
Example: Periodic B-Spline Curves, n=4, K=2

Equation fo the curve:


p(u) = p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) + p3N3,2(u) +p4 N4,2(u)
Knot vector
• t=[ 0 1 2 3 4 5 6]
(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
• 𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
= +
𝑖+𝑘−1−𝑖 𝑖+𝑘−𝑖−1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
= +
𝑘−1 𝑘−1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
• 𝑁𝑖,𝑘 = +
𝑘−1 𝑘−1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
So: 𝑁𝑖,2 = +
2−1 2−1
𝑵𝒊,𝟐 = (𝒖 − 𝒊)𝑵𝒊,𝟏 +(𝒊 + 𝟐 − 𝒖)𝑵𝒊+𝟏,𝟏
So, 𝑁0,2 = (𝑢 − 0)𝑁0,1 + (2 − 𝑢)𝑁1,1
𝑁1,2 = (𝑢 − 1)𝑁1,1 + (3 − 𝑢)𝑁2,1
𝑁2,2 = (𝑢 − 2)𝑁2,1 + (4 − 𝑢)𝑁3,1
𝑁3,2 = (𝑢 − 3)𝑁3,1 + (5 − 𝑢)𝑁4,1
𝑁4,2 = (𝑢 − 4)𝑁4,1 + 6 − 𝑢 𝑁5,1
𝑁4,2 = (𝑢 − 5)𝑁5,1 + 7 − 𝑢 𝑁6,1
K=2, n=4, Periodic B-spline Curve
p(u) = p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) + p3N3,2(u) +p4 N4,2(u)
Knot vector
• t=[ 0 1 2 3 4 5 6]
p(u) = p0 [𝑢𝑁0,1 + (2 − 𝑢)𝑁1,1 ]+ p1 [(𝑢 − 1)𝑁1,1 + (3 − 𝑢)𝑁2,1 ]
+ p2 [(𝑢 − 2)𝑁2,1 + (4 − 𝑢)𝑁3,1 ] + p3[(𝑢 − 3)𝑁3,1 + (5 − 𝑢)𝑁4,1 ]
+p4 [(𝑢 − 4)𝑁4,1 +(6-u) 𝑁5,1 ]
p(u) = p0 [𝑢𝑁0,1 + (2 − 𝑢)𝑁1,1 ]+ p1 [(𝑢 − 1)𝑁1,1 + (3 − 𝑢)𝑁2,1 ]
+ p2 [(𝑢 − 2)𝑁2,1 + (4 − 𝑢)𝑁3,1 ] + p3[(𝑢 − 3)𝑁3,1 + (5 − 𝑢)𝑁4,1 ]
+p4 [(𝑢 − 4)𝑁4,1 +(6-u) 𝑁5,1 ]
= 𝑁0,1 [u p0 ] + 𝑁1,1 [(2-u) p0 +(u-1) p1 ] + 𝑁2,1 [(3-u) p1 +(u-2) p2 ] +
𝑁3,1 [(4-u) p2 +(u-3) p3 ] + 𝑁4,1 [(5-u) p3 +(u-4) p4 ] + 𝑁5,1 (6-u)
@p(0)=0, p(u->1)= p0 , p(1)= p0, p(2)= p1, , p(3)= p2 , p(4)= p3 , , p(5)= p4
L 16 ME15101 Computer Aided Design

B-spline Curves contd.

22/9/2022
A D Bhatt
Periodic (Uniform) B-spline curves
• Knot vectors are uniform.
• 𝑡𝑗 =j, for j=0, 1,2, ………, n+K
• Rest of the definitions for 𝑁𝑖𝐾 as usual.
• Example: Let n=4, K=1.
• Knot vector t=[ 0 1 2 3 4 5] …Same as in the open uniform case.
• So, the blending functions do not change. We get the same curve (the
control point!)
Example: Periodic B-Spline Curves, n=4, K=2

Equation fo the curve:


p(u) = p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) + p3N3,2(u) +p4 N4,2(u)
Knot vector
• t=[ 0 1 2 3 4 5 6]
(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
• 𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
= +
𝑖+𝑘−1−𝑖 𝑖+𝑘−𝑖−1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
= +
𝑘−1 𝑘−1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
• 𝑁𝑖,𝑘 = +
𝑘−1 𝑘−1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
So: 𝑁𝑖,2 = +
2−1 2−1
𝑵𝒊,𝟐 = (𝒖 − 𝒊)𝑵𝒊,𝟏 +(𝒊 + 𝟐 − 𝒖)𝑵𝒊+𝟏,𝟏
So, 𝑁0,2 = (𝑢 − 0)𝑁0,1 + (2 − 𝑢)𝑁1,1
𝑁1,2 = (𝑢 − 1)𝑁1,1 + (3 − 𝑢)𝑁2,1
𝑁2,2 = (𝑢 − 2)𝑁2,1 + (4 − 𝑢)𝑁3,1
𝑁3,2 = (𝑢 − 3)𝑁3,1 + (5 − 𝑢)𝑁4,1
𝑁4,2 = (𝑢 − 4)𝑁4,1 + 6 − 𝑢 𝑁5,1
𝑁4,2 = (𝑢 − 5)𝑁5,1 + 7 − 𝑢 𝑁6,1
K=2, n=4, Periodic B-spline Curve
p(u) = p0 N0,2(u) + p1 N12(u) + p2 N2,2(u) + p3N3,2(u) +p4 N4,2(u)
Knot vector
• t=[ 0 1 2 3 4 5 6]
p(u) = p0 [𝑢𝑁0,1 + (2 − 𝑢)𝑁1,1 ]+ p1 [(𝑢 − 1)𝑁1,1 + (3 − 𝑢)𝑁2,1 ]
+ p2 [(𝑢 − 2)𝑁2,1 + (4 − 𝑢)𝑁3,1 ] + p3[(𝑢 − 3)𝑁3,1 + (5 − 𝑢)𝑁4,1 ]
+p4 [(𝑢 − 4)𝑁4,1 +(6-u) 𝑁5,1 ]
p(u) = p0 [𝑢𝑁0,1 + (2 − 𝑢)𝑁1,1 ]+ p1 [(𝑢 − 1)𝑁1,1 + (3 − 𝑢)𝑁2,1 ]
+ p2 [(𝑢 − 2)𝑁2,1 + (4 − 𝑢)𝑁3,1 ] + p3[(𝑢 − 3)𝑁3,1 + (5 − 𝑢)𝑁4,1 ]
+p4 [(𝑢 − 4)𝑁4,1 +(6-u) 𝑁5,1 ]
= 𝑁0,1 [u p0 ] + 𝑁1,1 [(2-u) p0 +(u-1) p1 ] + 𝑁2,1 [(3-u) p1 +(u-2) p2 ] +
𝑁3,1 [(4-u) p2 +(u-3) p3 ] + 𝑁4,1 [(5-u) p3 +(u-4) p4 ] + 𝑁5,1 (6-u)
@p(0)=0, p(u->1)= p0 , p(1)= p0, p(2)= p1, , p(3)= p2 , p(4)= p3 , , p(5)= p4
𝑁𝑖,2 = (𝑢 − 𝑖)𝑁𝑖,1 +(𝑖 + 2 − 𝑢)𝑁𝑖+1,1
(𝑢−𝑖)𝑁𝑖,𝑘−1 (𝑖+𝑘−𝑢)𝑁𝑖+1,𝑘−1
𝑁𝑖,𝑘 = +
𝑘−1 𝑘−1

(𝑢−𝑖)𝑁𝑖,2 (𝑖+3−𝑢)𝑁𝑖+1,2
𝑁𝑖,3 = +
2 2

(𝑢−𝑖)
= 𝑢 − 𝑖 𝑁𝑖,1 + 𝑖 + 2 − 𝑢 𝑁𝑖+1,1
2
(𝑖+3−𝑢)
+ [(𝑢 − 𝑖 − 1)𝑁𝑖+1,1 +(𝑖 + 3 − 𝑢)𝑁𝑖+2,1 ]
2

(𝒖−𝒊)𝟐 ([ 𝟔+𝟒𝒊 𝒖−𝟐𝒖𝟐 −(𝟐𝒊𝟐 +𝟔𝒊+𝟑)])


𝑵𝒊,𝟑 = 𝑵𝒊,𝟐 + 𝑵𝒊+𝟏,𝟏
𝟐𝟐 𝟐
((𝟑+𝒊−𝒖))
+ 𝑵𝒊+𝟐,𝟏 ]
𝟐
For K=3, n=4
• t=[0 1 2 3 4 5 6 7].

• 𝑵𝒊,𝟐 = (𝒖 − 𝒊)𝑵𝒊,𝟏 +(𝒊 + 𝟐 − 𝒖)𝑵𝒊+𝟏,𝟏


(𝒖−𝒊)𝟐 ([ 𝟔+𝟒𝒊 𝒖−𝟐𝒖𝟐 −(𝟐𝒊𝟐 +𝟔𝒊+𝟑)])
𝑵𝒊,𝟑 = 𝑵𝒊,𝟏 + 𝑵𝒊+𝟏,𝟏
𝟐 𝟐
((𝟑+𝒊−𝒖))𝟐
+ 𝑵𝒊+𝟐,𝟏 ]
𝟐
(𝒖−𝒊)𝟐 ([ 𝟔+𝟒𝒊 𝒖−𝟐𝒖𝟐 −(𝟐𝒊𝟐 +𝟔𝒊+𝟑)])
𝑵𝒊,𝟑 = 𝑵𝒊,𝟐 + 𝑵𝒊+𝟏,𝟏
𝟐 𝟐
((𝟑+𝒊−𝒖))𝟐
+ 𝑵𝒊+𝟐,𝟏 ]
𝟐
So:
1
𝑁0,3 = [𝑢2 𝑁0,1 + (6u-2𝑢2 − 3)𝑁1,1 + (3 − 𝑢)2 𝑁2,1 ]
2
1
𝑁1,3 = [(𝑢 − 1)2 𝑁1,1 + (10u-2𝑢2 -11)𝑁2,1 + (4 − 𝑢)2 𝑁3,1 ]
2
1
𝑁2,3 = [(𝑢 − 2)2 𝑁2,1 + (14u-2𝑢2 − 23)𝑁3,1 + (5 − 𝑢)2 𝑁4,1 ]
2
1
𝑁3,3 = [(𝑢 − 3)2 𝑁2,1 + (18u-2𝑢2 − 39)𝑁3,1 + (6 − 𝑢)2 𝑁4,1 ]
2
1
𝑁4,3 = [(𝑢 − 4)2 𝑁2,1 + (22u-2𝑢2 − 59)𝑁3,1 + (7 − 𝑢)2 𝑁4,1 ]
2
Let us look at the blending functions
1
• 𝑁0,3 = [𝑢2 𝑁0,1 + (6u-2𝑢2 − 3)𝑁1,1 + (3 − 𝑢)2 𝑁2,1 ]
2
1
p(u)= [𝑢2 𝑁0,1 + (6u-2𝑢2 − 3)𝑁1,1 + (3 − 𝑢)2 𝑁2,1 ] p0
2
1
+ [(𝑢 − 1)2 𝑁1,1 + (10u-2𝑢2 -11)𝑁2,1 + (4 − 𝑢)2 𝑁3,1 ] p1
2
1
+ [(𝑢 − 2)2 𝑁2,1 + (14u-2𝑢2 − 23)𝑁3,1 + (5 − 𝑢)2 𝑁4,1 ] p2
2
1
+ [(𝑢 − 3)2 𝑁2,1 + (18u-2𝑢2 − 39)𝑁3,1 + (6 − 𝑢)2 𝑁4,1 ] p3
2
1
+ [(𝑢 − 4)2 𝑁2,1 + (22u-2𝑢2 − 59)𝑁3,1 + (7 − 𝑢)2 𝑁4,1 ] p4
2
1
p(u)= 𝑁0,1 [𝑢2 ] p0
2
1
+ 𝑁1,1 [(6u-2𝑢2 − 3)p0+ (𝑢 − 1)2 p1]
2
1
+ 𝑁2,1 [ (3 − 𝑢)2 p0+(10u-2𝑢2 − 11)p1+ (𝑢 − 2)2 p2]
2
1
+ 𝑁3,1 [ (4 − 𝑢)2 p1+(14u-2𝑢2 − 23)p2+ (𝑢 − 3)2 p3]
2
1
+ 𝑁4,1 [ (5 − 𝑢)2 p2+(18u-2𝑢2 − 39)p3+ (𝑢 − 4)2 p4]
2
1
+ 𝑁5,1 [ (6 − 𝑢)2 p3+(22u-2𝑢2 − 59)p4]
2
1
+ 𝑁6,1 [ (7 − 𝑢)2 p4]
2
Valid Range of u for periodic B-spline Curves
• For K=1, n=4, t= [0 1 2 3 4 5]
• Range of u: 𝑡0 ≤u ≤ 𝑡5,
• For K=2, n=4, t= [0 1 2 3 4 5 6]
• Range of u: 𝑡1 ≤u ≤ 𝑡5,
• For K=3, n=4, t= [0 1 2 3 4 5 6 7]
• Range of u: 𝑡2 ≤u ≤ 𝑡5,
• In general:
• For order K and degree n: t=[ 𝑡0, 𝑡1, 𝑡2, …………… 𝑡𝑛+𝑘, ]
• Range of u: 𝑡𝑘−1 ≤u ≤ 𝑡𝑛+1,
Periodic B-Spline Curve
• Specific application
• Create closed curve with desired continuity.
• There are different methods given in the literature, but we will simply extend
our technique.
• What will happen if we repeat control points: say for K=2
Closed B-Spline Curve:
• For K=2, n=4, t= [0 1 2 3 4 5 6]
• For valid range of 1 ≤ 𝑢 ≤ 5
• My curve is the polygon 𝑝0 − 𝑝1 − 𝑝2 − 𝑝3 − 𝑝4

• If a sixth control (now n=5) such that s added, point 𝑝5 is at the location of 𝑝0
my knot vector become:[0 1 2 3 4 5 6 7]
• For new valid range of 1 ≤ 𝑢 ≤ 6
• My curve is the polygon 𝑝0 − 𝑝1 − 𝑝2 − 𝑝3 − 𝑝4 - 𝑝5 ∶
that becomes a closed polygon.
Closed B-Spline curve with K=3
• For K=3, n=4, t= [0 1 2 3 4 5 6 7]
• For valid range of 2 ≤ 𝑢 ≤ 5
• My curve is the 𝐶 1 continuous curve drawn by pencil.

• If two control points 𝑝5 and 𝑝6 are added (now n=6) such that added, point 𝑝5 is
at the location of 𝑝0 and 𝑝6 is at the location of 𝑝1
my knot vector become:[0 1 2 3 4 5 6 7 8 9]
• For new valid range of 2 ≤ 𝑢 ≤ 7
• My curve is a closed curve that is still 𝐶 1 continuous
• (added curve is shown by red colour)
Creating Closed Curves with 𝐶 𝐾−2 Continuity
• Repeat the initial polygon vertices (n+1) up-to count (K-1) and make
them the last (K-1) control points of
• Such that the total number of control points : n+K-1 (new value of n is n+k-1).
• Construct the B-Spline curve as usual within the valid range of u depending
upon the new n and the K.
• The curve that we will get will be a closed B-Spline curve of order K.
Periodic B-Spline Curve
• K=3,
Closed B-Spline curves of various orders:
Non-uniform B-Spline Curve
• As the name suggest: knot vector is not(non-) uniform.
• Let us slightly tweak our open uniform B-spline curve:
• For K=3, n=4, we know that the knot vector t=[0 0 0 1 2 3 3 3 ]
• Let us say that our knot vector is: t=[0 0 0 0.5 1 3 3 3]
• Let us see how the new curve behaves.
(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
𝑁𝑖,𝑘 = +
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
• t=[0 0 0 0.5 1 3 3 3], K=3,n=5
(𝑢−𝑡𝑖 )𝑁𝑖,𝑘−1 (𝑡𝑖+𝑘 −𝑢)𝑁𝑖+1,𝑘−1
𝑁0,2 = + = 0
𝑡𝑖+𝑘−1 −𝑡𝑖 𝑡𝑖+𝑘 −𝑡𝑖+1
(𝑡3 −𝑢)𝑁2,1
𝑁1,2 =0+ =(1 − 2𝑢) 𝑁2,1
0.5−0
𝑢𝑁2,1 (1−𝑢)𝑁3,1
𝑁2,2 = + =2𝑢𝑁2,1 + (2 − 2𝑢) 𝑁3,1
0.5 0.5

(𝑢−0.5)𝑁3,1 (3−𝑢)𝑁4,1 (3−𝑢)𝑁4,1


𝑁3,2 = + = (2𝑢 − 1) 𝑁3,1 +
0.5 2 2

(𝑢 − 1)𝑁4,1
𝑁4,2 = +0
2
𝑁5,2 = 0
The curve:
What is happening: t=[0 0 0 0.5 1 3 3 3]
• Let us see how the successive knot intervals affect the curve for K=3
• So the nature of curve changes, if the knot interval is changed.
• We have changed two knot values from the conventional Open-uniform B-
spline curve.
• 𝑡3 -𝑡2 = 0.5, and 𝑡4 -𝑡3 = 0.5, since these knot
intervals are equal: the curve touches the mid point of 𝑝1 and 𝑝2 .
𝑡4 -𝑡3 = 0.5 and 𝑡5 -𝑡4 = 2, and we have seen that the curve
Actually touches the line 𝑝2 - 𝑝3 at a point that divides it in the ratio
Of 0.5:2 or 1:4.
2.Given the following control points: (0 0 0); (0 1 0); (2 1 0); (2 0 0) and (1 0 0). The knot vectors are
non-uniform and given as
a. t=[0 0 0 .5 1 3 3 3]
b. t=[0 0 1 1 1 3 3 3] Express the changes in the shape of the curve from the open-non-uniform
case for K=3.
L 17 ME15101 Computer Aided Design

B-spline curves.. Can we draw circle?

23/9/2022
A D Bhatt
• Some examples are there in tutorial sheet. You will experience what is
going to happen if we change the knot vector.
• [0 0 0 1 2 3 4 5 6 6 6] for K=3 this knot vector forces the curve pass
through the first and last point.
• If there are any repeated knots in between
For example [ 0 0 0 1 1 3 4 5 6 6 6], K=3,
• The curve will pass through the first and last point (K repeated knots
at the start and end).
• The curve should have been C(K-2) continuous that is C1 continuous
throughout, but you will see that the continuity goes down to C0 at
u=1.
• If I repeat three knots inside: [ 0 0 0 1 2 2 2 5 6 6 6]
• You will find that the curve becomes discontinuous at u=2!
𝐾−2
Creating Closed Curves with 𝐶 Continuity
• Repeat the initial polygon vertices (n+1) up-to count (K-1) and make
them the last (K-1) control points of
• Such that the total number of control points : n+K-1 (new value of n is n+k-1).
• Construct the B-Spline curve as usual within the valid range of u depending
upon the new n and the K.
• The curve that we will get will be a closed B-Spline curve of order K.
2.Given the following control points: (0 0 0); (0 1 0); (2 1 0); (2 0 0) and (1 0 0). The knot vectors are
non-uniform and given as
a. t=[0 0 0 .5 1 3 3 3]
b. t=[0 0 1 1 1 3 3 3] Express the changes in the shape of the curve from the open-non-uniform
case for K=3.
As such
• We may play with knot vector,
• We can play with K
• We may play with control points including repeated control points.
And we will be getting a variety of shapes.
Terminology:
Normalised
Non-uniform
Open Non-Uniform or Open Uniform or Clamped
Periodic / Uniform / [ used for closed curves]
Normalized periodic b splines
Normalized non-uniform B Splines.
Some properties of B-spline curve
1. Curve remains within the convex hull (within the valid range).
• Sum of Blending Functions is always 1 .
• The blending functions are either zero or positive.

2. Degree can be set by order K (Degree=K-1).


3. Continuity of the curve: 𝐶 𝐾−2 except in the case of intermediate knot-
multiplicity.
4. If initial K knot are equal and last K knots are also equal (also called knot
multiplicity K at the beginning as well as at the end), the curve will pass
through first and last point.
5. If there is m multiplicity of knots , the continuity of the curve will be 𝐶 𝐾−𝑚−1
continuous.
Degrees of freedom for B-Spline curves
• Control points
• Order K
• Knot vector.
Can we draw a circle?
• Yesterday:
• We have seen that a rational polynomial can conveniently represent conic
sections:
Homogeneous Coordinate system
Rational Curves
• Rational Hermite Curves
Les Piegl: A survey of NURBS
You can read this article ( a small document and most of it you will
understand)
• http://fab.cba.mit.edu/classes/S62.12/docs/Piegl_NURBS.pdf#:~:text
=The%20mathematical%20definitions%20of%20NURBS%20curves%2
0and%20surfaces,formula%20m%20%3D%20n%20%2B%20p%20%2B
%201.
Manipulation of Non-uniform Rational B-
Spline curves
• Control points: Changing position/ numbers/ multiplicity
• K: order of the curve can be manipulated upto max value of n+1.
• Knot Vector: Manipulation of knot vector.
• Weights: wi >0
• NURBS: can uniquely define
• Straight line
• Bezier curve
• Conics
• Freeform shapes.
• Can be easily manipulated
Parametric Curves
• Building blocks for design of Surfaces and solids.
• Giving life to objects:
• Geometric Transformation
• Translation
L 18 ME15101 Computer Aided Design

Geometric Transformations

27/9/2022
A D Bhatt
Geometric Transformations
• Geometric transformations provide life to virtual objects created
through geometric modeling.
• Maneuver the object
• View it from different angles
• Create multiple copies
• Create its reflected image
• Reshape an object
• Position the object with respect to each other
Etc.
Geometric Transformations (contd.)
Definition
• A mapping function between a set of points both in the domain and
range.
• The points may belong to the object or the coordinate system.
• The function needs to be one to one mapping.
• The transformation should be onto.
• It means that for a mapping f(x)=y, for every y, we must have one x.
• This is required for inverse mapping.

The domain of a function f(x) is the set of all values for which the function is defined, and the range of
the function is the set of all values that function takes.
Onto and not one to one
One to one and not onto

Onto and one to one


Geometric Transformations (contd.)
• Rigid body transformations
• Shape and size does not change.
• Translation
• Rotation

• Deformations
• Shear
• Scaling
2D Rigid Body Transformations
(x*,y*)
• Translation
y dy
(x,y)
In homogeneous coordinates dx
x
Or p*=Tdx,dy.p

{x* y* 1}t ={x+dx y+dy 1} t


Or x* =x+dx
y* =y+dy
2D Rigid Body Transformations (Contd)
p* (x*,y*)
• Rotation about
x*
origin
= r cos(+)
y p (x,y)
= r cos  cos  - r sin  sin  
= x cos  - y sin  
y* = r sin(+) x
= r sin  cos  + r cos  sin 
= y cos  + x sin 
Or x cos  -sin  0  x
| y=  Sin  cos  0   y Or p*=R.p
1 0 0 1  1
2D Rigid Body Transformations (Contd)
p* (x*,y*)
• Rotation about
x*
origin
= r cos(+)
y p (x,y)

= r cos q1 cos  - r sin  sin 
= x cos  - y sin  
y* = r sin(+) x
= r sin  cos  - r cos  sin 
= y cos  - x sin 
Or x* cos  -sin  0  x
 y* =  Sin  cos  0   y
1  0 0 1  1
2D Rigid Body Transformations (Contd)

• Combined Rotation and Translation


• Rotation matrix R
• Translation Matrix Tdx,dy,

Combination of the transformations :


R Tdx,dy : indicate first translation and then rotation
Tdx,dy R indicate first rotation and then
translation
Rotation about any arbitrary point

To rotate a point q about another point p (x,y),


Transformations involved:
1. Translate point p to origin (T-x,-y )
2. Rotate q by an angle  about origin (R )
3. Translate the p back to the original position.
(Txy )
So q*= Txy R T-x,-y
Rotation about an arbitrary point
q
y y
p q1

x p1 x Translation T(-x –y)


q3
q
q2 y q
y
q1 2 p, p3

p2 p1 x p2 x
Rotation R  Translation T(dx dy)
Transformations in 3Dimensions (contd.)

• Translation
1 0 0 dx 
T(dx, dy, dz)= 0 1 0 dy
0 0 1 dz
0 0 0 1

•Rotation about Z axis


cos  -sin  0 0 
Rz =  sin  cos  0 0 
0 0 1 0 
0 0 0 1 
Transformations in 3Dimensions
• Rotation about x axis
1 0 0 0 
Rx = 0 cos  -sin  0 
0 sin  cos  0 
0 0 0 1 

• Rotation about y axis


cos  0 sin  0 
Ry = 0 1 0 0 
 -sin  0 cos  0 
0 0 0 1 
Transformations in 3Dimensions (contd.)
• Rotation about x axis
1 0 0 0 
Rx = 0 cos  -sin  0 
0 sin  cos  0 
0 0 0 1 

• Rotation about y axis


cos  0 sin  0 
Ry = 0 1 0 0 
 -sin  0 cos  0 
0 0 0 1 
L 19 ME15101 Computer Aided Design

Geometric Transformations

30/9/2022
A D Bhatt
Reflection
• Reflection about x axis (y=0)

Or x* 1 0 0 x
 y*= 0 -1 0   y
1 0 0 1  1

•Reflection about y axis (x=0)


Or x* -1 0 0 x
 y*= 0 1 0   y
1 0 0 1  1
Reflection (contd.)

• Reflection about an arbitrary line


y l

x
Reflection about an arbitrary line 0
1. Translate d to origin
l
2. Rotate L by 0 to coincide
with y axis 1

d
3. Reflect about y axis 3

d
Reflection about an arbitrary line (contd.)
•Rotate by (- 0 )to bring back to 2. l
Axis.
3

d
•translate l to coincide with
original position of l
l

d
• Scaling (along x and y)
Scale along y Along x and y
x* sx 0 0  x
 y*= 0 sy 0   y
1 0 0 1  1
Scale along x
• Overall Scaling
1 0 0  x
x* 0 1 0   y
| y*= 0 0 1/s  1
1
Overall Scaling
Shear
• Shear along x (Shx)
x* 1 a 0 x
 y*= 0 1 0  y
1  0 0 1 1

x* x+ay 
 y*= y 
1  1 
Shear (Contd)
• Shear along y (Shy)
x* 1 0 0  x
 y*= b 1 0   y
1  0 0 1  1

Shear along x and y both


x* x+ay 
 y*=  y+bx
1  1 
Transformation of Coordinate system
Transformation of Coordinate system
Geometric Projections
• Transormations we have read so far were
from one 3D space to another 3D space.
• For viewing the object on a planar space, we
need to view the ‘shadow’ of the object in a
surface: planer or non-planer.
• Non-planer projections have applications in
cartography, Cinema hall (Multiplexes).
• We will be essentially talking about planer
geometric projections.
Planer Geometric Projections
Projections
L 20 ME15101 Computer Aided Design

Geometric Transformations / Projections

6/10/2022
A D Bhatt
Geometric Projections
Geometric Projections
• Transformations we have read so far were
from one 3D space to another 3D space.
• For viewing the object on a planar space, we
need to view the ‘shadow’ of the object in a
surface: planer or non-planer.
• Non-planer projections have applications in
cartography, Cinema hall (Multiplexes).
• We will be essentially talking about planer
geometric projections.
Projections
Elements:
1. Object to be projected.
2. Projection lines (passing through each
points on the object
3. Projection Plane
aner Geometric Projections
• Centre of Projection

• Parallel Projection
Pl

• Perspective Projection
Planer Geometric Projections
Planer Geometric Projections
Axonometric Projection
• Projectors are parallel.

• Projectors are at an oblique angle from the projection plane.

• Object is manipulated to get a better view.


L 21 ME15101 Computer Aided Design

Geometric Transformations / Projections

7/10/2022
A D Bhatt
Oblique Projection .
•An oblique projection is formed by parallel projectors from center of
projection at infinity that intersect the plane of projection at an oblique
angle.
•Only faces of the object parallel to the plane of projection are shown at
their true size and shape ( angles and lengths are preserved for these
faces only).
•Faces not parallel to the plane of projection are distorted.
Oblique Projection (contd.).
•Cavalier Projection
• A cavalier projection is obtained when the angle between the oblique
projectors and the plane of projection is 450.
• In cavalier projection, the foreshortening factors for all three principal
directions are equal.
• The resulting figure appears too thick.

•Cabinet Projection
• An oblique projection for which the foreshortening factor for edges
perpendicular to the plane of projection is ½ is called cabinet projection.
• For cabinet projection, the angle between the projectors and the plane
of projection = cot-1 (1/2) = 63.430
Perspective Projection
• The projection plane is normal to z axis at z=d .
• Center of projection is z=0.

y xp /d = x/z
x p(x,y,z)
yp /d = y/z
pp
Or xp = d x /z =x/(z/d)
d z & yp = d y /z =y/(z/d)
View So,
p(0,y,z)
along Mper= 1 0 0 0
x axis xp 0 1 0 0
z 0 0 1 0
 0 0 1/d 0
View
z
yp So pp= Mpe p
along
x axis p(x,0,z) =[ x y z z/d]t
Perspective Projection (contd)
• The projection plane is normal to z axis at z=0
• Center of Projection is on z= - d

x
d z xp /d = x/ (z+d)
yp / d = y/ (z+d)
p(x,y,z) Or xp = d x /(z+d)
xp
=x/{(z/d)+1}
View
along z & yp = y /{(z/d)+1}
y axis
z So, M’per=
yp 1 0 0 0
p(x,y,z) 0 1 0 0
View
along y 0 0 0 0
x axis 0 0 1/d 1
Perspective Transformation
L 22 ME15101 Computer Aided Design

Geometric Transformations / Projections

11/10/2022
A D Bhatt
Perspective Transformation
Perspective transformation 3D to 3D Mapping
1 0 0 0
𝑀𝑝𝑡 = 0 1 0 1
0 0 1 0
𝑝 𝑞 𝑟 1

Perspective Projection 3D to 2D Mapping


projection of 𝑀𝑝𝑡 on the desired plane.
For example for projection on z=0 plane, 𝑀𝑝𝑝 = 𝑃𝑧 * 𝑀𝑝𝑡
1 0 0 0
𝑀𝑝𝑝 = 0 1 0 1
0 0 0 0
𝑝 𝑞 𝑟 1
Perspective transformation of a point @ infinity along X axis:
1 0 0 0 1 1
0 1 0 1 0 0
P*= * =
0 0 1 0 0 0
𝑝 𝑞 𝑟 1 0 𝑝

That indicates a point [1/p , 0 , 0]‘ in cartesian coordinates

Similar results can also be achieved for a point at infinity along Y axis and Z axis
respectively.
What will happen to a point at z=
• Concept of vanishing point:
Single point perspective transformation

1 0 0 0
• 0 1 0 0
0 0 1 0
0 0 𝑟 1
Perspective Transformation
1 0 0 0 𝑥
So
𝑦
p*= 00 1 0 0 𝑥
𝑥∗=
0 1 0 𝑧 1+𝑝𝑥+𝑞𝑦+𝑟𝑧
𝑦
𝑦∗ =
𝑝 𝑞 𝑟 1 1 1+𝑝𝑥+𝑞𝑦+𝑟𝑧
𝑦
𝑥 𝑧∗ =
1+𝑝𝑥+𝑞𝑦+𝑟𝑧
𝑦
= 𝑧
𝑝𝑥 + 𝑞𝑦 + 𝑟𝑧 + 1
The horizon appears as a line.
2. Straight lines in space appear as straight lines in the projection.
3. Sets of parallel lines meet at a vanishing point.
(How many vanishing points possible?)
4. Lines parallel to the projection plane appear parallel and and
therefore have no vanishing points.
Two point
- Architectural Designs
Conclusion
• For viewing any 3D object on two D plane
(i.e. computer screen, black board, etc.)
projections are required.
• Planar and non planar projections.
• Planar projections:
• Orthographic
• Axonometric
• Perspective
Surface Design
• Introduction
L 23, 24, 25 ME15101 Computer Aided Design

Geometric Transformations / Projections

1/11/2022 +3/11/22 (2urs)


A D Bhatt
Surface
• Intuitively:
• Notion of a surface is a continuous set of points approximately lying in a plane
in the neighbourhood of each of the points.
• Surface: a two parameter family of points.
• Locus of points moving in two degrees of freedom.
• Locus of points of a moving curve.
A rectangular surface on Z=0 Plane
Ruled Surface Patch
• If the surface is such that at each of the point of the surface it is
possible to pass a straight line that is a part of the surface, the
surface is called a ruled surface.
• Singly ruled surface

• Doubly ruled surface


Ruled Surface
Ruled surfaces
Ruled surface
Spherical Surface
Bi-cubic patch (contd.)
• p(u,w)= a33u3w3 + a32u3w2 + a31u3w +a30u3
+a23u2w3 + a22u2w2 + a21u2w +a20u2
+a13uw3 + a12uw2 + a11uw +a10u
+a03w3 + a02w2 + a01w + a00

• Total degree of freedom: 16 x 3 = 48.


Or p = U A Wt
• Where U={u3 u2 u 1} t

a33 a32 a31 a30 


A=
a23 a22 a21 a20 
 a13 a12 a11 a10 
 a03 a02 a01 a00 

W={w3 w2 w 1} t
Boundary Elements of a surface
• Boundary Curves
•p(u,0)= a30 u3+ a20 u2+ a10 u+ a00
•p(u,1)= (a33 + a32 + a31 + a30 ) u3+
(a23 + a22 + a21 + a20)u2
+(a13 + a12 + a11 + a10 ) u+ (a03 + a02 + a01 + a00 )
•p(0,w)= a03 w3+ a02 w2+ a01 w+ a00
•p(1,w)= (a33 + a23 + a13 + a03 ) w3+ (a32 + a22 + a12+ a02)w2
+(a31 + a21 + a11 + a01 ) w+ (a30 + a20 + a10 + a00 )
•Corner points
p(0,0), p(1,0), p(0,1), p(1,1),
Geometric Form
• Boundary curves can readily be represented in geometric form.
pu0= F(u)[p00 p10 pu00 pu10]t p11
p01
pu1= F(u)[p01 p11 pu01 u
p 11]t

p0w= F(w)[p00 p01 pu00 pu01]t p10

p1w= F(w)[p10 p11 pu10 pu11]t


p00

These are 12 vectors and they describe the boundary of the


surface.
The left-over three degree of freedom can be specified at the
boundary by specifying twist vectors.l
Twist Vectors (mixed partial Derivative)
p11
p01
2p(u,w)
∂________
puw(u,w)= p10
∂u ∂w

p00

So to define a bi-cubic patch the boundary elements required are:


Corner points 4
Tangent vectors 8
Twist Vectors 4
Twist Vectors (contd.)

Twist vectors can be found out from the algebraic


coefficients by differentiating the equation of the surface.

pu=3a33u2w3+ 3a32u2w2+ 3a31u2w +3a30u2+2a23uw3+ 2a22uw2+ 2a21uw


+2a20u+a13w3+ a12w2 + a11w +a10
puw=9a33u2w2+ 6a32u2w+ 3a31u2 +6a23uw2+ 4a22uw+ 2a21u +3a13w2+
2a12w + a11

Sine all the aijs are known all the sixteen geometric coefficients can be
computed.
OR if the geometric coefficients are known, algebraic coefficients can be
found.
Geometric Interpretation of Twist Vectors
pw11
p01 pu11
pu01
p11
p1i
p10

0 1
w
pw10
pu00
p10uw pu
1i
pu11
p00 pu10
p10
pu10
w
Geometric representation (contd.)
• p0w=F(w)[p00 p01 pw00 pw01]t pw11
p01 pu11
pu01 p
p11
• pu0w=F(w)[pu00 pu01 puw00 puw01]t
i1

pij
• pi0 = F1(ui)p00+ F2(ui)p10 pw10
+ F3(ui)pu00+ F4(ui)pu10 pu00
pi0
• pi1 = F1(ui)p01+ F2(ui)p11 p00
+ F3(ui)pu01+ F4(ui)pu11 p10
pu10
• pwi0 = F1(ui)pw00+ F2(ui)pw10
+ F3(ui)puw00+ F4(ui)puw10
• pwi1 = F1(ui)pw01+ F2(ui)pw11
+ F3(ui)puw01+ F4(ui)puw11
Geometric representation (contd.)
• Since all geometric coefficients are available,
pij = F1(wi)[F1(ui)p00+ F2(ui)p10+ F3(ui)pu00+ F4(ui)pu10]
+F2(wj)[F1(ui)p01+ F2(ui)p11+ F3(ui)pu01+ F4(ui)pu11]
+F3(wj)[F1(ui)pw00+F2(ui)pw10+ F3(ui)puw00+F4(ui)puw10] +F4(wj)
[F1(ui)pw01+F2(ui)pw11+F3(ui)puw01+F4(ui)puw11]

p00 p01 pw00 pw01  F1(w)


p(u,w)= [F1(u) F2(u) F3(u) F4(u)]
 p10 p11 pw10 pw11   F2(w)
 pu00 pu01 puw00 puw01   F3(w)
 pu10 pu11 puw10 puw11  F4(w)
Or p=F(u) B Ft(w)
Or p=UM B MtWt , in algebraic form p= UAWt

Comparing: A= M B Mt
And B= M-1 A Mt -1
L 26 ME15101 Computer Aided Design
Surface Design

8/11/22
A D Bhatt
Geometric representation (contd.)
• Since all geometric coefficients are available,
pij = F1(wi)[F1(ui)p00+ F2(ui)p10+ F3(ui)pu00+ F4(ui)pu10]
+F2(wj)[F1(ui)p01+ F2(ui)p11+ F3(ui)pu01+ F4(ui)pu11]
+F3(wj)[F1(ui)pw00+F2(ui)pw10+ F3(ui)puw00+F4(ui)puw10] +F4(wj)
[F1(ui)pw01+F2(ui)pw11+F3(ui)puw01+F4(ui)puw11]

p00 p01 pw00 pw01  F1(w)


p(u,w)= [F1(u) F2(u) F3(u) F4(u)]
 p10 p11 pw10 pw11   F2(w)
 pu00 pu01 puw00 puw01   F3(w)
 pu10 pu11 puw10 puw11  F4(w)
Or p=F(u) B Ft(w)
Or p=UM B MtWt , in algebraic form p= UAWt

Comparing: A= M B Mt
And B= M-1 A Mt -1
• Twist vectors are define the interior shape of the
curve.
• Twist vectors do not play any role in boundary
(corner points, boundary edges).
• If all twist vectors are zero, then the patch is called
Ferguson-patch or F-patch.
• Only first order (C1) continuity is possible across
the boundary of F-patches.
Degenerate surfaces (contd.)
• If B matrix is as follows:

p00 0 0 0
 p10 0 0 0
 p10-p00 0 0 0
 p10-p00 0 0 0
Degenerate surfaces (Contd.)
• If B matrix is as follows:

p00 p01 pw00 pw01 


 p00 p11 pw10 pw11 
 0 pu01 puw00 puw01 
0 pu11 puw10 puw11 
p11

p01
p00, p10
Degenerate surfaces (contd.)
• If B matrix is as follows:
p00 p01 pw00 pw01 
 p00 p01 pw10 pw11 
 pu00 pu01 puw00 puw01 
 pu10 pu11 puw10 puw11 

p00, p10
p01 , p11
Degenerate surfaces (contd.)
• If B matrix is as follows: (Diagonal points same)
p00 p10 pw00 pw01 
 p10 p11 pw10 pw11 
 pu00 pu01 puw00 puw01 
 pu10 pu11 puw10 puw11 
p01 , p10

p11

p00
Degenerate surfaces (contd.)
• If B matrix is as follows: (Diagonal points same)
p00 p10 pw00 pw01 
 p10 p00 pw10 pw11 
 pu00 pu01 puw00 puw01 
 pu10 pu11 puw10 puw11 
p01 p10

p00 p11
EOF
Surface Normal
• Considered an important property associated with a surface.
• Optical properties de[end on the surface normal.
• Machining direction (surface machining) is done in the surface normal
direction.
Sixteen Point form
• Steps
• Arrange the points systematically.
• Give each arranged point parametric value (for both parameters:
monotonically increasing,
• Now, similar to 4 point form, we are ready to get the geometric coefficient
matrix of the bicubic surface.
Sixteen Point form
L 28 ME15101 Computer Aided Design
Surface Design

A D Bhatt
Sixteen Point form
• Steps
• Arrange the points systematically.
• Give each arranged point parametric value (for both parameters:
monotonically increasing,
• Now, similar to 4 point form, we are ready to get the geometric coefficient
matrix of the bicubic surface.
STUDY TRUNCATION, SUBDIVISIO, and Extension from Mortenson: similar to curves
Composite Surfaces
p01 p11 q01

q11

p10
q00
p00

q10
Continuity
• For C1 continuity p01
p11 q01

• Along the boundary C1


p10= q00 q11
p11 = q01
p10 w=q00w
p11 w = q01 w
p10 q
p10 u=q00u p00 00

p11 u = q01 uw q10


p10 uw= q00uw
p11 uw = aq01 uw
If these conditions prevail, at every point along the common boundary,
qow u = pw1 u
Bezier Patch
p34
p14 p24
w=1 p44
p13 p2 pu wi p3
p23
p33 p43
p4
u=0 p1 p
22
p32 p42 u=1
p12

p21 p31

w=0
p11 p41
Bezier Patch
p(u,w) = im+1=1 jn+1=1 pij Bi,m(u) Bj,n(w) , u, w ε [0,1]
• pij are the vertices of a characteristic polyhedron. (m+1)x(n+1)
rectangular array of points.
• Bim and Bin are Bernstein Polynomials.
For a bicubic Bezier patch,
p(u,w) =[(1-u)3 3u(1-u)2 3u2(1-u) u3] P  (1-wi)3 
 3 wi(1- wi)2 
Where P= p11 p12 p13 p14  3 wi 2(1- wi) 
 p21 p22 p23 p24  wi 3 
 p31 p32 p33 p34
 p41 p42 p43 p44
Bezier Patch (Contd.)
• Only four control points lie on the patch.
p11, p21, p14 and p44
• A parametric curve on the bi-cubic patch along the path w=wi,
p1, p2 , p3 , p4 , are the control points of the curve.
• ‘P’ are the Matrix of control points Pij] p p
2 3

p1 p4
 (1-wi)3 
p1  = P
 3 wi(1- wi)2 
 p2 
 3 wi 2(1- wi) 
 p3 
 wi 3 
 p4
The point p1 lies on the patch boundary p(0,wi)
The point p4 lies on the patch boundary p(1,wi)
Points p2 and p3 do not lie on the patch.
Bezier Patch (Contd.)
• Equation of a point along the the curve p(u,)
• p(u,wi)= [(1-u)3 3u(1-u)2 3u2(1-u) u3] p1 
 p2 
 p3 
 p4

If different values of u are put, the points on the surface along all the p(u,
wi) curve can be found.
Bezier Patch (Contd.)
• The P matrix may not be square.

p13
p23 w=1
p33 p43
u=0 p22
p32 p42
p53
p12
p52
p21 p31
u=1
w=0
p11 p41 p51
Bezier Patch (non-square control points)

p(u,w) =[(1-u)4 4u(1-u)3 6u2(1-u)2 4u 3(1-u) u4] P  (1-w)2 


 2 w(1- w)
p11 p12 p13 
w2 
 p21 p22 p23 
Where P =  p31 p32 p33 
 p41 p42 p43 
 p51 p52 p53 

Similar expressions can be written for any m x n control points .


Depending on the designer need, the Bezier surface degree can
be changed independently on either parametric direction.
L 29-30 ME15101 Computer Aided Design
Surface Design

A D Bhatt
Continuity across Bicubic Bezier Surfaces
Continuity across Bicubic Bezier Surfaces
B-Spline Surfaces
• Similar to Bezier surfaces, B-Spline Surfaces are defined
as:
p(u,w)=σ𝑚 σ 𝑛
𝑖=0 𝑗=0 𝒑𝑖𝑗 𝑁𝑖𝐾 (𝑢)𝑁𝑗𝐿 (w)
• Where 𝒑𝑖𝑗 are control points of the characteristic
polyhedron.
• 𝑁𝑖𝐾 (𝑢) 𝑎𝑛𝑑 𝑁𝑗𝐿 (w) are the basis functions along u and
w.
• K and L are the order of the B-Spline surface (degree
along u is K-1 and degree along w is L-1)
• The surface will always remain within the convex hull of
the defining polyhedron.
Variations
• Similar to B-Spline curves a designer may use different types of knot
vectors:
• Uniform / non-uniform knot vectors may be used to create various surfaces.
• Open or closed surfaces can be created.
• These surfaces are locally editable (local control is possible)
Rational surfaces
• Similar to parametric rational curves, parametric rational surfaces
provide the designer a wider spectrum of surfaces to design using
rational polynomials.
• These surfaces include some regular surfaces like spherical or
elliptical surfaces, that were not possible with non-rational
polynomial expressions.
Rational Bezier surfaces
σ𝑚 σ𝑛
𝑖=0 𝑗=0 ℎ𝑖𝑗 𝒑𝑖𝑗 𝐵𝑖𝑚 (𝑢)𝐵𝑗𝑛 (𝑤)
𝒑 𝑢, 𝑤 = σ𝑚 σ𝑛
𝑖=0 𝑗=0 ℎ𝑖𝑗 𝐵𝑖𝑚 (𝑢)𝐵𝑗𝑛 (𝑤)

Where ℎ𝑖𝑗 are weights associated with the point 𝒑𝑖𝑗 .


Rational B-Spline surfaces
σ𝑚 σ𝑛
𝑖=0 𝑗=0 ℎ𝑖𝑗 𝒑𝑖𝑗 𝑁𝑖𝐾 (𝑢)𝑁𝑗𝐿 (𝑤)
𝒑 𝑢, 𝑤 = σ𝑚 𝑛
𝑖=0 σ𝑗=0 ℎ𝑖𝑗 𝑁𝑖𝐾 (𝑢)𝑁𝑗𝐿 (𝑤)

Where ℎ𝑖𝑗 are weights associated with the point 𝒑𝑖𝑗 .

Non-uniform rational B-spline surfaces can be


considered the most versatile tool available to
designer for creating designs and manipulating
them
Other surface design tools
• T-Spline
• Is a tool that exist only for surface and solid modelling.
• Otherwise similar to B-spline, does not have a rectangular grid of points tha
are necessary (remember pij).
• Some useful details are available at:
• https://people.eecs.berkeley.edu/~sequin/CS284/PAPERS/T-Splines_and_T-
NURCCs.ppt
Surface model: Conclusion
• Ruled surfaces
• Swept surface: Linear sweep/ Rotational Sweep.
• Bicubic surfaces
• F-Patches.
• Coons-patch.
• NURBS Surfaces
Applications
• Engineering:
• Any area that requires surface design:
• Sheet metal works.
• Body and interiors design of Automobiles/ Aircrafts.
• CNC machining: we actually machine a surface and create another surface.
• Where ever surface solid interaction is required to create a complex model.
• Core/ Cavity and Mould design in foundry works.
• Creating freeform surface of a solid model.
(it is relatively easier to create a complex surface model and interact it with a solid model to
create a complex solid model).
• Engineering:
• Solid modelling (contd).:
• Surface is an integral part of a solid, so while designing a solid , we need to construct a
surface, directly or indirectly.
• Rendering of Solid model.
• Closed surface model can be used to extract
• Simulation of various engineering processes:
• FEM / FDM process visualization.
• Applications: Engineering (Contd)
• CNC Machining:
• Surface model and surface normal definitions are used
extensively for CNC machining.
• Rapid Prototyping (Additive Manufacturing) and Rapid
Tooling
• Surface models are converted to STL file that is used for
Additive manufacturing.
• Pattern surface model is subtracted from the mould cuboid to
create the mould directly.
• Reverse Engineering
Applications (continued)_
• Other Applications:
• Surface rendering
• Texture mapping
• Movies/ Advertising
• Virtual reality and augmented virtual reality setups.
B-Spline Surfaces
• Similar to Bezier surfaces, B-Spline Surfaces are defined
as:
p(u,w)=σ𝑚 σ 𝑛
𝑖=0 𝑗=0 𝒑𝑖𝑗 𝑁𝑖𝐾 (𝑢)𝑁𝑗𝐿 (w)
• Where 𝒑𝑖𝑗 are control points of the characteristic
polyhedron.
• 𝑁𝑖𝐾 (𝑢) 𝑎𝑛𝑑 𝑁𝑗𝐿 (w) are the basis functions along u and
w.
• K and L are the order of the B-Spline surface (degree
along u is K-1 and degree along w is L-1)
• The surface will always remain within the convex hull of
the defining polyhedron.
Variations
• Similar t B-Spline curves a designer may use different types of knot
vectors:
• Uniform / non-uniform knot vectors may be used to create various surfaces.
• Open or closed surfaces can be created.
• These surfaces are locally editable (local control is possible)
Rational surfaces
• Similar to parametric rational curves, parametric rational surfaces
provide the designer a wider spectrum of surfaces to design using
rational polynomials.
• These surfaces include some regular surfaces like spherical or
elliptical surfaces, that were not possible with non-rational
polynomial expressions.
Rational Bezier surfaces
σ𝑚 σ𝑛
𝑖=0 𝑗=0 ℎ𝑖𝑗 𝒑𝑖𝑗 𝐵𝑖𝑚 (𝑢)𝐵𝑗𝑛 (𝑤)
𝒑 𝑢, 𝑤 = σ𝑚 σ𝑛
𝑖=0 𝑗=0 ℎ𝑖𝑗 𝐵𝑖𝑚 (𝑢)𝐵𝑗𝑛 (𝑤)

Where ℎ𝑖𝑗 are weights associated with the point 𝒑𝑖𝑗 .


Rational B-Spline surfaces
σ𝑚 σ𝑛
𝑖=0 𝑗=0 ℎ𝑖𝑗 𝒑𝑖𝑗 𝑁𝑖𝐾 (𝑢)𝑁𝑗𝐿 (𝑤)
𝒑 𝑢, 𝑤 = σ𝑚 𝑛
𝑖=0 σ𝑗=0 ℎ𝑖𝑗 𝑁𝑖𝐾 (𝑢)𝑁𝑗𝐿 (𝑤)

Where ℎ𝑖𝑗 are weights associated with the point 𝒑𝑖𝑗 .

Non-uniform rational B-spline surfaces can be


considered the most versatile tool available to
designer for creating designs and manipulating
them
Coon’s Patch
• Using four boundary curves, either linear or
Hermite blending is done.

p11
(u)
p01 a1(w)

p10
a0(w)

b0(u)

p00
Coon’s Patch
• Ruled surfaces can be obtained by combining any
two airs of opposite curves.
p1(u,w)=(1-w) b0(u)+wb1(u)
p2(u,w)=(1-u) a0(w)+ua1(w)
• A linear Coon’s Patch is a sum of the above two
surfaces and a correction surface p3(u,w) is
subtracted so that the boundary conditions are
met.
p(u,w)= p1(u,w)+ p2(u,w)- p3(u,w)
p11 p11
p01 b1(u) a1(w) p01
b1(u)

p10
a0(w)
p10
b0(u)
b0(u)
p00 p00
p11
p1(u,w)
a1(w)
p01 p01 p11

a0(w) p10

p10
p2(u,w)
p00 p3(u,v)
p00
Linear Coon’s Patch (Contd.)
• The boundary conditions are
p(u,0) =b0(u)=p1(u,0)+p2(u,0)-p3(u,0)
= b0(u) )+(1-u)a0(0)+ua1(0)- p3(u,0)
= b0(u) )+(1-u)p00+up10- p3(u,0)
So p3(u,0)=(1-u) p00 + up10
• p(u,1) =b1(u)=p1(u,1)+p2(u,1)-p3(u,1)
= b1(u)+(1-u) a0(1)+ua1(1)- p3(u,1)
Which gives
p3(u,1) = (1-u) a0(1)+ua1(1)
=(1-u) p01+up11
So p3(u,w) is a linear blend of two curves, p3(u,0) and p3(u,1) .
Coon’s Patch (Contd.)
• So p3(u,w) =(1-w) p3(u,0) + w p3(u,1)
=(1-w)[(1-u)p00+up10]
+w[(1-u)p01+up11]
=(1-w)(1-u) p00+u(1-w) p10
+(1-u)wp01+ uw p11

So p(u,w)=[1-u u] ao(w) + [1-w w] bo(u) -[1-u u] p00 p01  1-w)


a1(w) b1(u)  p10 p11 w 
Other surface design tools
• T-Spline
• Is a tool that exist only for surface and solid modelling.
• Otherwise similar to B-spline, does not have a rectangular grid of points tha
are necessary (remember pij).
• Some useful details are available at:
• https://people.eecs.berkeley.edu/~sequin/CS284/PAPERS/T-Splines_and_T-
NURCCs.ppt
Surface model: Conclusion
• Ruled surfaces
• Swept surface: Linear sweep/ Rotational Sweep.
• Bicubic surfaces
• F-Patches.
• Coons-patch.
• NURBS Surfaces
Applications
• Engineering:
• Any area that requires surface design:
• Sheet metal works.
• Body and interiors design of Automobiles/ Aircrafts.
• Where ever surface solid interaction is required to create a complex model.
• Core/ Cavity and Mould design in foundry works.
• Creating freeform surface of a solid model.
(it is relatively easier to create a complex surface model and interact it with a solid model to
create a complex solid model).
Applications (continued)_
• Engineering:
• Solid modelling (contd).:
• Surface is an integral part of a solid, so while designing a solid , we need to construct a
surface, directly or indirectly.
• Rendering of Solid model.
• Closed surface model can be used to extract
• Simulation of various engineering processes:
• FEM / FDM process visualization.
• Applications: Engineering (Contd)
• CNC Machining:
• Surface model and surface normal definitions are used
extensively for CNC machining.
• Rapid Prototyping (Additive Manufacturing) and Rapid
Tooling
• Surface models are converted to STL file that is used for
Additive manufacturing.
• Pattern surface model is subtracted from the mould cuboid to
create the mould directly.
• Reverse Engineering
Applications (continued)_
• Other Applications:
• Surface rendering
• Movies/ Advertising
• Virtual reality and augmented virtual reality setups.
Applications (Summary)
• Some applications:
• Sheet metal industry
• Rendering
• Machining
• Terrain mapping
• Ship hull design, Aircraft fuselage, Car bodies
• Texture, shade, illumination
L 31 ME15101 Computer Aided Design
Surface Design

A D Bhatt
Solid Modelling
• So far we have learnt about modelling curves and surfaces.
• We have seen that curves and surfaces when represented parametric
way, help us to create, manipulate, locally edit, globally edit a cut a
surface.
• As I was telling you, all our representations are 3Dimensional in
cartesian space, whether it is a curve or a surface.
How to design a solid?
• Let us explore the same strategy that we have applied to design
parametric curves and surfaces.
• And we would call it
• PARAMETRIC SOLID
Parametric Solid
Simplified example of a cuboid.
Some of our works using Hyper-patch
Acknoledgements:
Padmashri Prof. S. G. Dhande, Ex Scientific Advisor, Prime Minister of India,
EX Professsor and Director IIT Kanpur.
Dr. Ravi Warkhedkar , COEP (Pune)
Dr. Udai Pise , COEP (Pune)
Dr. Siddharth Sharma, NIT Hamirpur
Dr. Ujjawal Gupta (NUS, Singapore)
Dr. Stuti Awasthi, Bhuwneswar.
Dr. Vishal Wagholekar (Water Tech, Singapore).
Archak Goel, R&D, PARC, Paulo Alto, (CA, USA).
Kritika Joshi (Candiadte PhD)
L 32 ME15101 Computer Aided Design
Solid Modeling

A D Bhatt
Solid Modelling
• So far we have learnt about modelling curves and surfaces.
• We have seen that curves and surfaces when represented parametric
way, help us to create, manipulate, locally edit, globally edit a cut a
surface.
• As I was telling you, all our representations are 3Dimensional in
cartesian space, whether it is a curve or a surface.
How to design a solid?
• Let us explore the same strategy that we have applied to design
parametric curves and surfaces.
• And we would call it
• PARAMETRIC SOLID
Parametric Solid
Simplified example of a cuboid.
Fundamentals of Solid
Modeling
A D Bhatt
Solid Modeling
• Solid Geometric Model is
• Unambiguous
• Informationally complete
representation of the shape of the object.
• Solid Modeling is an important aspect of Geometric Modeling that is
used to create and communicate shape information.
Representations
• Hyper-patch as discussed yesterday, are too complex to
represent ‘normal, solid objects.
• Today, we will discuss the representations are based on the
notion that a physical object divides the 3- dimensional
Euclidean Space into to regions:
• Interior
• Exterior.
• Interior and exterior is separated by the object boundary.
• Boundary may be a single closed surface or a set of open
surfaces connected ‘properly’.
Closure is when an operation (such as "adding")
on members of a set (such as "real numbers")
always makes a member of the same set.
Formal Properties of representation scheme

Domain:
The domain of a representation scheme characterizes the descriptive power of the
scheme: the domain is the set of entities representable in the scheme.

Taken from: Requicha: Computingng Surveys, V. 12, No. 4, December 1980


Formal Properties of representation schene

Domain:
The domain of a representation scheme characterizes the descriptive power of the
scheme: the domain is the set of entities representable in the scheme.
Validity:
The range of the representation scheme is a set of representations which are valid.
Representational validity is of obvious importance in ensuring the integrity of
databases, in that databases should not contain symbol structures which correspond
to nonsense objects. 4 Invoking a geometric algorithm on an invalid representation
may produce a system crash, obviously suspect results, or, in the worst case, results
which appear to be credible but are in fact meaningless.

Completeness or unambiguousness
Informationally complete (for the application/applications)
The importance of completeness is best understood in the context of applications,
where one must
• Uniqueness
L 33 ME15101 Computer Aided Design
Solid Modeling

A D Bhatt
• Uniqueness
Fundamentals of Solid Modelling
• Set theory:
Set Theory
• Primitives: Simple Shapes
• To create complex shapes, set-theory may be used.
• Set
• Well defined collection of objects called elements.
• Universal Set: All elements of all the sets under consideration: W
• Null Set: Ø
• Boolean Operations: , , c, -
Set Theory (Continued)
• Euclidian Space E is a set of points defining a Euclidian Space. E1, E2,
E3
• Open Set
• Ex: {x| a<x<b} is an open set because it does not contain its limit points.
• Closed Set:
• Ex: {x| a=<x=<b} is a close set because because it contains is limit points.
Set Theory (Continued)
• Closure of an Open Set
• Closure of an open set is the union of the set with the set of all its limit points.

=

x Set of all limit points Closure of Set x


Set Theory (Continued)
• Boundary of a closed set
• Boundary of a closed set the set of all its limit points.

bX iX
X

X = bX  iX
Set Theory (Continued)
Degenerate Cases

a a
A
A B
b B b

A B (A  B)
A-B
Dimensionality is reduced
Boundary is missing
Set Theory (Continued)
• Normal Set-theoretic operations are not always
closed.

Dangling Edge
B
A

A B
• May result in objects not of the same set.
• Dangling Edges / Dangling surfaces / Boundary Missing
Set Theory (Continued)
• Any closed set A can be written as
A = bA  iA
( a closed object set is made of its boundary
and interior)
Uiversal Set W can be defined as
W= iS  bS  cS =E3 for all three
dimensional points
Set Theory (Continued)
• Geometric Closure
A set S is geometrically closed by its boundaries.
S=kS
Where ks=iS  bS
Set Theory (Continued)
• Regularized Boolean Operations
S
• A regular set is geometrically
closed.
• This is required in Geometric iS
Modeling to ensure the validity of
objects they represent and thus
eliminates nonsense objects. k(iS)

• A set is regular if and only if


kiS S
S=k (iS)
So set S is not regular
Set Theory (Continued)
• Regularized Boolean Operations
Regularized Union *, intersection *, minnus -* and
Complement c*,
P * Q=ki(P  Q),
P * Q=ki(P  Q),
P -* Q =ki(P - Q),
c* P=ki(cP ),
Set Theory (Continued)

a a i(A  B)
A
Ø
b B b

A B  B)
(A

A * B= ki(A B)= Ø

Regularized intersection *
Set Theory (Continued)
A B

-
A B
A B

-)
i(A B
ki(A B -)

Regularized intersection -* A -* B= ki(A -B


Basic Elements
y
• Half Space x
• Planar Half Space
• H={(x,y,z): z<0} z
• Cylindrical Half Space y
• H=={(x,y,z): x2+y2<R2}
• Spherical Half-space z R
• H=={(x,y,z): x2+y2 +z2<R2}
x
• Conical Half Space
• H=={(x,y,z): x2+y2 <[(tan /2)/z}2} z
• Torroidal Half Space
• H=={(x,y,z): (x2+y2 +z2- R22 – R12) 2 <4R22(R12 –z2)}
Building Operations on Half -spaces
• S=  ( Hi)n
• A object isi=1constructed as a Union of Intersection
of Half Spaces.
Half Spaces (Contd.)
• Lowest level available to represent a complex object.
• This scheme is very concise.
Disadvantages
• This representation can lead to unbounded models.
• It is cumbersome to use.

You might also like