Bspline NotesOutlineReview of Bézier Curves DeCastlejau AlgorithmSlide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Bézier Curves SummaryLinear Bézier Basis Poly’sQuadratic Bézier Basis Poly’sSlide 14Cubic Bézier Basis Poly’sSlide 16Blossoming of BsplinesSlide 18Slide 19Slide 20Bspline Blossoming SummaryUniform Linear Bspline Basis Poly’sUniform Quadratic Bspline Basis Poly’sSlide 24Uniform Cubic Bspline Basis Poly’sSlide 26Uniform Bsplines from ConvolutionBspline NotesJordan SmithUC BerkeleyCS184Outline•Bézier Basis Polynomials–Linear–Quadratic–Cubic•Uniform Bspline Basis Polynomials–Linear–Quadratic–Cubic•Uniform Bsplines from ConvolutionReview of Bézier CurvesDeCastlejau AlgorithmV001V111V000V011Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm001000111011Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm00100011101100¾¾110¾1Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm00100011101100¾¾¾1¾110¾10¾¾Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm00100011101100¾¾¾1¾110¾10¾¾¾¾¾Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm00100011101100¾¾¾1¾110¾10¾¾¾¾¾Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm00100011101100¾¾¾1¾110¾10¾¾¾¾¾Insert at t = ¾Review of Bézier CurvesDeCastlejau Algorithm00100011101100¾¾¾1¾110¾10¾¾¾¾¾Insert at t = ¾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 testsLinear Bézier Basis Poly’sBez1(t) =VtV0V1V0VtV1= (1-t) V0 + t V11-t tKnots:-1 0 1 2Quadratic Bézier Basis Poly’sV01VttV0tVt1V00V01V111-t t1-t t1-t tBez2(t) = = (1-t)2 V00 + 2(1-t)t V01 + t2 V11V00V0tV11Vt1VttKnots:Quadratic Bézier Basis Poly’sBez2(t) = (1-t)2 V00 + 2(1-t)t V01 + t2 V11-1 0 1 2Cubic Bézier Basis Poly’s00111101100ttt1t110t10tttttVtttV0ttVtt1V00tV0t1Vt11V111V011V001V0001-t t1-t t1-t t1-t t1-t t1-t tBez3(t) = = (1-t)3 V000 + 3(1-t)2t V001 + 3(1-t)t2 V011 + t3 V111000Knots:Cubic Bézier Basis Poly’sBez3(t) = (1-t)3 V000 + 3(1-t)2t V001 + 3(1-t)t2 V011 + t3 V111-1 0 1 2Blossoming of Bsplines2341234563450 1 765432Knots:Blossoming of Bsplines234123456345233.5 3.54533.540 1 765432 3.5Knots:Blossoming of Bsplines234123456345233.5 3.54533.5433.53.5 3.53.540 1 765432 3.5Knots:Blossoming of Bsplines234123456345233.5 3.54533.5433.53.5 3.53.540 1 765432 3.53.53.53.5Knots: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 curveUniform Linear Bspline Basis Poly’sB1(t) =VtV0V1V0VtV1= (1-t) V0 + t V11-t tKnots:-1 0 1 2Uniform Quadratic Bspline Basis Poly’sB2(t) =VttV0tVt1V-10V01V12211t21t21t2tt1tV01 12201210-2V2V2221V21ttttVt1V0tV-10V12VttUniform Quadratic Bspline Basis Poly’s 12201210-22V2V2221V21)(Bttttt Knots:-2 -1 0 1 32V-10V01V12Uniform Cubic Bspline Basis Poly’sB3(t) = 123301232101-3210-2-3V6V63331V6364V61tttttttV123V012V-101V-2-10VtttV0ttVtt1V-10tV0t1Vt12321t32t311t31t31t3t211t21t21t2tt1t-101123012-10ttt1t120t10ttttt-2-10Uniform Cubic Bspline Basis Poly’s 123301232101-3210-2-33V6V63331V6364V61)(Btttttttt Knots:-3 -2 -1 0 1 432V-2-10V-101V012V123Uniform Bsplines from Convolution10 10 2 3 0 321 410 2=101010 2 3=10 2=10 dssgstftgtf
View Full Document