1 Dr. Scott Schaefer The Bernstein Basis and Bezier Curves.

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
Lecture 10 Curves and Surfaces I
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
09/25/02 Dinesh Manocha, COMP258 Triangular Bezier Patches Natural generalization to Bezier curves Triangles are a simplex: Any polygon can be decomposed.
Cubic Curves CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
Jehee Lee Seoul National University
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Slide 127 October 1999CS Computer Graphics (Top Changwatchai) Review of Spline Concepts Sections 10-6 to in Hearn & Baker Splines can be 2D.
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
AN INTRODUCTION BEZIER CURVES. AN INTRODUCTION BEZIER CURVES Bezier was an engineer with the Renault car company and set out in the early 1960's to develop.
Splines II – Interpolating Curves
Curves Chiew-Lan Tai.
CS CS 175 – Week 9 B-Splines Definition, Algorithms.
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
CS CS 175 – Week 8 Bézier Curves Definition, Algorithms.
1 Dr. Scott Schaefer Curves and Interpolation. 2/61 Smooth Curves How do we create smooth curves?
Modeling of curves Needs a ways of representing curves: Reproducible - the representation should give the same curve every time; Computationally Quick;
09/09/02 Dinesh Manocha, COMP258 Properties of Bezier Curves Invariance under affine parameter transformation P i B i,n (u) = P i B i,n ((u –a)/(b-a))
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
1 Dr. Scott Schaefer Tensor-Product Surfaces. 2/64 Smooth Surfaces Lagrange Surfaces  Interpolating sets of curves Bezier Surfaces B-spline Surfaces.
Cubic Bezier and B-Spline Curves
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Modelling: Curves Week 11, Wed Mar 23
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
COEN Computer Graphics I
Splines III – Bézier Curves
Curve Modeling Bézier Curves
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
19/13/ :20 UML Graphics II Parametric Curves and Surfaces Session 3.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
V. Space Curves Types of curves Explicit Implicit Parametric.
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
1 Dr. Scott Schaefer Blossoming and B-splines. 2/105 Blossoms/Polar Forms A blossom b(t 1,t 2,…,t n ) of a polynomial p(t) is a multivariate function.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Keyframing and Splines Jehee Lee Seoul National University.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
Announcements Saturday, September 29 at 9:30 in Cummings 308: Botanical Illustration: The Marriage of Art and Science by Wendy Hollender Wednesday class.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
Slide 129 October 1999CS Computer Graphics (Top Changwatchai) Bézier Curves - Results of Derivation Tangents at endpoints are equal to endpoint slopes.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
Representation of Curves & Surfaces
Bezier Triangles and Multi-Sided Patches
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
Rendering Curves and Surfaces
© University of Wisconsin, CS559 Spring 2004
The Bernstein Basis and Bezier Curves
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
Curve design 455.
Parametric Line equations
UNIT-5 Curves and Surfaces.
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

1 Dr. Scott Schaefer The Bernstein Basis and Bezier Curves

2/108 Problems with Interpolation

3/108 Problems with Interpolation

4/108 Bezier Curves Polynomial curves that seek to approximate rather than to interpolate

5/108 Bernstein Polynomials Degree 1: (1-t), t Degree 2: (1-t) 2, 2(1-t)t, t 2 Degree 3: (1-t) 3, 3(1-t) 2 t, 3(1-t)t 2, t 3

6/108 Bernstein Polynomials Degree 1: (1-t), t Degree 2: (1-t) 2, 2(1-t)t, t 2 Degree 3: (1-t) 3, 3(1-t) 2 t, 3(1-t)t 2, t 3 Degree 4: (1-t) 4, 4(1-t) 3 t, 6(1-t) 2 t 2, 4(1-t)t 3,t 4

7/108 Bernstein Polynomials Degree 1: (1-t), t Degree 2: (1-t) 2, 2(1-t)t, t 2 Degree 3: (1-t) 3, 3(1-t) 2 t, 3(1-t)t 2, t 3 Degree 4: (1-t) 4, 4(1-t) 3 t, 6(1-t) 2 t 2, 4(1-t)t 3,t 4 Degree 5: (1-t) 5, 5(1-t) 4 t, 10(1-t) 3 t 2, 10(1-t) 2 t 3,5(1-t)t 4,t 5 … Degree n: for

8/108 Properties of Bernstein Polynomials

9/108 Properties of Bernstein Polynomials

10/108 Properties of Bernstein Polynomials

11/108 Properties of Bernstein Polynomials Binomial Theorem:

12/108 Properties of Bernstein Polynomials Binomial Theorem:

13/108 Properties of Bernstein Polynomials Binomial Theorem:

14/108 Properties of Bernstein Polynomials Binomial Theorem:

15/108 Properties of Bernstein Polynomials

16/108 Properties of Bernstein Polynomials

17/108 Properties of Bernstein Polynomials

18/108 Properties of Bernstein Polynomials

19/108 More Properties of Bernstein Polynomials

20/108 More Properties of Bernstein Polynomials

21/108 More Properties of Bernstein Polynomials

22/108 More Properties of Bernstein Polynomials

23/108 Properties of Bernstein Polynomials

24/108 Properties of Bernstein Polynomials Base case:

25/108 Properties of Bernstein Polynomials Base case:

26/108 Properties of Bernstein Polynomials Base case: Inductive Step: Assume

