M2R IVR, October 12th Mathematical tools 1 - Session 2

Similar documents
Interpolation and polynomial approximation Interpolation

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

CMSC427 Parametric curves: Hermite, Catmull-Rom, Bezier

Approximation of Circular Arcs by Parametric Polynomials

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

Sample Exam 1 KEY NAME: 1. CS 557 Sample Exam 1 KEY. These are some sample problems taken from exams in previous years. roughly ten questions.

Bernstein polynomials of degree N are defined by

Lecture 23: Hermite and Bezier Curves

Bézier Curves and Splines

Lecture 20: Bezier Curves & Splines

Curves, Surfaces and Segments, Patches

Lagrange Interpolation and Neville s Algorithm. Ron Goldman Department of Computer Science Rice University

CGT 511. Curves. Curves. Curves. What is a curve? 2) A continuous map of a 1D space to an nd space

Introduction to Computer Graphics. Modeling (1) April 13, 2017 Kenshi Takayama

Arsène Pérard-Gayot (Slides by Piotr Danilewski)

Curves. Hakan Bilen University of Edinburgh. Computer Graphics Fall Some slides are courtesy of Steve Marschner and Taku Komura

Introduction to Curves. Modelling. 3D Models. Points. Lines. Polygons Defined by a sequence of lines Defined by a list of ordered points

The Essentials of CAGD

1.1. The analytical denition. Denition. The Bernstein polynomials of degree n are dened analytically:

Cubic Splines; Bézier Curves

Computer Aided Design. B-Splines

Q( t) = T C T =! " t 3,t 2,t,1# Q( t) T = C T T T. Announcements. Bezier Curves and Splines. Review: Third Order Curves. Review: Cubic Examples

Chapter 1 Numerical approximation of data : interpolation, least squares method

MA 323 Geometric Modelling Course Notes: Day 07 Parabolic Arcs

MAT300/500 Programming Project Spring 2019

Home Page. Title Page. Contents. Bezier Curves. Milind Sohoni sohoni. Page 1 of 27. Go Back. Full Screen. Close.

Pythagorean-hodograph curves

Visualizing Bezier s curves: some applications of Dynamic System Geogebra

Curve Fitting: Fertilizer, Fonts, and Ferraris

On-Line Geometric Modeling Notes

An O(h 2n ) Hermite approximation for conic sections

Outline. 1 Interpolation. 2 Polynomial Interpolation. 3 Piecewise Polynomial Interpolation

Curvature variation minimizing cubic Hermite interpolants

A Relationship Between Minimum Bending Energy and Degree Elevation for Bézier Curves

Numerical Methods I: Interpolation (cont ed)

Geometric Lagrange Interpolation by Planar Cubic Pythagorean-hodograph Curves

Interpolation and polynomial approximation Interpolation

EXPLICIT ERROR BOUND FOR QUADRATIC SPLINE APPROXIMATION OF CUBIC SPLINE

Smooth Path Generation Based on Bézier Curves for Autonomous Vehicles

In practice one often meets a situation where the function of interest, f(x), is only represented by a discrete set of tabulated points,

Keyframing. CS 448D: Character Animation Prof. Vladlen Koltun Stanford University

Curves - Foundation of Free-form Surfaces

Path Planning based on Bézier Curve for Autonomous Ground Vehicles

Reading. w Foley, Section 11.2 Optional

G-code and PH curves in CNC Manufacturing

GEOMETRIC MODELLING WITH BETA-FUNCTION B-SPLINES, I: PARAMETRIC CURVES

Rational Bézier Patch Differentiation using the Rational Forward Difference Operator

Computer Graphics Keyframing and Interpola8on

Scientific Computing: An Introductory Survey

Nonlinear Means in Geometric Modeling

MA 323 Geometric Modelling Course Notes: Day 11 Barycentric Coordinates and de Casteljau s algorithm

University of Houston, Department of Mathematics Numerical Analysis, Fall 2005

The Bernstein polynomial basis: a centennial retrospective

Optimized Compact-support Interpolation Kernels

Geometric Interpolation by Planar Cubic Polynomials

Curvature of Digital Curves

Computational Physics

Lecture 20: Lagrange Interpolation and Neville s Algorithm. for I will pass through thee, saith the LORD. Amos 5:17

EXISTENCE OF SET-INTERPOLATING AND ENERGY- MINIMIZING CURVES

