Dr' Scott Schaefer - PowerPoint PPT Presentation

1 / 105
About This Presentation
Title:

Dr' Scott Schaefer

Description:

A blossom b(t1,t2,...,tn) of a polynomial p(t) is a multivariate function with ... Blossoms ... Homogeneous blossom evaluated at (t,1) and (1,0) yields ... – PowerPoint PPT presentation

Number of Views:84
Avg rating:3.0/5.0
Slides: 106
Provided by: symo5
Category:

less

Transcript and Presenter's Notes

Title: Dr' Scott Schaefer


1
Blossoming and B-splines
  • Dr. Scott Schaefer

2
Blossoms/Polar Forms
  • A blossom b(t1,t2,,tn) of a polynomial p(t) is a
    multivariate function with the properties
  • Symmetry
  • b(t1,t2,,tn) b(tm(1),tm(2),,tm(n)) for any
    permutation m of (1,2,,n)
  • Multi-affine
  • b(t1,t2,,(1-u)tku wk,,tn)
  • (1-u)b(t1,t2,,tk,,tn) u b(t1,t2,,wk,,tn)
  • Diagonal
  • b(t,t,,t) p(t)

3
Blossoms/Polar Forms
  • A blossom b(t1,t2,,tn) of a polynomial p(t) is a
    multivariate function with the properties
  • Symmetry
  • b(t1,t2,,tn) b(tm(1),tm(2),,tm(n)) for any
    permutation m of (1,2,,n)
  • Multi-affine
  • b(t1,t2,,(1-u)tku wk,,tn)
  • (1-u)b(t1,t2,,tk,,tn) u b(t1,t2,,wk,,tn)
  • Diagonal
  • b(t,t,,t) p(t)

The blossom always exists and is unique!!!
4
Examples of Blossoms

5
Examples of Blossoms

6
Examples of Blossoms

7
Examples of Blossoms

8
Examples of Blossoms

9
Examples of Blossoms

10
Examples of Blossoms

11
Examples of Blossoms

12
Examples of Blossoms

13
Examples of Blossoms

14
Examples of Blossoms

15
Examples of Blossoms

16
Examples of Blossoms

17
Examples of Blossoms

18
Blossoms/Polar Forms
  • Symmetry b(t1,,tn) b(tm(1),,tm(n))
  • Multi-affine b(t1,,(1-u)tku wk,,tn)
  • (1-u)b(t1,,tk,,tn) u b(t1,,wk,,tn)
  • Diagonal b(t,,t) p(t)

19
Pyramid Algorithms forBezier Curves
20
Pyramid Algorithms forBezier Curves
21
Pyramid Algorithms forBezier Curves
Bezier curve
Bezier control points
22
Subdivision Using Blossoming
Control points of left Bezier curve!
23
Subdivision Using Blossoming
Control points of right Bezier curve!
24
Change of Basis Using Blossoming
  • Given a polynomial p(t) of degree n, find the
    coefficients of the same Bezier curve

25
Change of Basis Using Blossoming
  • Given a polynomial p(t) of degree n, find the
    coefficients of the same Bezier curve

26
Change of Basis Using Blossoming
  • Example Find Bezier coefficients of
    p(t)12t3t2-t3

Old Method
27
Change of Basis Using Blossoming
  • Example Find Bezier coefficients of
    p(t)12t3t2-t3

New Method
28
Degree Elevation
29
Degree Elevation Using Blossoming
30
Degree Elevation Using Blossoming
  • Symmetry is symmetric
  • Multi-affine is multi-affine
  • Diagonal

31
Degree Elevation Using Blossoming
32
Homogeneous Polynomials and Blossoming
  • Polynomial
  • Homogeneous Polynomial

33
The Homogeneous Blossom
  • Homogenize each parameter of the blossom
    independently

34
The Homogeneous Blossom
  • Homogenize each parameter of the blossom
    independently

35
The Homogeneous Blossom
  • Homogenize each parameter of the blossom
    independently

homogenized combinations
36
The Homogeneous Blossom
  • Homogenize each parameter of the blossom
    independently

37
The Homogeneous Blossom
  • Homogenize each parameter of the blossom
    independently

38
Homogeneous deCasteljau Algorithm
Really b((0,1),(0,1),(1,1))
39
Homogeneous deCasteljau Algorithm
40
Homogeneous deCasteljau Algorithm
41
Homogeneous deCasteljau Algorithm
Homogeneous blossom evaluated at (t,1) and (1,0)
yields derivatives!!!
42
Homogeneous Blossoms and Derivatives
43
Problems with Bezier Curves
  • More control points means higher degree
  • Moving one control point affects the entire curve

44
Problems with Bezier Curves
  • More control points means higher degree
  • Moving one control point affects the entire curve

45
Problems with Bezier Curves
  • More control points means higher degree
  • Moving one control point affects the entire curve

Solution Use lots of Bezier curves and maintain
Ck continuity!!!
46
Problems with Bezier Curves
  • More control points means higher degree
  • Moving one control point affects the entire curve

Solution Use lots of Bezier curves and maintain
Ck continuity!!!
Difficult to keep track of all the constraints. ?
47
B-spline Curves
  • Not a single polynomial, but lots of polynomials
    that meet together smoothly
  • Local control

48
B-spline Curves
  • Not a single polynomial, but lots of polynomials
    that meet together smoothly
  • Local control