27/108 Properties of Bernstein Polynomials Base case: Inductive Step: Assume

28/108 Properties of Bernstein Polynomials Base case: Inductive Step: Assume

29/108 Properties of Bernstein Polynomials Base case: Inductive Step: Assume

30/108 Bezier Curves

31/108 Bezier Curves

32/108 Bezier Curves

33/108 Bezier Curve Properties Interpolate end-points

34/108 Bezier Curve Properties Interpolate end-points

35/108 Bezier Curve Properties Interpolate end-points

36/108 Bezier Curve Properties Interpolate end-points

37/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge

38/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge

39/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge

40/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge

41/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge

42/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge Another Bezier curve of vectors!!!

43/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge

44/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge Curve lies within the convex hull of the control points

45/108 Bezier Curve Properties Interpolate end-points Tangent at end-points in direction of first/last edge Curve lies within the convex hull of the control points Bezier Lagrange

46/108 Matrix Form of Bezier Curves

47/108 Matrix Form of Bezier Curves

48/108 Matrix Form of Bezier Curves

49/108 Matrix Form of Bezier Curves

50/108 Matrix Form of Bezier Curves Computation in monomial basis is unstable!!! Most proofs/computations are easier in Bernstein basis!!!

51/108 Change of Basis Bezier coefficients

52/108 Change of Basis Coefficients in monomial basis!!! Bezier coefficients

53/108 Change of Basis

54/108 Change of Basis

55/108 Change of Basis

56/108 Change of Basis

57/108 Change of Basis monomial coefficients

58/108 Change of Basis monomial coefficients Coefficients in Bezier basis!!!

59/108 Degree Elevation Power basis is trivial: add 0 t n+1 What about Bezier basis?

60/108 Degree Elevation

61/108 Degree Elevation

62/108 Degree Elevation

63/108 Degree Elevation

64/108 Degree Elevation

65/108 Degree Elevation

66/108 Degree Elevation

67/108 Degree Elevation

68/108 Degree Elevation

69/108 Degree Elevation

70/108 Degree Elevation

71/108 Pyramid Algorithms for Bezier Curves Polynomials aren’t pretty Is there an easier way to evaluate the equation of a Bezier curve?

72/108 Pyramid Algorithms for Bezier Curves

73/108 Pyramid Algorithms for Bezier Curves

74/108 Pyramid Algorithms for Bezier Curves

75/108 Pyramid Algorithms for Derivatives of Bezier Curves Take derivative of any level of pyramid!!! (up to constant multiple)

76/108 Pyramid Algorithms for Derivatives of Bezier Curves Take derivative of any level of pyramid!!! (up to constant multiple)

77/108 Subdividing Bezier Curves Given a single Bezier curve, construct two smaller Bezier curves whose union is exactly the original curve

78/108 Subdividing Bezier Curves Given a single Bezier curve, construct two smaller Bezier curves whose union is exactly the original curve

79/108 Subdividing Bezier Curves Given a single Bezier curve, construct two smaller Bezier curves whose union is exactly the original curve

80/108 Subdividing Bezier Curves Given a single Bezier curve, construct two smaller Bezier curves whose union is exactly the original curve

81/108 Subdividing Bezier Curves Given a single Bezier curve, construct two smaller Bezier curves whose union is exactly the original curve

82/108 Subdividing Bezier Curves Control points for left curve!!!

83/108 Subdividing Bezier Curves Control points for right curve!!!

84/108 Subdividing Bezier Curves

85/108 Variation Diminishing Intuitively means that the curve “wiggles” no more than its control polygon

86/108 Variation Diminishing Intuitively means that the curve “wiggles” no more than its control polygon Lagrange Interpolation

87/108 Variation Diminishing Intuitively means that the curve “wiggles” no more than its control polygon Bezier Curve

88/108 Variation Diminishing For any line, the number of intersections with the control polygon is greater than or equal to the number of intersections with the curve Bezier Curve

89/108 Variation Diminishing For any line, the number of intersections with the control polygon is greater than or equal to the number of intersections with the curve Bezier Curve

90/108 Variation Diminishing For any line, the number of intersections with the control polygon is greater than or equal to the number of intersections with the curve Bezier Curve

91/108 Variation Diminishing For any line, the number of intersections with the control polygon is greater than or equal to the number of intersections with the curve Bezier Curve

92/108 Variation Diminishing For any line, the number of intersections with the control polygon is greater than or equal to the number of intersections with the curve Bezier Curve

93/108 Variation Diminishing For any line, the number of intersections with the control polygon is greater than or equal to the number of intersections with the curve Lagrange Interpolation

94/108 Applications: Intersection Given two Bezier curves, determine if and where they intersect

95/108 Applications: Intersection Check if convex hulls intersect If not, return no intersection If both convex hulls can be approximated with a straight line, intersect lines and return intersection Otherwise subdivide and recur on subdivided pieces

96/108 Applications: Intersection

97/108 Applications: Intersection

98/108 Applications: Intersection

99/108 Applications: Intersection

100/108 Applications: Intersection

101/108 Applications: Intersection

102/108 Applications: Intersection

103/108 Applications: Intersection

104/108 Applications: Intersection

105/108 Applications: Intersection

106/108 Applications: Intersection

107/108 Application: Font Rendering

108/108 Application: Font Rendering