A Variational Model for Data Fitting on Manifolds by Minimizing the Acceleration of a Bézier Curve

CS 536 Computer Graphics NURBS Drawing Week 4, Lecture 6

12. Lines in R 3. through P 0 and is parallel to v is written parametrically as a function of t: Using vector notation, the same line is written

CONTROL POLYGONS FOR CUBIC CURVES

Some notes on Chapter 8: Polynomial and Piecewise-polynomial Interpolation

1 f(u)b n i (u)du, (1.1)

Curve Fitting. 1 Interpolation. 2 Composite Fitting. 1.1 Fitting f(x) 1.2 Hermite interpolation. 2.1 Parabolic and Cubic Splines

Characterization of Planar Cubic Alternative curve. Perak, M sia. M sia. Penang, M sia.

Interpolation. Escuela de Ingeniería Informática de Oviedo. (Dpto. de Matemáticas-UniOvi) Numerical Computation Interpolation 1 / 34

CHAPTER 4. Interpolation

Continuous Curvature Path Generation Based on Bézier Curves for Autonomous Vehicles

Spline Methods Draft. Tom Lyche and Knut Mørken

Hermite Interpolation with Euclidean Pythagorean Hodograph Curves

Lecture 10 Polynomial interpolation

Spiral spline interpolation to a planar spiral

Automatic Control Motion planning

Interpolation Theory

Scientific Computing

SPLINE INTERPOLATION

MATH Final Review

Geometric meanings of the parameters on rational conic segments

Linear precision for parametric patches Special session on Applications of Algebraic Geometry AMS meeting in Vancouver, 4 October 2008

Curves and Surfaces Represented by Support Function

MA 323 Geometric Modelling Course Notes: Day 12 de Casteljau s Algorithm and Subdivision

Novel polynomial Bernstein bases and Bézier curves based on a general notion of polynomial blossoming

Key Words: cardinal B-spline, coefficients, moments, rectangular rule, interpolating quadratic spline, hat function, cubic B-spline.

A Symbolic Derivation of Beta-splines of Arbitrary Order

Self-Influencing Interpolation in Groundwater Flow

Computing roots of polynomials by quadratic clipping

Interpolation and Deformations A short cookbook

International Journal of Pure and Applied Mathematics Volume 57 No , GENERALIZED EXPO-RATIONAL B-SPLINES

Region Description for Recognition

Weighted G 1 -Multi-Degree Reduction of Bézier Curves

Geometric Hermite curves with minimum strain energy

2 The De Casteljau algorithm revisited

B-splines and control theory

From Data To Functions Howdowegofrom. Basis Expansions From multiple linear regression: The Monomial Basis. The Monomial Basis

Extrapolation Methods for Approximating Arc Length and Surface Area

Engineering 7: Introduction to computer programming for scientists and engineers

Function Approximation

Transcription:

Mathematical tools 1 Session 2 Franck HÉTROY M2R IVR, October 12th 2006

First session reminder Basic definitions Motivation: interpolate or approximate an ordered list of 2D points P i n Definition: spline curve: C(t) = F i (t)p i Interesting properties: n Normality: t, F i (t) = 1 (affine/barycentric invariance) i=0 i=0 Positivity: t, i, F i (t) 0 (convex hull) Regularity: i, F i has a single max (oscillation regularization) Locality: i, F i has compact support Parametric/geometric continuity

Interpolation and approximation 1 Basic definitions 2 Wavelets and multiresolution

Decomposing a spline We will look for uniform splines: C(t) = n n 1 F i (t)p i = C i (n.t i) i=0 i=0 with C i : [0, 1] R 3 polynomial in t each C i corresponds to a curve segment, defined for t [ i n, i+1 n ] = [t i, t i+1 ]

Interpolation splines Which parametric continuity? C 0 control polygon! C 1 : shared derivatives D i 4 conditions for each curve segment: C i (0) = P i C i (1) = P i+1 C i (0) = D i C i (1) = D i+1 C i = degree 3 polynomial: C i (t) = A + Bt + Ct 2 + Dt 3

Cubic Hermite splines (first order) If D i are given, C i (t) is uniquely determined: C i (t) = H 0 (t)p i + H 1 (t)p i+1 + H 2 (t)d i + H 3 (t)d i+1 H 0 (t) = 1 3t 2 + 2t 3 H 1 (t) = 3t 2 2t 3 H 2 (t) = t 2t 2 + t 3 H 3 (t) = t 2 + t 3 Problem: how do we compute D i values?