49
History of B-splines
  • Designed to create smooth curves
  • Similar to physical process of bending wood
  • Early Work
  • de Casteljau at Citroen
  • Bezier at Renault
  • de Boor at General Motors

50
B-spline Curves
  • Curve defined over a set of parameters t0,,tk
    (ti ti1) with a polynomial of degree n in
    each interval ti, ti1 that meet with Cn-1
    continuity
  • ti do not have to be evenly spaced
  • Commonly called NURBS
  • Non-Uniform Rational B-Splines

51
B-Spline Basis Functions
52
B-Spline Basis Functions
53
B-Spline Basis Functions
54
B-Spline Basis Functions
55
B-Spline Basis Functions
56
B-Spline Basis Functions
57
B-Spline Basis Functions
58
B-Spline Curves
59
B-Splines Via Blossoming
60
B-Splines Via Blossoming
61
B-Splines Via Blossoming
Single polynomial
62
B-Splines Via Blossoming
63
B-Splines Via Blossoming
64
B-Splines Via Blossoming
65
B-Splines Via Blossoming
66
B-Splines Via Blossoming
67
B-Splines Via Blossoming
n-1 derivatives are equal yielding Cn-1
continuity!!!
68
B-Splines Via Blossoming
69
B-Splines Via Blossoming
n-2 derivatives are equal yielding Cn-2
continuity at doubled knot!!!
70
B-Splines Via Blossoming
In general, curves have Cn-u continuity at knot
of multiplicity u
71
Conversion to Bezier Form
72
Conversion to Bezier Form
73
Conversion to Bezier Form
74
Polynomial Reproduction
  • Given a polynomial p(t) and a set of knots t1,
    t2, t3, , find control points for the b-spline
    curve that produces p(t)

75
Polynomial Reproduction
  • Given a polynomial p(t) and a set of knots t1,
    t2, t3, , find control points for the b-spline
    curve that produces p(t)

76
Polynomial Reproduction
  • Given a polynomial p(t) and a set of knots t1,
    t2, t3, , find control points for the b-spline
    curve that produces p(t)

77
Polynomial Reproduction
  • Given a polynomial p(t) and a set of knots t1,
    t2, t3, , find control points for the b-spline
    curve that produces p(t)

Control points!!!
78
Knot Insertion
  • Given a B-spline curve with knot sequence ,
    tk-2, tk-1, tk, tk1, tk2, tk3, generate the
    control points for an identical B-spline curve
    over the knot sequence , tk-2, tk-1, tk, u,
    tk1, tk2, tk3,

79
Boehms Knot Insertion Algorithm
  • Given curve with knots t1, t2, t3, t4, t5, t6,
    find curve with knots t1, t2, t3, u, t4, t5, t6

80
Boehms Knot Insertion Algorithm
  • Given curve with knots t1, t2, t3, t4, t5, t6,
    find curve with knots t1, t2, t3, u, t4, t5, t6

81
Boehms Knot Insertion Algorithm
  • Given curve with knots t1, t2, t3, t4, t5, t6,
    find curve with knots t1, t2, t3, u, u, t4, t5, t6

82
The Oslo Algorithm
  • Given curve with knots t1, t2, t3, t4, t5, t6,
    find curve with knots t1, t2, t3, u1, u2, u3, u4,
    t4, t5, t6

83
The Oslo Algorithm
  • Given curve with knots t1, t2, t3, t4, t5, t6,
    find curve with knots t1, t2, t3, u1, u2, u3, u4,
    t4, t5, t6

84
The Oslo Algorithm
  • Given curve with knots t1, t2, t3, t4, t5, t6,
    find curve with knots t1, t2, t3, u1, u2, u3, u4,
    t4, t5, t6

85
Degree Elevation for B-splines
  • Degree n B-splines meet with Cn-1 continuity
  • Degree n1 B-splines meet with Cn continuity
  • Must double knots to maintain same degree of
    continuity!!!

86
Subdivision for Non-Uniform B-splines
  • Given a knot sequence t1, t2, t3, t4, , insert
    knots u1, u2, u3, u4, such that ti ui
    ti1

87
Subdivision for Non-Uniform B-splines
  • Given a knot sequence t1, t2, t3, t4, , insert
    knots u1, u2, u3, u4, such that ti ui
    ti1
  • Double control points
  • At level 0ltkltn1, insert knots uk-1, uk, uk,
    uk1, uk1, into pyramid

88
Schaefers Algorithm
89
Schaefers Algorithm
90
Schaefers Algorithm
91
Schaefers Algorithm
92
Schaefers Algorithm
93
Schaefers Algorithm
94
B-spline Properties
  • Piecewise polynomial
  • Cn-u continuity at knots of multiplicity u
  • Compact support
  • Non-negativity implies local convex hull property
  • Variation Diminishing

95
B-spline Curve Example
96
B-spline Curve Example
97
B-spline Curve Example
98
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

99
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

100
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

Uniform parameterization
101
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

Centripetal parameterization
102
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

Chord length parameterization
103
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

Uniform parameterization
104
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

Centripetal parameterization
105
Choosing Knot Values
  • B-splines dependent on choice of knots ti
  • Can we choose ti automatically?

Chord length parameterization
Write a Comment
User Comments (0)
About PowerShow.com