27
Bspline Notes Jordan Smith UC Berkeley CS184

Bspline Notes

  • 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

Page 1: Bspline Notes

Bspline Notes

Jordan Smith

UC Berkeley

CS184

Page 2: Bspline Notes

Outline

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

• Uniform Bspline Basis Polynomials– Linear– Quadratic– Cubic

• Uniform Bsplines from Convolution

Page 3: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

V001

V111V000

V011

Insert at t = ¾

Page 4: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

Insert at t = ¾

Page 5: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾11

0¾1

Insert at t = ¾

Page 6: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

Insert at t = ¾

Page 7: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 8: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 9: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 10: Bspline Notes

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 11: Bspline Notes

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

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

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

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

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

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

Blossoming of Bsplines234

123 456

345

0 1 765432Knots:

Page 18: Bspline Notes

Blossoming of Bsplines234

123 456

345

233.5 3.545

33.54

0 1 765432 3.5Knots:

Page 19: Bspline Notes

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

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

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

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

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

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

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

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

Uniform Bsplines from Convolution

10 10 2 3 0 321 4

10 2

=

10

10

10 2 3

=

10 2

=

10

dssgstftgtf )()()()(