SlideShare a Scribd company logo
1 of 33
Computer Graphics
Computer Graphics
Lecture 14
Curves and Surfaces II
Computer Graphics
10/10/2008 Lecture 5 2
Spline
• A long flexible strips of metal used by
draftspersons to lay out the surfaces of
airplanes, cars and ships
• Ducks weights attached to the splines
were used to pull the spline in different
directions
• The metal splines had second order
continuity
Computer Graphics
10/10/2008 Lecture 5 3
B-Splines (for basis splines)
• B-Splines
– Another polynomial curve for modelling curves and
surfaces
– Consists of curve segments whose polynomial
coefficients only depend on just a few control points
• Local control
– Segments joined at knots
Computer Graphics
B-splines
• The curve does not necessarily pass through
the control points
• The shape is constrained to the convex hull
made by the control points
• Uniform cubic b-splines has C2 continuity
– Higher than Hermite or Bezier curves
Computer Graphics
10/10/2008 Lecture 5
Basis Functions
knots
• We can create a long curve using many knots and B-splines
• The unweighted cubic B-Splines have been shown for clarity.
• These are weighted and summed to produce a curve of the
desired shape
t4 8 12
Computer Graphics
10/10/2008 Lecture 5 6
Generating a curve
X(t)
t
t
Opposite we see an
example of a shape to be
generated.
Here we see the curve
again with the weighted
B-Splines which
generated the required
shape.
Computer Graphics
10/10/2008 Lecture 5 7
The basic one:
Uniform Cubic B-Splines
( )
it
tttttt
xxwhere
tttfortX
i
iii
ii
ii
≤
−−−=












