Spline Curves COMP 575/COMP 770

Similar documents
CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Geometric Modelling & Curves

Figure 2.1: Center of mass of four points.

Computer Graphics. Geometric Modeling. Page 1. Copyright Gotsman, Elber, Barequet, Karni, Sheffer Computer Science - Technion. An Example.

the points are called control points approximating curve

Modeling Curves and Surfaces

We can display an object on a monitor screen in three different computer-model forms: Wireframe model Surface Model Solid model

(Refer Slide Time: 1:42)

CHAPTER 1 Splines and B-splines an Introduction

Numerical integration of a function known only through data points

Curves and Surfaces. Goals. How do we draw surfaces? How do we specify a surface? How do we approximate a surface?

Essential Mathematics for Computer Graphics fast

Computer Animation: Art, Science and Criticism

Degree Reduction of Interval SB Curves

How To Use Design Mentor

EECS 556 Image Processing W 09. Interpolation. Interpolation techniques B splines

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

Thnkwell s Homeschool Precalculus Course Lesson Plan: 36 weeks

BEZIER CURVES AND SURFACES

Linear Programming. March 14, 2014

Corollary. (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality

Computational Geometry. Lecture 1: Introduction and Convex Hulls

Planar Curve Intersection

Arithmetic and Algebra of Matrices

TWO-DIMENSIONAL TRANSFORMATION

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Dhiren Bhatia Carnegie Mellon University

NEW YORK STATE TEACHER CERTIFICATION EXAMINATIONS

Prentice Hall Mathematics: Algebra Correlated to: Utah Core Curriculum for Math, Intermediate Algebra (Secondary)

Largest Fixed-Aspect, Axis-Aligned Rectangle

PYTHAGOREAN TRIPLES KEITH CONRAD

A matrix method for degree-raising of B-spline curves *

1 Review of Least Squares Solutions to Overdetermined Systems

3. Interpolation. Closing the Gaps of Discretization... Beyond Polynomials

CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION 1. BASIC DIVISIBILITY THEORY

POLYNOMIAL FUNCTIONS

Algebra 1 Course Title

Name: Section Registered In:

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Algebra and Geometry Review (61 topics, no due date)

CATIA Wireframe & Surfaces TABLE OF CONTENTS

A Geometric Characterization of Parametric Cubic Curves

Current Standard: Mathematical Concepts and Applications Shape, Space, and Measurement- Primary

MATH 60 NOTEBOOK CERTIFICATIONS

November 16, Interpolation, Extrapolation & Polynomial Approximation

Actually Doing It! 6. Prove that the regular unit cube (say 1cm=unit) of sufficiently high dimension can fit inside it the whole city of New York.

DERIVATIVES AS MATRICES; CHAIN RULE

8. Linear least-squares

Math 131 College Algebra Fall 2015

Linear Programming I

Section 3-3 Approximating Real Zeros of Polynomials

Mathematics Pre-Test Sample Questions A. { 11, 7} B. { 7,0,7} C. { 7, 7} D. { 11, 11}

CATIA Electrical Harness Design TABLE OF CONTENTS

1 Cubic Hermite Spline Interpolation

Method To Solve Linear, Polynomial, or Absolute Value Inequalities:

Estimating the Average Value of a Function

Prentice Hall Algebra Correlated to: Colorado P-12 Academic Standards for High School Mathematics, Adopted 12/2009

Piecewise Cubic Splines

NEW MEXICO Grade 6 MATHEMATICS STANDARDS

NURBS Drawing Week 5, Lecture 10

Higher Education Math Placement

RELEASED. Student Booklet. Precalculus. Fall 2014 NC Final Exam. Released Items

Estimated Pre Calculus Pacing Timeline

Chapter 1. Creating Sketches in. the Sketch Mode-I. Evaluation chapter. Logon to for more details. Learning Objectives

Two hours UNIVERSITY OF MANCHESTER SCHOOL OF COMPUTER SCIENCE. M.Sc. in Advanced Computer Science. Friday 18 th January 2008.

CS 4204 Computer Graphics

Modeling Tools Objectives. Sweeps and Lofts. Loft Feature

NURBS Drawing Week 5, Lecture 10

Numerical algorithms for curve approximation and novel user oriented interactive tools

Charlesworth School Year Group Maths Targets

1 Solving LPs: The Simplex Algorithm of George Dantzig

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

Scan Conversion of Filled Primitives Rectangles Polygons. Many concepts are easy in continuous space - Difficult in discrete space

5: Magnitude 6: Convert to Polar 7: Convert to Rectangular

The Basics of FEA Procedure

Copyrighted Material. Chapter 1 DEGREE OF A CURVE

88 CHAPTER 2. VECTOR FUNCTIONS. . First, we need to compute T (s). a By definition, r (s) T (s) = 1 a sin s a. sin s a, cos s a

A Short Introduction to Computer Graphics

Computer Aided Design (CAD)

Lecture 3: Finding integer solutions to systems of linear equations

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Pre-Algebra Academic Content Standards Grade Eight Ohio. Number, Number Sense and Operations Standard. Number and Number Systems

Computer Aided Design (CAD)

Creating, Solving, and Graphing Systems of Linear Equations and Linear Inequalities

The Essentials of CAGD

F.IF.7b: Graph Root, Piecewise, Step, & Absolute Value Functions

Glencoe. correlated to SOUTH CAROLINA MATH CURRICULUM STANDARDS GRADE 6 3-3, , , 4-9

Linear Programming Problems

FOREWORD. Executive Secretary

Florida Math Correlation of the ALEKS course Florida Math 0018 to the Florida Mathematics Competencies - Lower

This unit will lay the groundwork for later units where the students will extend this knowledge to quadratic and exponential functions.

ab = c a If the coefficients a,b and c are real then either α and β are real or α and β are complex conjugates

Prerequisites: TSI Math Complete and high school Algebra II and geometry or MATH 0303.


1. Abstract 2. Introduction 3. Algorithms and Techniques

MATHCOUNTS TOOLBOX Facts, Formulas and Tricks

MATH 423 Linear Algebra II Lecture 38: Generalized eigenvectors. Jordan canonical form (continued).

Mathematics Scope and Sequence, K-8

Transcription:

Spline Curves COMP 575/COMP 770 1

[Boeing] Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines, squares, rectangles, ) circles and ellipses (only get you so far!) 2