Cubic Hermite splines (second order) First idea: reinforce continuity C 2 continuity conditions: C i (0) = P i C i (1) = P i+1 C i (1) = C i+1 (0) C i (1) = C i+1 (0) if we have m + 1 points P i (i.e. m curve segments), we have 4m unknown values (A, B, C, D for each C i ) and 4(m 1) + 2 equations (only 2 for the last segment) we need 2 other conditions Usually, we set { C 0 (0) = 0 C n 1 = 0

Hermite splines (second order) Property For a Hermite spline of order 2, the D i values are given by: 2 1 1 4 1...... 1 4 1 2 1 D 0............ D n = 3(P 1 P 0 ) 3(P 2 P 0 )...... 3(P n P n 2 ) 3(P n P n 1 ) Proof. 4 equations for each C i C i is degree 3. Let C i (t) = a i + b i t + c i t 2 + d i t 3. Solve the previous equations.

Cardinal spline Other idea: we want D i parallel to P i 1 P i+1 (no condition on second derivative) conditions: C i (0) = P i C i (1) = P i+1 C i (1) = C i+1 (0) C i (0) = k(p i+1 P i 1 ) (same k for all derivatives) each segment curve depends on 4 points: P i 1, P i, P i+1 and P i+2

Cardinal spline Property C i (t) = (t 3 t 2 t 1)M card P i 1 P i P i+1 P i+2 Property M card = with k 2 k 2 + k k 2k 3 + k 3 2k k k 0 k 0 0 1 0 0 A cardinal spline is normal, regular, local of order 4, and C 1 -continous.

Approximation splines Historical background: early 1960s: first numerically-controlled machines in automotive industry need to design (smooth) curves and surfaces starting from a very few number of 3D points (esp. for coachbuilding) Pierre Bézier (Renault, 1960-1963): theoretical study and tests, conception of a whole system ( UNISURF ) Paul de Faget de Casteljau (Citroën, 1958-1959): geometric algorithm Robin Forrest (Univ. Cambridge, 1972): link between both, popularization to know more, see Christophe Rabut s webpage: http://www-gmm.insa-toulouse.fr/ rabut/bezier/

Bézier curves Definition (Bézier curve) i, F i (t) = B n i (t) = C i nt i (1 t) n i (Bernstein polynomials). Remember that n + 1 is the number of control points. Property A Bézier curve is normal, positive, regular and C -continuous. Moreover, it goes through first and last points P 0 and P n. Problems: 1 a Bézier curve is not local 2 the higher the number of control points, the higher the degree of polynomials computation time and numerical stability problems

de Casteljau s algorithm How can we compute points on a Bézier curve without doing all the computations? Idea: divide each segment P i P i+1, creating a new point Pi 1 = tp i + (1 t)p i+1, then do the same with segments Pi 1 Pi+1 1, etc. Example: t = 0.4

Piecewise Bézier curves Definition (Piecewise Bézier curve) If n = 3m + 1, C(t) = m 1 i=0 C i (m.t i) with i m, C i (t) = B 3 0 (t)p 3i + B 3 1 (t)p 3i+1 + B 3 2 (t)p 3i+2 + B 3 3 (t)p 3i+3. That is to say, C i (t) = (1 t) 3 P 3i + 3(1 t) 2 tp 3i+1 + 3(1 t)t 2 P 3i+2 + t 3 P 3i+3. Property A piecewise Bézier curve is local of order 2, normal, positive, regular and C 0 -continuous. It also goes through points P 3i. Problem: only C 0 -continuous Solution: if i m, P 3i+1 = 2P 3i P 3i 1, then C 1 -continuous That means 1/3 of the points cannot be freely chosen If we want C 2 -continuity, the curve must be global

B-splines Goal: normal, positive, regular, local and C 2 -continuous splines Property The functions F i are uniquely determined if we assess: normality: F i (t) = 1 i locality of order 4 each F i is made of 4 curve segments, which are cubic polynomials C 2 -continuity between two successive cubic polynomials

B-splines Property C i (t) = (t 3 t 2 t 1)M bspline P i 1 P i P i+1 P i+2 M bspline = with 1 3 3 1 3 6 3 0 3 0 3 0 1 4 1 0 Compare to cardinal splines: pros and cons?

Particular cases If P i 1, P i, P i+1 and P i+2 are aligned, then the curve is locally a straight line If P i 1 = P i = P i+1 (triple point), then this point is interpolated by the curve If we want to interpolate first and last points P 0 and P n, we can add extra points P 1 = 6P 0 4P 1 P 2 and P n+1 = 6P n 4P n 1 P n 2

B-splines of order k (= degree k 1) Previous were B-splines of order 4/degree 3 (cubic splines) Definition (B-spline of order k, Cox-de Boor recursion formula) F i = B i,k, defined by the following recursive formula: { 1 if ti t < t B i,1 (t) = i+1 0 else Property B i,k (t) = t t i t i+k 1 t i B i,k 1 (t) + t i+k t t i+k t i+1 B i+1,k 1 (t) with i = 0... n, t i [0, 1] and t 0 t1 t n A B-spline of order k is k-local and C k 2 -continuous. Each F i is made of k curve segments, each of them being a polynomial of degree k 1.

de Boor s algorithm Generalization of de Casteljau s: construction of points on a B-spline curve What s different: weights used to divide each segment P i P i+1 vary; not all control points are involved, only k + 1 Weights are found with a triangular scheme using Cox-de Boor recursion formula Example Cubic B-spline, 11 control points (n = 10), i, t i = i/10. t = 0.45: we want to compute C(0.45). Cubic 4-local only P 1, P 2, P 3, P 4 involved P 1 a 1 2 P 2 P 3 P 4 1 a 1 2 a 1 3 1 a 1 3 a 1 4 1 a 1 4 P 1 2 P 1 3 P 1 4 a 2 3 1 a 2 3 a 2 4 P 2 3 P 2 4 a 3 4 1 a 2 4 1 a 3 4 P 3 4

de Boor s algorithm Property a j i = t i+k j t t i+k j t i Example Here, a 1 2 = 1 6, a1 3 = 1 2, a1 4 = 5 6, a2 3 = 1 4, a2 4 = 3 4, a3 4 = 1 2.

Beta-splines Definition (Beta-spline) C i (t) = (t 3 t 2 t 1)M beta (β 1, β 2 ) P i 1 P i P i+1 P i+2 Generalization of B-splines G k 2 -continuous instead of C k 2 Two parameters β 1 and β 2 : bias and tension, to control slope and curvature

N.U.R.B.S. Problem: with these splines we cannot draw some simple curves (e.g. conics, even a circle!) Piecewise polynomials as influence functions are not adequate Example Circle C((0, 0), 1): C(t) = (x(t), y(t)) cannot be represented using polynomials, otherwise x(t) 2 + y(t) 2 = 1 is a polynomial in t C(t) = ( 2t, 1 t2 ) 1+t 2 1+t 2 Idea: rather use rational polynomials

N.U.R.B.S. Definition (N.U.R.B.S. of order k) F i (t) = R i,k (t) = w ib i,k (t), n w j B j,k (t) j=1 with w i real numbers (weights, usually 0 what happens if w i = 0?) and B i,k the influence functions of the B-spline of order k having the same control points N.U.R.B.S. stands for Non Uniform Rational B-Spline B-splines are a special case of N.U.R.B.S. : i, w i = 1 R i,k are rational polynomials of degree k 1

N.U.R.B.S. Property A N.U.R.B.S. curve of order k is normal, positive, regular, k-local and C k 2 -continuous. Circle: P 4 P 4 P 5 P 6 P 3 P 5 P 3 P 7 P 2 P 1 = P 7 P 6 P 2 P 1 = P 9 P 8 w 2i+1 = 1 w 2i+1 = 1 w 2i = 1 2 w 2i = 2 2

Spline surfaces Interpolate or approximate a grid of 3D points P i,j Spline surfaces are constructed by tensor product of spline curves: n m S(t, t ) = F i,j (t, t )P i,j i=0 j=0 If F i,j (t, t ) = F i (t)f j (t ), then isocurves (t = cst or t = cst) are spline curves Same properties as spline curves: normality, regularity, locality, continuity between patches,...

See you next week The end!

Wavelets and multiresolution Interpolation and approximation 1 2 Wavelets and multiresolution