−
−
−−
=
=
≤≤=
−
+
3knots,:
1,,)(,)(
,
0141
0303
0363
1331
6
1
),...,(:
)(
23
3
1
T
(i)
(i)T
t
M
Q
MQt
• Cubic B-splines with uniform knot-vector is the
most commonly used form of B-splines
Computer Graphics
10/10/2008 Lecture 5 8
Cubic B-Splines
• The unweighted spline set of 10 control points, 10 splines,
14 knots, and but only 7 intervals.
• You can see why t3 to t4 is the first interval with a curve
since it is the first with all four B-Spline functions.
• t9 to t10 is the last interval
43
t86 m
m+1
0
Computer Graphics
Domain of the function
• Order k, Degree k-1
• Control points Pi (i=0,…,m)
• Knots : tj, (j=0,…, k + m)
• The domain of the function tk-1 t≦ ≦ tm+1
– Below, k = 4, m = 9, domain, t3 t≦ ≦ t10
3
t
m+1
0
Computer Graphics
10/10/2008 Lecture 5 10
Cubic Uniform B-Spline
2D example
• For each i ≥ 4 , there is a knot between Qi-1 and Qi at t = ti.
• Initial points at t3 and tm+1 are also knots. The following
illustrates an example with control points set P0 … P9:
Knot.
Control point.
Computer Graphics
10/10/2008 Lecture 5 11
Uniform Non-rational B-Splines.
• First segment Q3 is defined by point P0 through P3 over the
range t3 = 0 to t4 = 1. So m at least 3 for cubic spline.
Knot.
Control point.P1
P2
P3
P0
Q3
Computer Graphics
10/10/2008 Lecture 5 12
Uniform Non-rational B-Splines.
• Second segment Q4 is defined by point P1 through P4 over
the range t4 = 1 to t5= 2.
Knot.
Control point.
Q4
P1
P3
P4
P2
Computer Graphics
10/10/2008 Lecture 5 13
A Bspline of order k is a parametric curve composed of a linear
combination of basis B-splines Bi,n
Pi (i=0,…,m) the control points
Knots: tj, j=0,…, k + m
The B-splines can be defined by
B-Spline :
A more general definition
∑=
=
m
i
nii tBPtp
0
, )()(
)()()(
otherwise0,
ttt1,
)(
1,1
1
1,
1
,
1ii
1,
tB
tt
tt
tB
tt
tt
tB
tB
ki
iki
ki
ki
iki
i
ki
i
−+
−+
+
−
−+
+
−
−
+
−
−
=


 <≤
=
Computer Graphics
10/10/2008 Lecture 5 14
The shape of the basis functions
Bi,2 : linear basis functions
Order = 2, degree = 1
C0 continuous
http://www.ibiblio.org/e-notes/Splines/Basis.htm
Computer Graphics
10/10/2008 Lecture 5 15
The shape of the basis functions
Bi,3 : Quadratic basis functions
Order = 3, degree = 2
C1 continuous
http://www.ibiblio.org/e-notes/Splines/Basis.htm
Computer Graphics
10/10/2008 Lecture 5 16
The shape of the basis functions
Bi,4 : Cubic basis functions
Order = 4, degree = 3
C2 continuous
http://www.ibiblio.org/e-notes/Splines/Basis.htm
Computer Graphics
Uniform / non-uniform B-splines
• Uniform B-splines
– The knots are equidistant / non-equidistant
– The previous examples were uniform B-splines
• Parametric interval between knots does not
have to be equal.
Non-uniform B-splines
intervalsamet,equidistanwere,...,,, 210 mtttt
Computer Graphics
10/10/2008
Non-uniform B-splines.
• Blending functions no longer the same for each interval.
• Advantages
– Continuity at selected control points can be reduced to
C1 or lower – allows us to interpolate a control point
without side-effects.
– Can interpolate start and end points.
– Easy to add extra knots and control points.
• Good for shape modelling !
Computer Graphics
Controlling the shape of the curves
• Can control the shape through
– Control points
• Overlapping the control points to make it pass
through a specific point
– Knots
• Changing the continuity by increasing the
multiplicity at some knot (non-uniform bsplines)
Computer Graphics
10/10/2008 Lecture 5 20
Controlling the shape through
control points
First knot shown with 4
control points, and their
convex hull.
P1
P2P0
P3
Computer Graphics
10/10/2008 Lecture 5 21
Controlling the shape through
control points
First two curve segments
shown with their respective
convex hulls.
Centre Knot must lie in the
intersection of the 2 convex
hulls.
P1
P2P0
P4
P3
Computer Graphics
10/10/2008 Lecture 5 22
Repeated control point.
First two curve segments
shown with their respective
convex hulls.
The curve is forced to lie on
the line that joins the 2
convex hulls.
P1=P2
P0
P3
P4
Computer Graphics
10/10/2008 Lecture 5 23
Triple control point.
First two curve segments
shown with their respective
convex hulls.
Both convex hulls collapse
to straight lines – all the
curve must lie on these lines.
P1=P2=P3
P0
P4
Computer Graphics
10/10/2008 Lecture 5 24
Controlling the shape through knots
• Smoothness increases with order k in Bi,k
– Quadratic, k = 3, gives up to C1 continuity.
– Cubic, k = 4 gives up to C2 continuity.
• However, we can lower continuity order too with Multiple
Knots, ie. ti = ti+1= ti+2 = … Knots are coincident and so
now we have non-uniform knot intervals.
• A knot with multiplicity p is continuous to the
(k-1-p)th derivative.
• A knot with multiplicity k has no continuity at all, i.e. the
curve is broken at that knot.
)()()(
otherwise0,
ttt1,
)(
1,1
1
1,
1
,
1ii
1,
tB
tt
tt
tB
tt
tt
tB
tB
ki
iki
ki
ki
iki
i
ki
i
−+
−+
+
−
−+
+
−
−
+
−
−
=


 <≤
=
Computer Graphics
B-Splines at multiple knots
• Cubic B-spline
• Multiplicities are indicated
Computer Graphics
Knot multiplicity
• Consider the uniform cubic (n=4) B-spline curve,
t={0,1, … ,13}, m=9 , n=4, 7 segments
Computer Graphics Knot multiplicity
• Double knot at 5,
• knot ={0,1,2,3,4,5,5,6,7,8,9,10,11,12}
• 6 segments, continuity = 1
Computer Graphics Knot multiplicity
• Triple knot at 5
• knot={0,1,2,3,4
,5,5,5,6,7,8,9,1
0,11}
• 5 segments
Computer Graphics
Knot multiplicity
• Quadruple knot at 5
• 4 segments
Computer Graphics
10/10/2008 Lecture 5 30
Summary of B-Splines.
• Functions that can be manipulated by a series of control
points with C2 continuity and local control.
• Don’t pass through their control points, although can be
forced.
• Uniform
– Knots are equally spaced in t.
• Non-Uniform
– Knots are unequally spaced
– Allows addition of extra control points anywhere in the set.
Computer Graphics
10/10/2008 Lecture 5 31
Summary cont.
• Do not have to worry about the continuity
at the join points
• For interactive curve modelling
– B-Splines are very good.
Computer Graphics
2nd
Practical
• Use OpenGL to draw the teapot
• You must extend your code in the first
assignment
• Bonus marks for making it nice
– Bump mapping
– Texture mapping
– Or whatever
Deadline : 10th
December
Computer Graphics
10/10/2008 Lecture 5 33
Reading for this lecture
• Foley at al., Chapter 11, sections 11.2.3,
11.2.4, 11.2.9, 11.2.10, 11.3 and 11.5.
• Introductory text, Chapter 9, sections 9.2.4,
9.2.5, 9.2.7, 9.2.8 and 9.3.
.

More Related Content

What's hot

Bezeir curve na B spline Curve
Bezeir curve na B spline CurveBezeir curve na B spline Curve
Bezeir curve na B spline CurvePooja Dixit
 
Bezier Curve and Spline Curve
Bezier Curve and Spline CurveBezier Curve and Spline Curve
Bezier Curve and Spline CurveAsifShahariar1
 
Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation Google
 
Curve modeling-bezier-curves
Curve modeling-bezier-curvesCurve modeling-bezier-curves
Curve modeling-bezier-curvesMahmudul Hasan
 
Hermit curves &amp; beizer curves
Hermit curves &amp; beizer curvesHermit curves &amp; beizer curves
Hermit curves &amp; beizer curvesKKARUNKARTHIK
 
Bezier curve
Bezier curveBezier curve
Bezier curveamiyadash
 
Unit 2 curves &amp; surfaces
Unit 2  curves &amp; surfacesUnit 2  curves &amp; surfaces
Unit 2 curves &amp; surfacesS.DHARANI KUMAR
 
Synthetic surfaces
Synthetic surfaces Synthetic surfaces
Synthetic surfaces jntuhcej
 
Curves wire frame modelling
Curves wire frame modellingCurves wire frame modelling
Curves wire frame modellingjntuhcej
 
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )ravis205084
 
