DOC PREVIEW
UW-Madison CS 559 - B-Spline Blending Functions

This preview shows page 1-2-21-22 out of 22 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 22 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

B-Spline Blending FunctionsUniform Cubic B-splinesBk,1Bk,2Bk,3B0,4Slide 7Uniform Cubic B-spline Blending FuncsComputing the CurveUsing Uniform B-splinesBlending Function on [0,1]Uniform B-spline on [0,1)Uniform B-spline at Arbitrary tLoopsB-splines and Interpolation, ContinuityRendering B-splinesRefining Uniform Cubic B-splinesRational CurvesOpenGL and Parametric CurvesOpenGL and NURBSFrom B-spline to BezierB-spline to Bezier Matrix otherwise 0 111,kkkttttBB-Spline Blending Functions•The recurrence relation starts with the 1st order B-splines, just boxes, and builds up successively higher orders•This algorithm is the Cox - de Boor algorithm–Carl de Boor is in the CS department here at Madison    tBtttttBtttttBdkkdkdkdkkdkkdk1,111,1,Uniform Cubic B-splines•Uniform cubic B-splines arise when the knot vector is of the form (-3,-2,-1,0,1,…,n+1)•Each blending function is non-zero over a parameter interval of length 4•All of the blending functions are translations of each other–Each is shifted one unit across from the previous one–Bk,d(t)=Bk+1,d(t+1)•The blending functions are the result of convolving a box with itself d times, although we will not use this factBk,1B 0,100.20.40.60.811.2-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB0,1(t)B 2,100.20.40.60.811.2-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB2,1(t)B 3,100.20.40.60.811.2-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB3,1(t)B 1,100.20.40.60.811.2tB1,1(t)Bk,2B 0,200.20.40.60.811.2-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB0,2(t)B 1,200.20.40.60.811.2-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB1,2(t)B 2,200.20.40.60.811.2-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB2,2(t)12 123 3)(2,0tttttBBk,3B 0,300.10.20.30.40.50.60.70.8-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB0,3(t)B 1,300.10.20.30.40.50.60.70.8-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200. 20. 40. 60. 81tB1,3(t) 01 12 36223 321)(2223,0ttttttttBB0,4B 0,400.10.20.30.40.50.60.7-3-2.8-2.6-2.4-2.2-2-1.8-1.6-1.4-1.2-1-0.8-0.6-0.4-0.200.20.40.60.81tB0,4(t)B0,4  10 101 133312 52115323 361)(3232334,0tttttttttttttBUniform Cubic B-spline Blending Funcs00.10.20.30.40.50.60.7-3-2.7-2.3-2-1.6-1.3-0.9-0.6-0.20.10.50.81.21.51.92.22.62.93.33.644.34.7tB0,4B1,4B2,4B3,4B4,4B5,4B6,4Computing the Curve00.050.10.150.20.25-3-2 .7-2 .3-2-1 .6-1 .3-0 .9-0 .6-0 .20 .10 .50 .81 .21 .51 .92 .22 .62 .93 .33 .644 .34 .7t   nkkktBPtX04,P0B0,4P1B1,4P2B2,4P3B3,4P4B4,4P5B5,4P6B6,4Using Uniform B-splines•At any point t along a piecewise uniform cubic B-spline, there are four non-zero blending functions•Each of these blending functions is a translation of B0,4•Consider the interval 0t<1–We pick up the 4th section of B0,4–We pick up the 3rd section of B1,4–We pick up the 2nd section of B2,4–We pick up the 1st section of B3,4Blending Function on [0,1]00.10.20.30.40.50.60.700.10.20.30.40.50.60.70.80.91tB0,4B1,4B2,4B3,4    333223213204,334,224,114,003331364331 61)()()()()(tPtttPttPtttPtBPtBPtBPtBPtxUniform B-spline on [0,1)•Four control points are required to define the curve for 0 t<1•The blending functions sum to one, and are positive everywhere–The curve lies inside its convex hull•Does the curve interpolate its endpoints?–Look at the blending functions to decide•There is also a matrix form for the curve: 1000113334063133161)(233210tttPPPPtxUniform B-spline at Arbitrary t•The interval from an integer parameter value i to i+1 is essentially the same as the interval from 0 to 1–The parameter value is offset by i–A different set of control points is needed•To evaluate a uniform cubic B-spline at an arbitrary parameter value t:–Find the greatest integer less than or equal to t: i = floor(t)–Evaluate:•Valid parameter range: 0t<n-3, where n is the number of control points   304,kkkiitBPtXLoops•To create a loop, use control points from the start of the curve when computing values at the end of the curve:•Any parameter value is now valid–Although for numerical reasons it is sensible to keep it within a small multiple of n   304,mod)(kknkiitBPtXB-splines and Interpolation, Continuity •Uniform B-splines do not interpolate control points, unless:–You repeat a control point three times–But then all derivatives also vanish (=0) at that point–To do interpolation with non-zero derivatives you must use non-uniform B-splines with repeated knots•To align tangents, use double control vertices–Then tangent aligns similar to Bezier curve•Uniform B-splines are automatically C2–All the blending functions are C2, so sum of blending functions is C2–Provides an alternate way to define blending functions–To reduce continuity, must use non-uniform B-splines with repeated knotsRendering B-splines•Same basic options as for Bezier curves–Evaluate at a set of parameter values and join with lines•Hard to know where to evaluate, and how pts to use–Use a subdivision rule to break the curve into small pieces, and then join control points•What is the subdivision rule for B-splines?•Instead of subdivision, view splitting as refinement:–Inserting additional control points, and knots, between the existing points–Useful not just for rendering - also a user interface tool–Defined for uniform and non-uniform B-splines by the Oslo algorithmRefining Uniform Cubic B-splines•Basic idea: Generate 2n-3 new control points:–Add a new control point in the middle of each curve segment: P’0,1, P’1,2, P’2,3 , …, P’n-2,n-1–Modify existing control points: P’1, P’2, …, P’n-2•Throw away the first and last control•Rules:•If the curve is a loop, generate 2n new control points by


View Full Document

UW-Madison CS 559 - B-Spline Blending Functions

Documents in this Course
Filters

Filters

14 pages

Lecture 2

Lecture 2

24 pages

Clipping

Clipping

22 pages

Modeling

Modeling

33 pages

Filters

Filters

26 pages

Dithering

Dithering

33 pages

Lecture 4

Lecture 4

20 pages

Load more
Download B-Spline Blending Functions
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view B-Spline Blending Functions and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view B-Spline Blending Functions 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?