Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

Similar documents
CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

(Spline, Bezier, B-Spline)

Remark. Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 331

08 - Designing Approximating Curves

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

A story about Non Uniform Rational B-Splines. E. Shcherbakov

Rational Bezier Curves

2D Spline Curves. CS 4620 Lecture 18

Need for Parametric Equations

2D Spline Curves. CS 4620 Lecture 13

Design considerations

Bezier Curves, B-Splines, NURBS

Important Properties of B-spline Basis Functions

Rational Bezier Surface

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

Curve and Surface Basics

3D Modeling Parametric Curves & Surfaces

Central issues in modelling

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

B-Spline Polynomials. B-Spline Polynomials. Uniform Cubic B-Spline Curves CS 460. Computer Graphics

B-Splines and NURBS Week 5, Lecture 9

Lecture IV Bézier Curves

Properties of Blending Functions

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Roadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Parametric curves. Brian Curless CSE 457 Spring 2016

Curves and Surfaces 1

Spline Morphing. CG software practical course in the IWR. Carl Friedrich Bolz. Carl Friedrich Bolz

Intro to Curves Week 4, Lecture 7

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

B(asis) Splines. Ashish Myles CISE, UF

Intro to Curves Week 1, Lecture 2

Dgp _ lecture 2. Curves

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

Splines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Computergrafik. Matthias Zwicker. Herbst 2010

Curves and Surfaces Computer Graphics I Lecture 9

Computer Graphics Curves and Surfaces. Matthias Teschner

Curves. Computer Graphics CSE 167 Lecture 11

A Practical Review of Uniform B-Splines

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)

Derivative. Bernstein polynomials: Jacobs University Visualization and Computer Graphics Lab : ESM4A - Numerical Methods 313

B-spline Curves. Smoother than other curve forms

Designing by a Quadratic Trigonometric Spline with Point and Interval Shape Control

Computer Graphics Spline and Surfaces

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

CAGD PACKAGE FOR MATHEMATICA AND ITS USAGE IN THE TEACHING

Computer Graphics Splines and Curves

Curve Construction via Local Fitting

Bezier Curves. An Introduction. Detlef Reimers

Knot Insertion and Reparametrization of Interval B-spline Curves

Freeform Curves on Spheres of Arbitrary Dimension

Figure 5.1: Spline and ducks.

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

15.10 Curve Interpolation using Uniform Cubic B-Spline Curves. CS Dept, UK

CS-184: Computer Graphics. Today

LECTURE #6. Geometric Modelling for Engineering Applications. Geometric modeling for engineering applications

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Spline Methods Draft. Tom Lyche and Knut Mørken. Department of Informatics Centre of Mathematics for Applications University of Oslo

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Curves and Surfaces Computer Graphics I Lecture 10

Representing Curves Part II. Foley & Van Dam, Chapter 11

Fathi El-Yafi Project and Software Development Manager Engineering Simulation

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

An introduction to interpolation and splines

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

CS-184: Computer Graphics

and the crooked shall be made straight, and the rough ways shall be made smooth; Luke 3:5

An Introduction to B-Spline Curves

CS 450 Numerical Analysis. Chapter 7: Interpolation

Fundamentals of Computer Graphics. Lecture 3 Parametric curve and surface. Yong-Jin Liu.

Spline curves. in polar and Cartesian coordinates. Giulio Casciola and Serena Morigi. Department of Mathematics, University of Bologna, Italy

Spline Methods Draft. Tom Lyche and Knut Mørken

Objects 2: Curves & Splines Christian Miller CS Fall 2011

A New Class of Quasi-Cubic Trigonometric Bezier Curve and Surfaces

Splines. Connecting the Dots

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey

Friday, 11 January 13. Interpolation

On an approach for cubic Bézier interpolation

Parametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:

Drawing hypergraphs using NURBS curves

Spline Methods Draft. Tom Lyche and Knut Mørken

The Free-form Surface Modelling System