Geometric modeling
Geometric modelingGeometric modeling
Geometric modelingRahul Yadav
 
Quadric surfaces
Quadric surfacesQuadric surfaces
Quadric surfacesAnkur Kumar
 
Synthetic curve
Synthetic curveSynthetic curve
Synthetic curveDhruv Shah
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modelingmanojg1990
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingJavith Saleem
 

What's hot (20)

Bezeir curve na B spline Curve
Bezeir curve na B spline CurveBezeir curve na B spline Curve
Bezeir curve na B spline Curve
 
Bezier Curve and Spline Curve
Bezier Curve and Spline CurveBezier Curve and Spline Curve
Bezier Curve and Spline Curve
 
Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation Bazier curve Algorithom for Computer Gramphics prsentation
Bazier curve Algorithom for Computer Gramphics prsentation
 
Curve modeling-bezier-curves
Curve modeling-bezier-curvesCurve modeling-bezier-curves
Curve modeling-bezier-curves
 
Curves
CurvesCurves
Curves
 
Hermit curves &amp; beizer curves
Hermit curves &amp; beizer curvesHermit curves &amp; beizer curves
Hermit curves &amp; beizer curves
 
Bezier curve
Bezier curveBezier curve
Bezier curve
 
Unit 2 curves &amp; surfaces
Unit 2  curves &amp; surfacesUnit 2  curves &amp; surfaces
Unit 2 curves &amp; surfaces
 
