Upload
camdyn
View
50
Download
0
Embed Size (px)
DESCRIPTION
Bspline Notes. Jordan Smith UC Berkeley CS184. Outline. Bézier Basis Polynomials Linear Quadratic Cubic Uniform Bspline Basis Polynomials Linear Quadratic Cubic Uniform Bsplines from Convolution. Review of B é zier Curves DeCastlejau Algorithm. V 001. V 011. V 111. V 000. - PowerPoint PPT Presentation
Citation preview
Bspline Notes
Jordan Smith
UC Berkeley
CS184
Outline
• Bézier Basis Polynomials– Linear– Quadratic– Cubic
• Uniform Bspline Basis Polynomials– Linear– Quadratic– Cubic
• Uniform Bsplines from Convolution
Review of Bézier CurvesDeCastlejau Algorithm
V001
V111V000
V011
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
00¾
¾11
0¾1
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
00¾
¾¾1
¾11
0¾10¾¾
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
00¾
¾¾1
¾11
0¾10¾¾
¾¾¾
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
00¾
¾¾1
¾11
0¾10¾¾
¾¾¾
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
00¾
¾¾1
¾11
0¾10¾¾
¾¾¾
Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm
001
000 111
011
00¾
¾¾1
¾11
0¾10¾¾
¾¾¾
Insert at t = ¾
Bézier Curves Summary
• DeCastlejau algorithm– Evaluate Position(t) and Tangent(t)– Subdivides the curve into 2 subcurves with
independent control polygons
• Subdivision of Bézier curves and convex hull property allows for:– Adaptive rendering based on a flatness criterion– Adaptive collision detection using line segment
tests
Linear Bézier Basis Poly’s
Bez1(t) = Vt
V0 V1
V0 Vt V1
= (1-t) V0 + t V1
1-t t
Knots:-1 0 1 2
Quadratic Bézier Basis Poly’sV01
Vtt
V0t Vt1
V00 V01 V11
1-t t1-t t
1-t t
Bez2(t) = = (1-t)2 V00
+ 2(1-t)t V01
+ t2 V11
V00
V0t
V11
Vt1Vtt
Knots:
Quadratic Bézier Basis Poly’s
Bez2(t) = (1-t)2 V00 + 2(1-t)t V01 + t2 V11
-1 0 1 2
Cubic Bézier Basis Poly’s001
111
011
00t
tt1
t11
0t1
0tt ttt
Vttt
V0tt Vtt1
V00t V0t1 Vt11
V111V011V001V000
1-t t1-t t1-t t
1-t t1-t t
1-t t
Bez3(t) = = (1-t)3 V000
+ 3(1-t)2t V001
+ 3(1-t)t2 V011
+ t3 V111
000
Knots:
Cubic Bézier Basis Poly’s
Bez3(t) = (1-t)3 V000 + 3(1-t)2t V001 + 3(1-t)t2 V011 + t3 V111
-1 0 1 2
Blossoming of Bsplines234
123 456
345
0 1 765432Knots:
Blossoming of Bsplines234
123 456
345
233.5 3.545
33.54
0 1 765432 3.5Knots:
Blossoming of Bsplines234
123 456
345
233.5 3.545
33.5433.53.5 3.53.54
0 1 765432 3.5Knots:
Blossoming of Bsplines234
123 456
345
233.5 3.545
33.5433.53.5 3.53.54
0 1 765432 3.5
3.53.53.5
Knots:
Bspline Blossoming Summary• Blossoming of Bsplines is a generalization of the
DeCastlejau algorithm• Control point index triples on the same control
line share 2 indices with each other• Inserting a knot (t value)
– Adds a new control point and curve segment– Adjusts other control points to form a control polygon
• Inserting the same t value reduces the parametric continuity of the curve
• A control point triple with all 3 indices equal is a point on the Bspline curve
Uniform Linear Bspline Basis Poly’s
B1(t) = Vt
V0 V1
V0 Vt V1
= (1-t) V0 + t V1
1-t t
Knots:-1 0 1 2
Uniform Quadratic Bspline Basis Poly’s
B2(t) =
Vtt
V0t Vt1
V-10 V01 V12
2
11
t
2
1t
21
t
2
t
t1 t
V01
12
2
01
2
10-
2
V2
V2
221
V2
1
t
tt
t
Vt1V0t
V-10 V12
Vtt
Uniform Quadratic Bspline Basis Poly’s
12
2
01
2
10-
2
2 V2
V2
221V
2
1)(B
ttttt
Knots:-2 -1 0 1 32
V-10 V01 V12
Uniform Cubic Bspline Basis Poly’s
B3(t) =
123
3
012
32
101-
32
10-2-
3
V6
V6
3331
V6
364
V6
1
t
ttt
tt
t
V123V012V-101V-2-10
Vttt
V0tt Vtt1
V-10t V0t1 Vt12
3
21
t
3
2t
3
11
t
3
1t
31
t
3
t
2
11
t
2
1t
21
t
2
t
t1 t
-101
123
012
-10ttt1
t12
0t10tt
ttt
-2-10
Uniform Cubic Bspline Basis Poly’s
123
3
012
32
101-
32
10-2-
3
3 V6
V6
3331V
6
364V
6
1)(B
tttttttt
Knots:-3 -2 -1 0 1 432
V-2-10 V-101 V012 V123
Uniform Bsplines from Convolution
10 10 2 3 0 321 4
10 2
=
10
10
10 2 3
=
10 2
=
10
dssgstftgtf )()()()(