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 two extra values at each end) t =3 t =4 t =2 t =5 knot vector: [0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex with triples of knots t =2 t =5 knot vector: [0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex with triples of knots t =2 t =5 p (0,1,2) knot vector: [ 0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex p (1,2,3) with triples of knots t =2 t =5 p (0,1,2) knot vector: [0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board p (2,3,4) 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex p (1,2,3) with triples of knots t =2 t =5 p (0,1,2) knot vector: [0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board p (2,3,4) p (3,4,5) 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex p (1,2,3) with triples of knots t =2 t =5 p (0,1,2) knot vector: [0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board p (2,3,4) p (3,4,5) 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex p (1,2,3) p (4,5,6) with triples of knots t =2 t =5 p (0,1,2) knot vector: [0 1 2 3 4 5 6 7]
The Blossoming Game B-Spline Rules for Setting Up the Board p (2,3,4) p (3,4,5) 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex p (1,2,3) p (4,5,6) with triples of knots t =2 t =5 p (0,1,2) p (5,6,7) knot vector: [0 1 2 3 4 5 6 7 ]
The Blossoming Game B-Spline Rules for Setting Up the Board p (2,3,4) p (3,4,5) 1. Create a knot vector (with two extra values at each end) t =3 t =4 2. Label each control vertex p (1,2,3) p (4,5,6) with triples of knots t =2 t =5 p (0,1,2) p (5,6,7) knot vector: [0 1 2 3 4 5 6 7]
Bohm Blossoms B-Spline Rules for Winning the Game: p (2,3,4) p (3,4,5) Convert a B-Spline to a Bezier Curve • Bohm Algorithm t =3 t =4 • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve t =2 t =5 p (0,1,2) p (5,6,7) knot vector: [0 1 2 3 4 5 6 7]
Bohm Blossoms B-Spline Rules for Winning the Game: p (2,3,4) p (3,4,5) Convert a B-Spline to a Bezier Curve • Bohm Algorithm p (3,3,3) p (4,4,4) • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve 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]
Bohm Blossoms B-Spline Rules for Winning the Game: p (2,3,4) p (3,4,5) Convert a B-Spline to a Bezier Curve • Bohm Algorithm p (3,3,3) • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve p (2,2,2) • Where should the other two control points go p (0,1,2) for the [2,3] segment? p (5,6,7) knot vector: [0 1 2 3 4 5 6 7]
Bohm Blossoms B-Spline Rules for Winning the Game: p (2,3,4) p (3,4,5) Convert a B-Spline to a Bezier Curve • Bohm Algorithm p (3,3,3) • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve p (2,2,2) • Where should the other two control points go p (0,1,2) for the [2,3] segment? p (5,6,7) • Need to find: p (2,2,3) knot vector: [0 1 2 3 4 5 6 7] p (2,3,3)
Bohm Blossoms B-Spline Rules for Winning the Game: p (4,2,3) p (3,4,5) Convert a B-Spline to a Bezier Curve • Bohm Algorithm p (3,3,3) • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve p (2,2,2) • Where should the other two control points go p (0,1,2) for the [2,3] segment? p (5,6,7) • Need to find: p (2,2,3) knot vector: [0 1 2 3 4 5 6 7] p (2,3,3)
Bohm Blossoms B-Spline Rules for Winning the Game: p (4,2,3) p (3,4,5) Convert a B-Spline to a Bezier Curve • Bohm Algorithm p (3,3,3) p (2,2,3) • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve p (2,2,2) • Where should the other two control points go p (0,1,2) for the [2,3] segment? p (5,6,7) • Need to find: p (2,2,3) = 2/3 p (1,2,3) + 1/3 p (4,2,3) knot vector: [0 1 2 3 4 5 6 7] p (2,3,3)
Bohm Blossoms B-Spline Rules for Winning the Game: p (4,2,3) p (3,4,5) Convert a B-Spline to a Bezier Curve p (3,2,3) • Bohm Algorithm p (3,3,3) p (2,2,3) • Trick: Think of each segment p (1,2,3) p (4,5,6) as a Bezier curve p (2,2,2) • Where should the other two control points go p (0,1,2) for the [2,3] segment? p (5,6,7) • Need to find: p (2,2,3) = 2/3 p (1,2,3) + 1/3 p (4,2,3) knot vector: [0 1 2 3 4 5 6 7] p (2,3,3) = 1/3 p (1,2,3) + 2/3 p (4,2,3)
Bohm Blossoms • Where are the endpoints located? p (4,2,3) p (3,4,5) p (3,2,3) p (2,2,3) p (1,2,3) p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (4,2,3) p (3,4,5) • Need to find: p (3,2,3) p (2,2,2) = p (2,2,3) p (3,3,3) = p (1,2,3) p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (4,2,3) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = p (2,2,3) p (3,4,3) = p (1,2,3) p (2,2,2) = p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (4,2,3) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = p (2,2,3) p (3,4,3) = p (3,1,2) p (2,2,2) = p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (4,2,3) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,2,3) p (3,4,3) = p (3,1,2) p (2,2,2) = p (2,1,2) p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (3,4,2) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,2,3) p (3,4,3) = p (3,1,2) p (2,2,2) = p (2,1,2) p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (3,4,2) p (3,4,3) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,2,3) p (3,4,3) = 2/3 p (3,4,2) + 1/3 p (3,4,5) p (3,1,2) p (2,2,2) = p (2,1,2) p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (3,4,2) p (3,4,3) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,3,2) p (3,4,3) = 2/3 p (3,4,2) + 1/3 p (3,4,5) p (3,1,2) p (2,2,2) = p (2,1,2) p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (3,4,2) p (3,4,3) p (3,4,5) • Need to find: p (3,2,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,3,2) p (3,4,3) = 2/3 p (3,4,2) + 1/3 p (3,4,5) p (3,1,2) p (2,2,2) p (2,2,2) = 1/2 p (2,1,2) + 1/2 p (2,3,2) p (2,1,2) p (3,3,3) = p (0,1,2)
Bohm Blossoms • Where are the endpoints located? p (3,4,2) p (3,4,3) p (3,4,5) • Need to find: p (3,2,3) p (3,3,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,3,2) p (3,4,3) = 2/3 p (3,4,2) + 1/3 p (3,4,5) p (3,1,2) p (2,2,2) p (2,2,2) = 1/2 p (2,1,2) + 1/2 p (2,3,2) p (2,1,2) p (3,3,3) = 1/2 p (3,2,3) + 1/2 p (3,4,3) p (0,1,2)
Bohm Blossoms • Where are the endpoints located? • Need to find: p (2,3,3) p (3,3,3) p (2,1,2) = 1/3 p (0,1,2) + 2/3 p (3,1,2) p (2,2,3) p (3,4,3) = 2/3 p (3,4,2) + 1/3 p (3,4,5) p (2,2,2) 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)
Recommend
More recommend