Curves
CurvesCurves
Curves
 
Synthetic surfaces
Synthetic surfaces Synthetic surfaces
Synthetic surfaces
 
Curves wire frame modelling
Curves wire frame modellingCurves wire frame modelling
Curves wire frame modelling
 
Curves
CurvesCurves
Curves
 
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
UNIT II GEOMETRIC MODELING (COMPUTER AIDED DESIGN AND MANUFACTURING )
 
Geometric model & curve
Geometric model & curveGeometric model & curve
Geometric model & curve
 
Geometric modeling
Geometric modelingGeometric modeling
Geometric modeling
 
Curves and Surfaces
Curves and SurfacesCurves and Surfaces
Curves and Surfaces
 
Quadric surfaces
Quadric surfacesQuadric surfaces
Quadric surfaces
 
Synthetic curve
Synthetic curveSynthetic curve
Synthetic curve
 
57892883 geometric-modeling
57892883 geometric-modeling57892883 geometric-modeling
57892883 geometric-modeling
 
ME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modelingME6501 Unit 2 geometric modeling
ME6501 Unit 2 geometric modeling
 

Similar to Lect14

5_6221983039971394498.pptx
5_6221983039971394498.pptx5_6221983039971394498.pptx
5_6221983039971394498.pptxNachiketKadlag1
 
UNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxUNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxdinesh babu
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)Priscilla CPG
 
Direct-Design-Method1.pdf
Direct-Design-Method1.pdfDirect-Design-Method1.pdf
Direct-Design-Method1.pdfWifin1
 
Techniques for Geometric Modelling
Techniques for Geometric ModellingTechniques for Geometric Modelling
Techniques for Geometric ModellingNafis Ahmad
 
WEEK 4- DLD-GateLvelMinimization.pptx
WEEK 4- DLD-GateLvelMinimization.pptxWEEK 4- DLD-GateLvelMinimization.pptx
WEEK 4- DLD-GateLvelMinimization.pptxTaoqeerRajput
 
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Hemant Jha
 
Image representation
Image representationImage representation
Image representationRahul Dadwal
 
3D Curve Project
3D Curve Project3D Curve Project
3D Curve Projectgraphitech
 
Linear Block code.pdf
Linear Block code.pdfLinear Block code.pdf
Linear Block code.pdfSuryaRamVM
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programminghodcsencet
 
Double Patterning (4/2 update)
Double Patterning (4/2 update)Double Patterning (4/2 update)
Double Patterning (4/2 update)Danny Luk
 

Similar to Lect14 (20)

5_6221983039971394498.pptx
5_6221983039971394498.pptx5_6221983039971394498.pptx
5_6221983039971394498.pptx
 
UNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptxUNIT 2-Geometric Modeling.pptx
UNIT 2-Geometric Modeling.pptx
 
CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)CAD - UNIT 2 (Geometric Modelling)
CAD - UNIT 2 (Geometric Modelling)
 
Two way slab
Two way slabTwo way slab
Two way slab
 
Cryptography
CryptographyCryptography
Cryptography
 
object 3d(2)
object 3d(2)object 3d(2)
object 3d(2)
 
07object3d 1
07object3d 107object3d 1
07object3d 1
 
Direct-Design-Method1.pdf
Direct-Design-Method1.pdfDirect-Design-Method1.pdf
Direct-Design-Method1.pdf
 
Introduction to the curves
Introduction to the curvesIntroduction to the curves
Introduction to the curves
 
Techniques for Geometric Modelling
Techniques for Geometric ModellingTechniques for Geometric Modelling
Techniques for Geometric Modelling
 
WEEK 4- DLD-GateLvelMinimization.pptx
WEEK 4- DLD-GateLvelMinimization.pptxWEEK 4- DLD-GateLvelMinimization.pptx
WEEK 4- DLD-GateLvelMinimization.pptx
 
Cpmprt
CpmprtCpmprt
Cpmprt
 
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
Vlsiphysicaldesignautomationonpartitioning 120219012744-phpapp01
 
