B-Spline Blossoms CS 418 Interactive Computer Graphics John C. - - PowerPoint PPT Presentation

b spline blossoms
SMART_READER_LITE
LIVE PREVIEW

B-Spline Blossoms CS 418 Interactive Computer Graphics John C. - - PowerPoint PPT Presentation

B-Spline Blossoms CS 418 Interactive Computer Graphics John C. Hart The Blossoming Game B-Spline Rules for Setting Up the Board t =3 t =4 t =2 t =5 The Blossoming Game B-Spline Rules for Setting Up the Board 1. Create a knot vector (with


slide-1
SLIDE 1

B-Spline Blossoms

CS 418 Interactive Computer Graphics John C. Hart

slide-2
SLIDE 2

The Blossoming Game

B-Spline Rules for Setting Up the Board t=2 t=3 t=4 t=5

slide-3
SLIDE 3

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end) knot vector: [0 1 2 3 4 5 6 7] t=2 t=3 t=4 t=5

slide-4
SLIDE 4

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] t=2 t=3 t=4 t=5

slide-5
SLIDE 5

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) t=2 t=3 t=4 t=5

slide-6
SLIDE 6

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) t=2 t=3 t=4 t=5

slide-7
SLIDE 7

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) t=2 t=3 t=4 t=5

slide-8
SLIDE 8

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) t=2 t=3 t=4 t=5

slide-9
SLIDE 9

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) p(4,5,6) t=2 t=3 t=4 t=5

slide-10
SLIDE 10

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) p(4,5,6) p(5,6,7) t=2 t=3 t=4 t=5

slide-11
SLIDE 11

The Blossoming Game

B-Spline Rules for Setting Up the Board

  • 1. Create a knot vector

(with two extra values at each end)

  • 2. Label each control vertex

with triples of knots knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) p(4,5,6) p(5,6,7) t=2 t=3 t=4 t=5

slide-12
SLIDE 12

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) p(4,5,6) p(5,6,7) t=2 t=3 t=4 t=5

slide-13
SLIDE 13

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) p(4,5,6) p(5,6,7) p(2,2,2) p(3,3,3) p(4,4,4) p(5,5,5)

slide-14
SLIDE 14

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve

  • Where should the other

two control points go for the [2,3] segment? knot vector: [0 1 2 3 4 5 6 7] p(0,1,2) p(1,2,3) p(2,3,4) p(3,4,5) p(4,5,6) p(5,6,7) p(2,2,2) p(3,3,3)

slide-15
SLIDE 15

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve

  • Where should the other

two control points go for the [2,3] segment?

  • Need to find:

p(2,2,3) p(2,3,3) knot vector: [0 1 2 3 4 5 6 7] p(1,2,3) p(3,4,5) p(4,5,6) p(5,6,7) p(2,2,2) p(3,3,3) p(2,3,4) p(0,1,2)

slide-16
SLIDE 16

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve

  • Where should the other

two control points go for the [2,3] segment?

  • Need to find:

p(2,2,3) p(2,3,3) knot vector: [0 1 2 3 4 5 6 7] p(1,2,3) p(4,2,3) p(3,4,5) p(4,5,6) p(5,6,7) p(2,2,2) p(3,3,3) p(0,1,2)

slide-17
SLIDE 17

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve

  • Where should the other

two control points go for the [2,3] segment?

  • Need to find:

p(2,2,3) = 2/3 p(1,2,3) + 1/3 p(4,2,3) p(2,3,3) knot vector: [0 1 2 3 4 5 6 7] p(1,2,3) p(4,2,3) p(3,4,5) p(4,5,6) p(5,6,7) p(2,2,2) p(3,3,3) p(2,2,3) p(0,1,2)

slide-18
SLIDE 18

Bohm Blossoms

B-Spline Rules for Winning the Game: Convert a B-Spline to a Bezier Curve

  • Bohm Algorithm
  • Trick: Think of each segment

as a Bezier curve

  • Where should the other

two control points go for the [2,3] segment?

  • Need to find:

p(2,2,3) = 2/3 p(1,2,3) + 1/3 p(4,2,3) p(2,3,3) = 1/3 p(1,2,3) + 2/3 p(4,2,3) knot vector: [0 1 2 3 4 5 6 7] p(1,2,3) p(4,2,3) p(3,4,5) p(4,5,6) p(5,6,7) p(2,2,2) p(3,3,3) p(2,2,3) p(3,2,3) p(0,1,2)

slide-19
SLIDE 19

Bohm Blossoms

  • Where are the endpoints located?

p(0,1,2) p(1,2,3) p(4,2,3) p(3,4,5) p(2,2,3) p(3,2,3)

slide-20
SLIDE 20

Bohm Blossoms

  • Where are the endpoints located?
  • Need to find:

p(2,2,2) = p(3,3,3) = p(0,1,2) p(1,2,3) p(4,2,3) p(3,4,5) p(2,2,3) p(3,2,3)

slide-21
SLIDE 21

Bohm Blossoms

  • Where are the endpoints located?
  • Need to find:

p(2,1,2) = p(3,4,3) = p(2,2,2) = p(3,3,3) = p(0,1,2) p(1,2,3) p(4,2,3) p(3,4,5) p(2,2,3) p(3,2,3)

slide-22
SLIDE 22

Bohm Blossoms

  • Where are the endpoints located?
  • Need to find:

p(2,1,2) = p(3,4,3) = p(2,2,2) = p(3,3,3) = p(0,1,2) p(4,2,3) p(3,4,5) p(2,2,3) p(3,2,3) p(3,1,2)

slide-23
SLIDE 23

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) = p(2,2,2) = p(3,3,3) = p(0,1,2) p(3,1,2) p(3,4,5) p(3,2,3) p(2,1,2) p(4,2,3) p(2,2,3)

slide-24
SLIDE 24

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) = p(2,2,2) = p(3,3,3) = p(0,1,2) p(3,1,2) p(3,4,5) p(3,2,3) p(2,1,2) p(2,2,3) p(3,4,2)

slide-25
SLIDE 25

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) = p(3,3,3) = p(0,1,2) p(3,1,2) p(3,4,2) p(3,4,5) p(2,2,3) p(3,2,3) p(2,1,2) p(3,4,3)

slide-26
SLIDE 26

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) = p(3,3,3) = p(0,1,2) p(3,1,2) p(3,4,2) p(3,4,5) p(3,2,3) p(2,1,2) p(3,4,3) p(2,3,2)

slide-27
SLIDE 27

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) = p(0,1,2) p(3,1,2) p(3,4,2) p(3,4,5) p(2,2,2) p(2,3,2) p(3,2,3) p(2,1,2) p(3,4,3)

slide-28
SLIDE 28

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) p(0,1,2) p(3,1,2) p(3,4,2) p(3,4,5) p(2,2,2) p(2,3,2) p(3,2,3) p(2,1,2) p(3,4,3) p(3,3,3)

slide-29
SLIDE 29

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) p(2,2,2) p(2,2,3) p(2,3,3) p(3,3,3)