Classical approach Pencil-and-paper draftsmen also needed smooth curves Origin of spline: strip of flexible metal held in place by pegs or weights to constrain shape traced to produce smooth contour 3

Translating into usable math Smoothness in drafting spline, comes from physical curvature minimization in CG spline, comes from choosing smooth functions usually low-order polynomials Control in drafting spline, comes from fixed pegs in CG spline, comes from user-specified control points 4

Defining spline curves At the most general they are parametric curves Generally f(t) is a piecewise polynomial for this lecture, the discontinuities are at the integers 5

Defining spline curves Generally f(t) is a piecewise polynomial for this lecture, the discontinuities are at the integers e.g., a cubic spline has the following form over [k, k + 1]: Coefficients are different for every interval 6

Coordinate functions 7

Coordinate functions 8

Control of spline curves Specified by a sequence of control points Shape is guided by control points (aka control polygon) interpolating: passes through points approximating: merely guided by points 9

How splines depend on their controls Each coordinate is separate the function x(t) is determined solely by the x coordinates of the control points this means 1D, 2D, 3D, curves are all really the same Spline curves are linear functions of their controls moving a control point two inches to the right moves x(t) twice as far as moving it by one inch x(t), for fixed t, is a linear combination (weighted sum) of the control points x coordinates p(t), for fixed t, is a linear combination (weighted sum) of the control points 10

Trivial example: piecewise linear This spline is just a polygon control points are the vertices But we can derive it anyway as an illustration Each interval will be a linear function x(t) = at + b constraints are values at endpoints b = x 0 ; a = x 1 x 0 this is linear interpolation 11

Trivial example: piecewise linear Vector formulation Matrix formulation 12

Trivial example: piecewise linear Basis function formulation regroup expression by p rather than t interpretation in matrix viewpoint 13

Trivial example: piecewise linear Vector blending formulation: average of points blending functions: contribution of each point as t changes 14

Trivial example: piecewise linear Basis function formulation: function times point basis functions: contribution of each point as t changes can think of them as blending functions glued together this is just like a reconstruction filter! 15

Seeing the basis functions Basis functions of a spline are revealed by how the curve changes in response to a change in one control to get a graph of the basis function, start with the curve laid out in a straight, constant-speed line what are x(t) and y(t)? then move one control straight up 16

Hermite splines Less trivial example Form of curve: piecewise cubic Constraints: endpoints and tangents (derivatives) 17

Hermite splines Solve constraints to find coefficients 18

Hermite splines Matrix form is much simpler cofficients = rows basis functions = columns note p columns sum to [0 0 0 1] T 19