Image representation
Image representationImage representation
Image representation
 
3D Curve Project
3D Curve Project3D Curve Project
3D Curve Project
 
Elhabian_curves10.pdf
Elhabian_curves10.pdfElhabian_curves10.pdf
Elhabian_curves10.pdf
 
Linear Block code.pdf
Linear Block code.pdfLinear Block code.pdf
Linear Block code.pdf
 
september18.ppt
september18.pptseptember18.ppt
september18.ppt
 
unit-4-dynamic programming
unit-4-dynamic programmingunit-4-dynamic programming
unit-4-dynamic programming
 
Double Patterning (4/2 update)
Double Patterning (4/2 update)Double Patterning (4/2 update)
Double Patterning (4/2 update)
 

More from aa11bb11

Mathematical elements-for-computer-graphics-1
Mathematical elements-for-computer-graphics-1Mathematical elements-for-computer-graphics-1
Mathematical elements-for-computer-graphics-1aa11bb11
 
Lecture03 p1
Lecture03 p1Lecture03 p1
Lecture03 p1aa11bb11
 
Java assgn
Java assgnJava assgn
Java assgnaa11bb11
 
Graphics assgnmnt
Graphics assgnmntGraphics assgnmnt
Graphics assgnmntaa11bb11
 
Graphics pdf
Graphics pdfGraphics pdf
Graphics pdfaa11bb11
 
Graphics devices
Graphics devicesGraphics devices
Graphics devicesaa11bb11
 
Course plan computer graphics lab
Course plan computer graphics labCourse plan computer graphics lab
Course plan computer graphics labaa11bb11
 
Course plan computer graphics
Course plan computer graphicsCourse plan computer graphics
Course plan computer graphicsaa11bb11
 
Bresenham circlesandpolygons
Bresenham circlesandpolygonsBresenham circlesandpolygons
Bresenham circlesandpolygonsaa11bb11
 

More from aa11bb11 (11)

Mathematical elements-for-computer-graphics-1
Mathematical elements-for-computer-graphics-1Mathematical elements-for-computer-graphics-1
Mathematical elements-for-computer-graphics-1
 
Lecture03 p1
Lecture03 p1Lecture03 p1
Lecture03 p1
 
Java assgn
Java assgnJava assgn
Java assgn
 
Graphics assgnmnt
Graphics assgnmntGraphics assgnmnt
Graphics assgnmnt
 
Graphics pdf
Graphics pdfGraphics pdf
Graphics pdf
 
Graphics devices
Graphics devicesGraphics devices
Graphics devices
 
Course plan computer graphics lab
Course plan computer graphics labCourse plan computer graphics lab
Course plan computer graphics lab
 
Course plan computer graphics
Course plan computer graphicsCourse plan computer graphics
Course plan computer graphics
 
Code
CodeCode
Code
 
B spline
B splineB spline
B spline
 
Bresenham circlesandpolygons
Bresenham circlesandpolygonsBresenham circlesandpolygons
Bresenham circlesandpolygons
 