Quasi-Quartic Trigonometric Bézier Curves and Surfaces with Shape Parameters

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

In this course we will need a set of techniques to represent curves and surfaces in 2-d and 3-d. Some reasons for this include

ECE 600, Dr. Farag, Summer 09

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Cubic spline interpolation

CAP 6736 Geometric Modeling Team Hamilton B-Spline Basis Functions. Presented by Padmavathi Siddi Vigneshkumar Suresh Jorge Medrano

MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves

Transcription:

Bézier Splines CS 475 / CS 675 Computer Graphics Lecture 14 : Modelling Curves 3 n P t = B i J n,i t with 0 t 1 J n, i t = i=0 n i t i 1 t n i No local control. Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html Terminology B 2 Q 3 x 3 Q 1 x x 4 2 Q 2 The B-Spline Curve of order k (degree, k-1)is given by: B i P t = B i N i,k t - position vectors of the n+1 vertices of the control polygon - normalized B-spline basis functions with t min t t max and 2 k B 5 x 1 Knot Point N i,1 = { 1, if x i t x i 1 0, otherwise Q 1 :,,,, x 1 t x 2 Control Point Q 2 :,,, B 5, x 2 t x 3 [ x 1, x 2, x 3, x 4 ] Knot Vector t = t x N t i i, k 1 x t N t i k i 1, k 1 x i k 1 x i x i k x i 1 Cox deboor recursive formula

Properties: The function P(t) is a polynomial of degree k-1 on each interval x i t x i 1 i.e., A 4 th -order B-spline curve is a piecewise cubic curve. P(t) and its derivatives of order 1 to k-2 are all continuous over the entire curve. Positivity t 0 t For k=2 Partition of Unity N i,k t =1for any t and k For k=3 For k=3

For k=3 For k=3 For k=4 For k=9

point on the curve lies within the convex hull of k If all vertices of the control polygon are collinear then the B-spline curve is a straight line. If at least k-1 coincident vertices of the defining polygon occur, i.e., B i =B i+1 =...=B i+k-2, then the convex hull of these vertices is the vertex itself and so the resulting curve must pass through this vertex. Knot Vectors and Basis functions The i 's are the knot values with, x i x i 1 The basis function t is zero outside the knot span x i x i k Total number of knot values is k, where is the number of vertices of the control polygon and k is the order of the b-spline curve. For e.g., =4,k=3 N i,1 = { 1,if x i t x i 1 0, otherwise t = t x N t i i, k 1 x t N t i k i 1,k 1 x i k 1 x i x i k x i 1 Cox deboor recursive formula N 1,3 x 1,, x 4 N 4,3 x 4,, x 7 [ x 1, x 2, x 3, x 4, x 5, x 6, x 7 ] Uniform (or periodic) knot vector : Individual knot values are evenly spaced. For e.g., [1,2,3,4] [ 0.2, 0.1, 0.0, 0.1,0.2] [0.0, 0.25, 0.50, 0.75, 1.0] For a given order k, uniform knot vectors yield periodic uniform basis functions for which t = N i 1, k t 1 = N i 1,k t 1 Uniform (or periodic) knot vector : Individual knot values are evenly spaced. For a given order k, uniform knot vectors yield periodic uniform basis functions for which: t =N i 1, k t 1 =N i 1, k t 1 Thus each basis function is a translate of the other. Mathematical Elements for Computer Graphics, 4ed., D. F. Rogers and J. A. Adams

Open uniform knot vector : this has a multiplicity of knot values at the ends of the knot vector equal to the order k of the b-spline basis function. Internal knot values are evenly spaced. For e.g., [0, 0,1,2,3, 4,4]for k =2 Formally, [0, 0,1/4, 1/2, 3/4,1,1]for k=2 1 i k x i ={0, i k, k 1 i n k 2, n 2 i n k 1 Open uniform knot vector : this has a multiplicity of knot values at the ends of the knot vector equal to the order k of the b-spline basis function. Internal knot values are evenly spaced. 1 i k Formally, x i ={0, i k, k 1 i n k 2, n 2 i n k 1 The basis functions look as shown N 1,4 N 4,4 [X ]=[0.0 0.0 0.0 0.0 1.01.0 1.0 1.0 ] for k=4, =4 N 2,4 N 3,4 Looks familiar? Open uniform knot vector : this has a multiplicity of knot values at the ends of the knot vector equal to the order k of the b-spline basis function. Internal knot values are evenly spaced. 1 i k Formally, x i ={0, i k, k 1 i n k 2, n 2 i n k 1 N 1,4 N 2,4 N 3,4 N 4,4 The basis functions look as shown [ X ]=[0.0 0.0 0.0 0.0 1.01.0 1.0 1.0 ] for k =4, =4 The B-spline basis reduces to the Bernstien basis when k=and an open uniform knot vector is used. Non-uniform knot vector : this has a unequally spaced and/or multiple internal knot values. They may be periodic or open. For e.g., [0 0 011 2 2 2],[0, 0.28,0.5, 0.72,1] Mathematical Elements for Computer Graphics, 4ed., D. F. Rogers and J. A. Adams

Buildup of b-spline basis functions Buildup of b-spline basis functions 1 N i 1, k 1 2 N i 1, k 2 N i 2, k 2 N i k 1, k N i k 1, k N i,k N i 1, k N i k 1, k N i 1,2 N i,2 N i 1,2 N i, 1 N i,1 N i 1,1 N i 2,1 N i 3,1 N i k 1,1 Buildup of b-spline basis functions 1 N 1,1 N 2,1 N 3,1 N 4,1 N 5,1 N 6,1 0 1 2 3 4 5 6 1 N 1,2 N 2,2 N 3,2 N 4,2 N 5,2 0 1 2 3 4 5 6 1 0 N 1,3 N 2,3 N 3,3 N 4,3 1 2 3 4 5 6 =4 k=1 k=2 k=3 Properties Strong Convex Hull Property Curve follows shape of control polygon Maximum order = number of control points Invariance to affine transformation Variation diminishing property

Controlling the B-Spline Knot Vector (uniform, open, non-uniform) Order of the curve Number and position of control points Order of the b-spline curve Open uniform knot vector k=3 k=2 k=4 Multiplicity of control points Open uniform knot vector, k=4 Control Polygon,,, Multiplicity of control points Open uniform knot vector, k=4 Control Polygon,,,, k=4 k=4

Multiplicity of control points Open uniform knot vector, k=4 Control Polygon,,,,, [0 0 0 01111] [0 0 0 0 12 22 2] [0 0 0 0 12 3333] Moving a control point Mathematical Elements for Computer Graphics, 4ed., D. F. Rogers and J. A. Adams To get a closed curve, repeat k 2 polygon vertices at the beginning or at the end Curve Fitting or Interpolating B-splines Curve Fitting or Interpolating B-splines Find a B-spline passing through D 1, D 2,...D j D 1 t 1 =N 1, k t 1 N 2,k t 1 t 1 B i D 2 t 2 =N 1,k t 2 N 2, k t 2 N i,k t 2 B i = D j =N 1,k N 2,k N i,k B i where 2 k j Find a B-spline passing through D 1, D 2,...D j D=N. B D=[D 1 t 1 D 2 t 2 D j ] T B=[ B i ] T N=[N 1, k t 1 N i,k t 1 N 1, k N i,k ]

Curve Fitting or Interpolating B-splines Find a B-spline passing through D 1, D 2,...D j B=N 1. D if 2 k = j Rational P h t = B h i t Question: What can rational curves do for us that polynomial curves cannot? t 1 =0, B=[ N T N ] 1 N T. D if 2 k j t l t max = l s=2 j s=2 D s D s 1 D s D s 1 for l 2 t max =maximum value of the knot vector P t = R i,k t = B i h i N i,k t h i t h i t h i t = B i R i,k t Non uniform knot vector + Rational B splines = NURBS