Longer Hermite splines Can only do so much with one Hermite spline Can use these splines as segments of a longer curve curve from t = 0 to t = 1 defined by first segment curve from t = 1 to t = 2 defined by second segment To avoid discontinuity, match derivatives at junctions this produces a C 1 curve 20

Hermite splines Hermite blending functions 21

Hermite splines Hermite basis functions 22

Continuity Smoothness can be described by degree of continuity zero-order (C 0 ): position matches from both sides first-order (C 1 ): tangent matches from both sides second-order (C 2 ): curvature matches from both sides G n vs. C n zero order first order second order 23

Continuity Parametric continuity (C) of spline is continuity of coordinate functions Geometric continuity (G) is continuity of the curve itself Neither form of continuity is guaranteed by the other Can be C 1 but not G 1 when p(t) comes to a halt (next slide) Can be G 1 but not C 1 when the tangent vector changes length abruptly 24

Control Local control changing control point only affects a limited part of spline without this, splines are very difficult to use many likely formulations lack this natural spline polynomial fits 25

Control Convex hull property convex hull = smallest convex region containing points think of a rubber band around some pins some splines stay inside convex hull of control points make clipping, culling, picking, etc. simpler YES YES YES NO 26

Affine invariance Transforming the control points is the same as transforming the curve true for all commonly used splines extremely convenient in practice 27

Matrix form of spline 28

Hermite splines Constraints are endpoints and endpoint tangents 29

Hermite basis 30

Affine invariance Basis functions associated with points should always sum to 1 31

Hermite to Bézier Mixture of points and vectors is awkward Specify tangents as differences of points note derivative is defined as 3 times offset reason is illustrated by linear case 32

Hermite to Bézier 33

Bézier matrix note that these are the Bernstein polynomials C(n,k) t k (1 t) n k and that defines Bézier curves for any degree 34

Bézier basis 35

Convex hull If basis functions are all positive, the spline has the convex hull property we re still requiring them to sum to 1 if any basis function is ever negative, no convex hull prop. proof: take the other three points at the same place 36

Chaining spline segments Hermite curves are convenient because they can be made long easily Bézier curves are convenient because their controls are all points and they have nice properties and they interpolate every 4th point, which is a little odd We derived Bézier from Hermite by defining tangents from control points a similar construction leads to the interpolating Catmull- Rom spline 37

Chaining Bézier splines No continuity built in Achieve C 1 using collinear control points 38

[FvDFH] Subdivision A Bézier spline segment can be split into a twosegment curve: de Casteljau s algorithm also works for arbitrary t 39

Cubic Bézier splines Very widely used type, especially in 2D e.g. it is a primitive in PostScript/PDF Can represent C 1 and/or G 1 curves with corners Can easily add points at any position 40

B-splines We may want more continuity than C 1 http://en.wikipedia.org/wiki/smooth_function We may not need an interpolating spline B-splines are a clean, flexible way of making long splines with arbitrary order of continuity Various ways to think of construction a simple one is convolution relationship to sampling and reconstruction 41

Cubic B-spline basis 42

Deriving the B-Spline Approached from a different tack than Hermitestyle constraints Want a cubic spline; therefore 4 active control points Want C 2 continuity Turns out that is enough to determine everything 43

Efficient construction of any B-spline B-splines defined for all orders order d: degree d 1 order d: d points contribute to value One definition: Cox-deBoor recurrence 44

B-spline construction, alternate view Recurrence ramp up/down Convolution smoothing of basis fn smoothing of curve 45

Cubic B-spline matrix 46

Other types of B-splines Nonuniform B-splines discontinuities not evenly spaced allows control over continuity or interpolation at certain points e.g. interpolate endpoints (commonly used case) Nonuniform Rational B-splines (NURBS) ratios of nonuniform B-splines: x(t) / w(t); y(t) / w(t) key properties: invariance under perspective as well as affine ability to represent conic sections exactly 47

Converting spline representations All the splines we have seen so far are equivalent all represented by geometry matrices where S represents the type of spline therefore the control points may be transformed from one type to another using matrix multiplication 48

Evaluating splines for display Need to generate a list of line segments to draw generate efficiently use as few as possible guarantee approximation accuracy Approaches reccursive subdivision (easy to do adaptively) uniform sampling (easy to do efficiently) 49

[FvDFH] Evaluating by subdivision Recursively split spline stop when polygon is within epsilon of curve Termination criteria distance between control points distance of control points from line p 2 p 4 p 1 p 3 50

Evaluating with uniform spacing Forward differencing efficiently generate points for uniformly spaced t values evaluate polynomials using repeated differences 51