bspline notes jordan smith uc berkeley cs184. outline bézier basis polynomials –linear...

27
Bspline Notes Jordan Smith UC Berkeley CS184

Post on 21-Dec-2015

219 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Bspline Notes

Jordan Smith

UC Berkeley

CS184

Page 2: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Outline

• Bézier Basis Polynomials– Linear– Quadratic– Cubic

• Uniform Bspline Basis Polynomials– Linear– Quadratic– Cubic

• Uniform Bsplines from Convolution

Page 3: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

V001

V111V000

V011

Insert at t = ¾

Page 4: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

Insert at t = ¾

Page 5: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾11

0¾1

Insert at t = ¾

Page 6: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

Insert at t = ¾

Page 7: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 8: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 9: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 10: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 11: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 12: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 13: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 14: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Knots:

Quadratic Bézier Basis Poly’s

Bez2(t) = (1-t)2 V00 + 2(1-t)t V01 + t2 V11

-1 0 1 2

Page 15: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 16: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 17: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Blossoming of Bsplines234

123 456

345

0 1 765432Knots:

Page 18: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Blossoming of Bsplines234

123 456

345

233.5 3.545

33.54

0 1 765432 3.5Knots:

Page 19: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Blossoming of Bsplines234

123 456

345

233.5 3.545

33.5433.53.5 3.53.54

0 1 765432 3.5Knots:

Page 20: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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:

Page 21: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 22: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 23: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 24: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 25: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 26: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

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

Page 27: Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic

Uniform Bsplines from Convolution

10 10 2 3 0 321 4

10 2

=

10

10

10 2 3

=

10 2

=

10

dssgstftgtf )()()()(