Blossoms - PowerPoint PPT Presentation

1 / 19
About This Presentation
Title:

Blossoms

Description:

Bezier curve by. scaffolding lerps. Blossoming renames the. control and intermediate ... as a Bezier curve. Where should the other. two control points go. for ... – PowerPoint PPT presentation

Number of Views:44
Avg rating:3.0/5.0
Slides: 20
Provided by: csU70
Learn more at: http://www.cs.uiuc.edu
Category:
Tags: blossoms | curve

less

Transcript and Presenter's Notes

Title: Blossoms


1
Blossoms
  • CS 419
  • Advanced Topics in Computer Graphics
  • John C. Hart
  • Borrowed somewhat from Tom Sederbergs notes

2
de Casteljau
p1
p12
p2
p012
1-t
  • de Casteljau algorithmevaluates a point on
    aBezier curve byscaffolding lerps
  • Blossoming renames thecontrol and
    intermediatepoints, like p12, using apolar
    form, like p(0,t,1)

p123
p0123
p01
p23
t
p0
p3
3
de Casteljau
p(1,0,0)
p12
p(1,1,0)
p012
1-t
  • de Casteljau algorithmevaluates a point on
    aBezier curve byscaffolding lerps
  • Blossoming renames thecontrol and
    intermediatepoints, like p12, using apolar
    form, like p(0,t,1)

p123
p0123
p01
t
p23
p(0,0,0)
p(1,1,1)
4
de Casteljau
p(1,0,0)
p(1,t,0)
p(1,1,0)
p012
1-t
  • de Casteljau algorithmevaluates a point on
    aBezier curve byscaffolding lerps
  • Blossoming renames thecontrol and
    intermediatepoints, like p12, using apolar
    form, like p(0,t,1)

p123
p0123
p(t,0,0)
t
p(1,1,t)
p(0,0,0)
p(1,1,1)
5
de Casteljau
p(1,0,0)
p(1,t,0)
p(1,1,0)
p(t,t,0)
1-t
  • de Casteljau algorithmevaluates a point on
    aBezier curve byscaffolding lerps
  • Blossoming renames thecontrol and
    intermediatepoints, like p12, using apolar
    form, like p(0,t,1)

p(1,t,t)
p0123
p(t,0,0)
t
p(1,1,t)
p(0,0,0)
p(1,1,1)
6
de Casteljau
p(1,0,0)
p(1,t,0)
p(1,1,0)
p(t,t,0)
1-t
  • de Casteljau algorithmevaluates a point on
    aBezier curve byscaffolding lerps
  • Blossoming renames thecontrol and
    intermediatepoints, like p12, using apolar
    form, like p(0,t,1)

p(1,t,t)
p(t,t,t)
p(t,0,0)
t
p(1,1,t)
p(0,0,0)
p(1,1,1)
7
Blossoming Rules
p(1,0,0)
p(1,t,0)
p(1,1,0)
p(t,t,0)
1-t
  • of parameters degree
  • Order doesnt matter
  • p(a,b,c) p(b,a,c)
  • Linear in any parameter
  • ap(a,b,c) p(aa,b,c) p(a,ab,c)
  • p(a,bc,d) p(a,b,d) p(a,c,d)
  • Lerping
  • (1-t) p(0,0,0) t p(1,0,0) p(0 (1-t),0,0)
    p(1 t,0,0)
  • p(0 (1-t) 1 t,0,0) p(t,0,0)

p(1,t,t)
p(t,t,t)
p(t,0,0)
t
p(1,1,t)
p(0,0,0)
p(1,1,1)
8
Evaluation
p(1,0,0)
p(1,t,0)
p(1,1,0)
p(t,t,0)
1-t
  • Goal is to find p(t) bydiagonalization,
    bymanipulating blossomsinto p(t,t,t)
  • de Casteljau algorithm blossomsinto Bernstein
    polynomials

p(1,t,t)
p(t,t,t)
p(t,0,0)
t
p(1,1,t)
p(0,0,0)
p(1,1,1)
p(t) p(t,t,t) (1-t) p(t,t,0) t p(t,t,1)
(1-t)(1-t) p(t,0,0) t p(t,0,1) t (1-t)
p(t,0,1) t p(t,1,1) (1-t)2 p(t,0,0)
2 (1-t) t p(t,0,1) t2
p(t,1,1) (1-t)2(1-t)p(0,0,0)tp(1,0,0)2
(1-t)t (1-t)p(0,0,1)tp(1,0,1)t2(1-t)p(0,1,1)
tp(1,1,1) (1-t)3 p(0,0,0) 3 (1-t)2 t
p(0,0,1) 3 (1-t) t2 p(0,1,1) t3 p(1,1,1)
9
B-Spline Blossoms
  • Three segments 2,3,3,4,4,5
  • Points within each segment influenced by four
    surrounding control points
  • Knots influenced by three surrounding control
    points
  • Need two extra knots ateach end of knot
    vector(in general, d-1 extraknots at each end)