Lect14

  • 2. Computer Graphics 10/10/2008 Lecture 5 2 Spline • A long flexible strips of metal used by draftspersons to lay out the surfaces of airplanes, cars and ships • Ducks weights attached to the splines were used to pull the spline in different directions • The metal splines had second order continuity
  • 3. Computer Graphics 10/10/2008 Lecture 5 3 B-Splines (for basis splines) • B-Splines – Another polynomial curve for modelling curves and surfaces – Consists of curve segments whose polynomial coefficients only depend on just a few control points • Local control – Segments joined at knots
  • 4. Computer Graphics B-splines • The curve does not necessarily pass through the control points • The shape is constrained to the convex hull made by the control points • Uniform cubic b-splines has C2 continuity – Higher than Hermite or Bezier curves
  • 5. Computer Graphics 10/10/2008 Lecture 5 Basis Functions knots • We can create a long curve using many knots and B-splines • The unweighted cubic B-Splines have been shown for clarity. • These are weighted and summed to produce a curve of the desired shape t4 8 12
  • 6. Computer Graphics 10/10/2008 Lecture 5 6 Generating a curve X(t) t t Opposite we see an example of a shape to be generated. Here we see the curve again with the weighted B-Splines which generated the required shape.
  • 7. Computer Graphics 10/10/2008 Lecture 5 7 The basic one: Uniform Cubic B-Splines ( ) it tttttt xxwhere tttfortX i iii ii ii ≤ −−−=             − − −− = = ≤≤= − + 3knots,: 1,,)(,)( , 0141 0303 0363 1331 6 1 ),...,(: )( 23 3 1 T (i) (i)T t M Q MQt • Cubic B-splines with uniform knot-vector is the most commonly used form of B-splines
  • 8. Computer Graphics 10/10/2008 Lecture 5 8 Cubic B-Splines • The unweighted spline set of 10 control points, 10 splines, 14 knots, and but only 7 intervals. • You can see why t3 to t4 is the first interval with a curve since it is the first with all four B-Spline functions. • t9 to t10 is the last interval 43 t86 m m+1 0
  • 9. Computer Graphics Domain of the function • Order k, Degree k-1 • Control points Pi (i=0,…,m) • Knots : tj, (j=0,…, k + m) • The domain of the function tk-1 t≦ ≦ tm+1 – Below, k = 4, m = 9, domain, t3 t≦ ≦ t10 3 t m+1 0
  • 10. Computer Graphics 10/10/2008 Lecture 5 10 Cubic Uniform B-Spline 2D example • For each i ≥ 4 , there is a knot between Qi-1 and Qi at t = ti. • Initial points at t3 and tm+1 are also knots. The following illustrates an example with control points set P0 … P9: Knot. Control point.
  • 11. Computer Graphics 10/10/2008 Lecture 5 11 Uniform Non-rational B-Splines. • First segment Q3 is defined by point P0 through P3 over the range t3 = 0 to t4 = 1. So m at least 3 for cubic spline. Knot. Control point.P1 P2 P3 P0 Q3
  • 12. Computer Graphics 10/10/2008 Lecture 5 12 Uniform Non-rational B-Splines. • Second segment Q4 is defined by point P1 through P4 over the range t4 = 1 to t5= 2. Knot. Control point. Q4 P1 P3 P4 P2
  • 13. Computer Graphics 10/10/2008 Lecture 5 13 A Bspline of order k is a parametric curve composed of a linear combination of basis B-splines Bi,n Pi (i=0,…,m) the control points Knots: tj, j=0,…, k + m The B-splines can be defined by B-Spline : A more general definition ∑= = m i nii tBPtp 0 , )()( )()()( otherwise0, ttt1, )( 1,1 1 1, 1 , 1ii 1, tB tt tt tB tt tt tB tB ki iki ki ki iki i ki i −+ −+ + − −+ + − − + − − =    <≤ =
  • 14. Computer Graphics 10/10/2008 Lecture 5 14 The shape of the basis functions Bi,2 : linear basis functions Order = 2, degree = 1 C0 continuous http://www.ibiblio.org/e-notes/Splines/Basis.htm
  • 15. Computer Graphics 10/10/2008 Lecture 5 15 The shape of the basis functions Bi,3 : Quadratic basis functions Order = 3, degree = 2 C1 continuous http://www.ibiblio.org/e-notes/Splines/Basis.htm
  • 16. Computer Graphics 10/10/2008 Lecture 5 16 The shape of the basis functions Bi,4 : Cubic basis functions Order = 4, degree = 3 C2 continuous http://www.ibiblio.org/e-notes/Splines/Basis.htm
  • 17. Computer Graphics Uniform / non-uniform B-splines • Uniform B-splines – The knots are equidistant / non-equidistant – The previous examples were uniform B-splines • Parametric interval between knots does not have to be equal. Non-uniform B-splines intervalsamet,equidistanwere,...,,, 210 mtttt
  • 18. Computer Graphics 10/10/2008 Non-uniform B-splines. • Blending functions no longer the same for each interval. • Advantages – Continuity at selected control points can be reduced to C1 or lower – allows us to interpolate a control point without side-effects. – Can interpolate start and end points. – Easy to add extra knots and control points. • Good for shape modelling !
  • 19. Computer Graphics Controlling the shape of the curves • Can control the shape through – Control points • Overlapping the control points to make it pass through a specific point – Knots • Changing the continuity by increasing the multiplicity at some knot (non-uniform bsplines)
  • 20. Computer Graphics 10/10/2008 Lecture 5 20 Controlling the shape through control points First knot shown with 4 control points, and their convex hull. P1 P2P0 P3
  • 21. Computer Graphics 10/10/2008 Lecture 5 21 Controlling the shape through control points First two curve segments shown with their respective convex hulls. Centre Knot must lie in the intersection of the 2 convex hulls. P1 P2P0 P4 P3
  • 22. Computer Graphics 10/10/2008 Lecture 5 22 Repeated control point. First two curve segments shown with their respective convex hulls. The curve is forced to lie on the line that joins the 2 convex hulls. P1=P2 P0 P3 P4
  • 23. Computer Graphics 10/10/2008 Lecture 5 23 Triple control point. First two curve segments shown with their respective convex hulls. Both convex hulls collapse to straight lines – all the curve must lie on these lines. P1=P2=P3 P0 P4
  • 24. Computer Graphics 10/10/2008 Lecture 5 24 Controlling the shape through knots • Smoothness increases with order k in Bi,k – Quadratic, k = 3, gives up to C1 continuity. – Cubic, k = 4 gives up to C2 continuity. • However, we can lower continuity order too with Multiple Knots, ie. ti = ti+1= ti+2 = … Knots are coincident and so now we have non-uniform knot intervals. • A knot with multiplicity p is continuous to the (k-1-p)th derivative. • A knot with multiplicity k has no continuity at all, i.e. the curve is broken at that knot. )()()( otherwise0, ttt1, )( 1,1 1 1, 1 , 1ii 1, tB tt tt tB tt tt tB tB ki iki ki ki iki i ki i −+ −+ + − −+ + − − + − − =    <≤ =
  • 25. Computer Graphics B-Splines at multiple knots • Cubic B-spline • Multiplicities are indicated
  • 26. Computer Graphics Knot multiplicity • Consider the uniform cubic (n=4) B-spline curve, t={0,1, … ,13}, m=9 , n=4, 7 segments
  • 27. Computer Graphics Knot multiplicity • Double knot at 5, • knot ={0,1,2,3,4,5,5,6,7,8,9,10,11,12} • 6 segments, continuity = 1
  • 28. Computer Graphics Knot multiplicity • Triple knot at 5 • knot={0,1,2,3,4 ,5,5,5,6,7,8,9,1 0,11} • 5 segments
  • 29. Computer Graphics Knot multiplicity • Quadruple knot at 5 • 4 segments
  • 30. Computer Graphics 10/10/2008 Lecture 5 30 Summary of B-Splines. • Functions that can be manipulated by a series of control points with C2 continuity and local control. • Don’t pass through their control points, although can be forced. • Uniform – Knots are equally spaced in t. • Non-Uniform – Knots are unequally spaced – Allows addition of extra control points anywhere in the set.
  • 31. Computer Graphics 10/10/2008 Lecture 5 31 Summary cont. • Do not have to worry about the continuity at the join points • For interactive curve modelling – B-Splines are very good.
  • 32. Computer Graphics 2nd Practical • Use OpenGL to draw the teapot • You must extend your code in the first assignment • Bonus marks for making it nice – Bump mapping – Texture mapping – Or whatever Deadline : 10th December
  • 33. Computer Graphics 10/10/2008 Lecture 5 33 Reading for this lecture • Foley at al., Chapter 11, sections 11.2.3, 11.2.4, 11.2.9, 11.2.10, 11.3 and 11.5. • Introductory text, Chapter 9, sections 9.2.4, 9.2.5, 9.2.7, 9.2.8 and 9.3. .