p(2,3,4)
p(3,4,5)
t3
t4
p(1,2,3)
p(4,5,6)
t2
t5
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
10
Bohm Blossoms
  • Trick Think of each segmentas a Bezier curve

p(2,3,4)
p(3,4,5)
t3
t4
p(1,2,3)
p(4,5,6)
t2
t5
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
11
Bohm Blossoms
  • Trick Think of each segmentas a Bezier curve

p(2,3,4)
p(3,4,5)
p(3,3,3)
p(4,4,4)
p(1,2,3)
p(4,5,6)
p(2,2,2)
p(5,5,5)
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
12
Bohm Blossoms
  • Trick Think of each segmentas a Bezier curve
  • Where should the othertwo control points gofor
    the 2,3 segment?

p(2,3,4)
p(3,4,5)
p(3,3,3)
p(1,2,3)
p(4,5,6)
p(2,2,2)
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
13
Bohm Blossoms
  • Trick Think of each segmentas a Bezier curve
  • Where should the othertwo control points gofor
    the 2,3 segment?
  • Need to find
  • p(2,2,3) 2/3 p(1,2,3) 1/3 p(4,2,3)
  • p(3,2,3) 1/3 p(1,2,3) 2/3 p(4,2,3)

p(4,2,3)
p(3,4,5)
p(3,2,3)
p(3,3,3)
p(2,2,3)
p(1,2,3)
p(4,5,6)
p(2,2,2)
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
14
Bohm Blossoms
  • Where are the endpoints located?
  • Need to find
  • p(2,1,2) 1/3 p(0,1,2) 2/3 p(3,1,2)
  • p(3,4,3) 2/3 p(3,4,2) 1/3 p(3,4,5)
  • p(2,2,2) 1/2 p(2,1,2) 1/2 p(2,3,2)
  • p(3,3,3) 1/2 p(3,2,3) 1/2 p(3,4,3)
  • Reveals how to turn a B-splineinto a Bezier
    curve!

p(3,4,2)
p(3,4,5)
p(3,4,3)
p(3,2,3)
p(3,3,3)
p(2,3,2)
p(3,1,2)
p(2,2,2)
p(2,1,2)
p(0,1,2)
knot vector 0 1 2 3 4 5 6 7
15
Knot Insertion
  • Suppose we want to add aknot at t 3.5

p(2,3,4)
p(3,4,5)
t3
t4
p(1,2,3)
p(4,5,6)
t2
t5
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
16
Knot Insertion
  • Suppose we want to add aknot at t 3.5
  • Then we need new cpsp(2,3,3.5), p(3,3.5,4)and
    p(3.5,4,5)and can get rid ofp(2,3,4) and
    p(3,4,5)

p(3,3.5,4)
p(2,3,4)
p(3,4,5)
p(3.5,4,5)
p(2,3,3.5)
t3
t4
p(1,2,3)
p(4,5,6)
t2
t5
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 4 5 6 7
17
Knot Insertion
  • Suppose we want to add aknot at t 3.5
  • Then we need new cpsp(2,3,3.5), p(3,3.5,4)and
    p(3.5,4,5)and can get rid ofp(2,3,4) and
    p(3,4,5)

p(3,3.5,4)
p(3.5,4,5)
p(2,3,3.5)
t3.5
p(1,2,3)
p(4,5,6)
t2
t5
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 3.5 4 5 6 7
18
de Boor Algorithm
  • What if we want toevaluate p(3.5)?
  • Then create a triple knotat t 3.5 and figure
    outwhere to put the controlpoint p(3.5,3.5,3.5)

p(3,3.5,4)
p(3.5,4,5)
p(2,3,3.5)
t3.5
p(1,2,3)
p(4,5,6)
t2
t5
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 3.5 4 5 6 7
19
de Boor Algorithm
  • What if we want toevaluate p(3.5)?
  • Then create a triple knotat t 3.5 and figure
    outwhere to put the controlpoint p(3.5,3.5,3.5)
  • Need p(3,3.5,3.5)and p(3.5,3.5,4)
  • Also subdivides B-spline into0,1,2,3,3.5,3.5,3.5
    and3.5,3.5,3.5,4,5,6,7

p(3,3.5,4)
p(3.5,3.5,4)
p(3,3.5,3.5)
p(3.5,4,5)
p(2,3,3.5)
p(3.5,3.5,3.5)
p(1,2,3)
p(4,5,6)
p(0,1,2)
p(5,6,7)
knot vector 0 1 2 3 3.5 3.5 3.5 4 5 6 7
Write a Comment
User Comments (0)
About PowerShow.com