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

Size: px
Start display at page:

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

Transcription

1 CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines Catmull-Rom Splines Other Cubic Splines [Angel Ch ] Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve describing the roller coaster, but how? 1 2 Modeling Complex Shapes We want to build models of very complicated objects Complexity is achieved using simple pieces polygons, parametric curves and surfaces, or implicit curves and surfaces This lecture: parametric curves What Do We Need From Curves in Computer Graphics? Local control of shape (so that easy to build and modify) Stability Smoothness and continuity Ability to evaluate derivatives Ease of rendering 3 4 Curve Representations 2 Explicit: y = f(x) y = x y = mx + b Must be a function (single-valued) Big limitation vertical lines? Parametric: (x,y) = (f(u),g(u)) + Easy to specify, modify, control Extra hidden variable u, the parameter ( x, y) = (cosu,sin u) Implicit: f(x,y) = 0 + y can be a multiple valued function of x Hard to specify, modify, control x y r = 0 Parameterization of a Curve Parameterization of a curve: how a change in u moves you along a given curve in xyz space. Parameterization is not unique. It can be slow, fast, with continuous / discontinuous speed, clockwise (CW) or CCW parameterization u=0 u=1 u=0 u=0.3 u=0.8 u=

2 Polynomial Interpolation An n-th degree polynomial fits a curve to n+1 points called Lagrange Interpolation result is a curve that is too wiggly, change to any control point affects entire curve (non-local) this method is poor We usually want the curve to be as smooth as possible minimize the wiggles high-degree polynomials are bad source: Wikipedia Lagrange interpolation, degree=15 Splines: Piecewise Polynomials A spline is a piecewise polynomial: Curve is broken into consecutive segments, each of which is a low-degree polynomial interpolating (passing through) the control points Cubic piecewise polynomials are the most common: They are the lowest order polynomials that 1. interpolate two points and 2. allow the gradient at each point to be defined (C 1 continuity is possible). Piecewise definition gives local control. Higher or lower degrees are possible, of course. a spline 7 8 Piecewise Polynomials Spline: many polynomials pieced together Want to make sure they fit together nicely Splines Types of splines: Hermite Splines Bezier Splines Catmull-Rom Splines Natural Cubic Splines B-Splines NURBS Splines can be used to model both curves and surfaces Continuous in position Continuous in position and tangent vector Continuous in position, tangent, and curvature 9 10 Cubic Curves in 3D Cubic polynomial: p(u) = au 3 +bu 2 +cu+d = [u 3 u 2 u 1] [a b c d] T a,b,c,d are 3-vectors, u is a scalar Cubic Hermite Splines Three cubic polynomials, one for each coordinate: x(u) = a x u 3 + b x u 2 + c x u + d x y(u) = a y u 3 + b y u 2 + c y u + d y z(u) = a z u 3 + b z u 2 + c z u + d z In matrix notation: Or simply: p = [u 3 u 2 u 1] A We want a way to specify the end points and the slope at the end points!

3 Deriving Hermite Splines Four constraints: value and slope (in 3-D, position and tangent vector) at beginning and end of interval [0,1] : p(0) = p 1 = (x 1, y 1, z 1 ) p(1) = p 2 = (x 2, y 2, z 2 ) the user constraints p (0) = p 1 = (x 1, y 1, z 1 ) p (1) = p 2 = (x 2, y 2, z 2 ) Assume cubic form: p(u) = au 3 + bu 2 + cu + d Four unknowns: a, b, c, d Deriving Hermite Splines Assume cubic form: p(u) = au 3 + bu 2 + cu + d p 1 = p(0) = d p 2 = p(1) = a + b + c + d p 1 = p (0) = c p 2 = p (1) = 3a + 2b + c Linear system: 12 equations for 12 unknowns (however, can be simplified to 4 equations for 4 unknowns) Unknowns: a, b, c, d (each of a, b, c, d is a 3-vector) Deriving Hermite Splines d = p 1 The Cubic Hermite Spline Equation After inverting the 4x4 matrix, we obtain: a + b + c + d = p 2 c = p 1 3a + 2b + c = p 2 Rewrite this 12x12 system as a 4x4 system: point on the spline parameter vector basis control matrix (what the user gets to pick) This form is typical for splines basis matrix and meaning of control matrix change with the spline type Four Basis Functions for Hermite Splines transpose T 4 Basis Functions Piecing together Hermite Splines It's easy to make a multi-segment Hermite spline: each segment is specified by a cubic Hermite curve just specify the position and tangent at each joint (called knot) the pieces fit together with matched positions and first derivatives gives C1 continuity Every cubic Hermite spline is a linear combination (blend) of these 4 functions

4 Hermite Splines in Adobe Illustrator Bezier Splines 19 Variant of the Hermite spline Instead of endpoints and tangents, four control points points P1 and P4 are on the curve points P2 and P3 are off the curve p(0) = P1, p(1) = P4, p'(0) = 3(P2-P1), p'(1) = 3(P4 - P3) Basis matrix is derived from the Hermite basis (or from scratch) Convex Hull property: curve contained within the convex hull of control points Scale factor 3 is chosen to make velocity approximately constant 20 The Bezier Spline Matrix Bezier Blending Functions Hermite basis Bezier to Hermite Bezier control matrix Bezier basis Bezier control matrix 21 Also known as the order 4, degree 3 Bernstein polynomials Nonnegative, sum to 1 The entire curve lies inside the polyhedron bounded by the control points 22 DeCasteljau Construction Catmull-Rom Splines Roller-coaster (next programming assignment) With Hermite splines, the designer must arrange for consecutive tangents to be collinear, to get C 1 continuity. Similar for Bezier. This gets tedious. Catmull-Rom: an interpolating cubic spline with built-in C 1 continuity. Compared to Hermite/Bezier: fewer control points required, but less freedom. Efficient algorithm to evaluate Bezier splines. Similar to Horner rule for polynomials. Can be extended to interpolations of 3D rotations. 23 Catmull-Rom spline 24 4

5 Constructing the Catmull-Rom Spline Catmull-Rom Spline Matrix Suppose we are given n control points in 3-D: p 1, p 2,, p n. For a Catmull-Rom spline, we set the tangent at p i to s*(p i+1 p i-1 ) for i=2,..., n-1, for some s (often s=0.5) s is tension parameter: determines the magnitude (but not direction!) of the tangent vector at point p i basis control matrix What about endpoint tangents? Use extra control points p 0, p n+1. Now we have positions and tangents at each knot. This is a Hermite specification. Now, just use Hermite formulas to derive the spline. Derived in way similar to Hermite and Bezier Parameter s is typically set to s=1/2. Note: curve between p i and p i+1 is completely determined by p i-1, p i, p i+1, p i Splines with More Continuity? So far, only C 1 continuity. How could we get C 2 continuity at control points? Possible answers: Use higher degree polynomials degree 4 = quartic, degree 5 = quintic, but these get computationally expensive, and sometimes wiggly Give up local control natural cubic splines A change to any control point affects the entire curve Give up interpolation cubic B-splines Curve goes near, but not through, the control points Comparison of Basic Cubic Splines Type Local Control Continuity Interpolation Hermite YES C1 YES Bezier YES C1 YES Catmull-Rom YES C1 YES Natural NO C2 YES B-Splines YES C2 NO Summary: Cannot get C2, interpolation and local control with cubics Natural Cubic Splines If you want 2nd derivatives at joints to match up, the resulting curves are called natural cubic splines It s a simple computation to solve for the cubics' coefficients. (See Numerical Recipes in C book for code.) Finding all the right weights is a global calculation (solve tridiagonal linear system) Give up interpolation B-Splines the curve passes near the control points best generated with interactive placement (because it s hard to guess where the curve will go) Curve obeys the convex hull property C2 continuity and local control are good compensation for loss of interpolation

6 B-Spline Basis We always need 3 more control points than the number of spline segments Other Common Types of Splines Non-uniform Splines Non-Uniform Rational Cubic curves (NURBS) NURBS are very popular and used in many commercial packages How to Draw Spline Curves Basis matrix equation allows same code to draw any spline type Method 1: brute force Calculate the coefficients For each cubic segment, vary u from 0 to 1 (fixed step size) Plug in u value, matrix multiply to compute position on curve Draw line segment from last position to current position What s wrong with this approach? Draws in even steps of u Even steps of u does not mean even steps of x Line length will vary over the curve Want to bound line length» too long: curve looks jagged» too short: curve is slow to draw 33 Drawing Splines, 2 Method 2: recursive subdivision - vary step size to draw short lines Subdivide(u0,u1,maxlinelength) umid = (u0 + u1)/2 x0 = F(u0) x1 = F(u1) if x1 - x0 > maxlinelength Subdivide(u0,umid,maxlinelength) Subdivide(umid,u1,maxlinelength) else drawline(x0,x1) Variant on Method 2 - subdivide based on curvature replace condition in if statement with straightness criterion draws fewer lines in flatter regions of the curve 34 Summary Piecewise cubic is generally sufficient Define conditions on the curves and their continuity Most important: basic curve properties (what are the conditions, controls, and properties for each spline type) generic matrix formula for uniform cubic splines p(u) = u B G given a definition, derive a basis matrix (do not memorize the matrices themselves) 35 6

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

Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.hao-li.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve

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

Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

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

Parametric Curves University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Parametric Representations 3 basic representation strategies: Explicit: y = mx + b Implicit: ax + by + c

### Design considerations

Curves Design considerations local control of shape design each segment independently smoothness and continuity ability to evaluate derivatives stability small change in input leads to small change in

### 3D Modeling Parametric Curves & Surfaces

3D Modeling Parametric Curves & Surfaces Shandong University Spring 2012 3D Object Representations Raw data Point cloud Range image Polygon soup Solids Voxels BSP tree CSG Sweep Surfaces Mesh Subdivision

### Parametric curves. Brian Curless CSE 457 Spring 2016

Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics

### Curves and Surfaces Computer Graphics I Lecture 9

15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie

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

3D Modeling Parametric Curves & Surfaces Shandong University Spring 2013 3D Object Representations Raw data Point cloud Range image Polygon soup Surfaces Mesh Subdivision Parametric Implicit Solids Voxels

### Information Coding / Computer Graphics, ISY, LiTH. Splines

28(69) Splines Originally a drafting tool to create a smooth curve In computer graphics: a curve built from sections, each described by a 2nd or 3rd degree polynomial. Very common in non-real-time graphics,

### Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics Curves and Surfaces Matthias Teschner Outline Introduction Polynomial curves Bézier curves Matrix notation Curve subdivision Differential curve properties Piecewise polynomial curves

### Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Curves and surfaces Escaping Flatland Until now we have worked with flat entities such as lines and flat polygons Fit well with graphics hardware Mathematically simple But the world is not composed of

### Curves and Surfaces 1

Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing

### Bezier Curves, B-Splines, NURBS

Bezier Curves, B-Splines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility

### Curves and Surfaces Computer Graphics I Lecture 10

15-462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] September 30, 2003 Doug James Carnegie

### Lecture IV Bézier Curves

Lecture IV Bézier Curves Why Curves? Why Curves? Why Curves? Why Curves? Why Curves? Linear (flat) Curved Easier More pieces Looks ugly Complicated Fewer pieces Looks smooth What is a curve? Intuitively:

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

Computer Graphics Curves and Surfaces Hermite/Bezier Curves, (B-)Splines, and NURBS By Ulf Assarsson Most of the material is originally made by Edward Angel and is adapted to this course by Ulf Assarsson.

### 08 - Designing Approximating Curves

08 - Designing Approximating Curves Acknowledgement: Olga Sorkine-Hornung, Alexander Sorkine-Hornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials

### Curves. Computer Graphics CSE 167 Lecture 11

Curves Computer Graphics CSE 167 Lecture 11 CSE 167: Computer graphics Polynomial Curves Polynomial functions Bézier Curves Drawing Bézier curves Piecewise Bézier curves Based on slides courtesy of Jurgen

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

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016 Announcements Project 3 due tomorrow Midterm 2 next

### Geometric Modeling of Curves

Curves Locus of a point moving with one degree of freedom Locus of a one-dimensional parameter family of point Mathematically defined using: Explicit equations Implicit equations Parametric equations (Hermite,

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

Reading Required: Angel 10.1-10.3, 10.5.2, 10.6-10.7, 10.9 Parametric curves CSE 457 Winter 2014 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric

### Intro to Curves Week 4, Lecture 7

CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

### Intro to Modeling Modeling in 3D

Intro to Modeling Modeling in 3D Polygon sets can approximate more complex shapes as discretized surfaces 2 1 2 3 Curve surfaces in 3D Sphere, ellipsoids, etc Curved Surfaces Modeling in 3D ) ( 2 2 2 2

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

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside Blending Functions Blending functions are more convenient basis than monomial basis canonical form (monomial

### Intro to Curves Week 1, Lecture 2

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University Outline Math review Introduction to 2D curves

### Know it. Control points. B Spline surfaces. Implicit surfaces

Know it 15 B Spline Cur 14 13 12 11 Parametric curves Catmull clark subdivision Parametric surfaces Interpolating curves 10 9 8 7 6 5 4 3 2 Control points B Spline surfaces Implicit surfaces Bezier surfaces

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

CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday:

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

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2 David Breen, William Regli and Maxim Peysakhov Department of Computer Science Drexel University 1 Outline Math review Introduction to 2D curves

### 2D Spline Curves. CS 4620 Lecture 13

2D Spline Curves CS 4620 Lecture 13 2008 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes [Boeing] that is, without discontinuities So far we can make things with corners

### Curves and Surface I. Angel Ch.10

Curves and Surface I Angel Ch.10 Representation of Curves and Surfaces Piece-wise linear representation is inefficient - line segments to approximate curve - polygon mesh to approximate surfaces - can

### OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

BEZIER CURVES 1 OUTLINE Introduce types of curves and surfaces Introduce the types of curves Interpolating Hermite Bezier B-spline Quadratic Bezier Curves Cubic Bezier Curves 2 ESCAPING FLATLAND Until

### Spline Notes. Marc Olano University of Maryland, Baltimore County. February 20, 2004

Spline Notes Marc Olano University of Maryland, Baltimore County February, 4 Introduction I. Modeled after drafting tool A. Thin strip of wood or metal B. Control smooth curved path by running between

### Central issues in modelling

Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction includes: manual modelling; fitting to

### CS130 : Computer Graphics Curves. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics Curves Tamar Shinar Computer Science & Engineering UC Riverside Design considerations local control of shape design each segment independently smoothness and continuity ability

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

Representing Curves Part II Foley & Van Dam, Chapter 11 Representing Curves Polynomial Splines Bezier Curves Cardinal Splines Uniform, non rational B-Splines Drawing Curves Applications of Bezier splines

### A Curve Tutorial for Introductory Computer Graphics

A Curve Tutorial for Introductory Computer Graphics Michael Gleicher Department of Computer Sciences University of Wisconsin, Madison October 7, 2003 Note to 559 Students: These notes were put together

### 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

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 Announcements Homework assignment 5 due tomorrow, Nov

### Introduction to Computer Graphics

Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: Min-Chun Hu 胡敏君 Shih-Chin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently

### Sung-Eui Yoon ( 윤성의 )

CS480: Computer Graphics Curves and Surfaces Sung-Eui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and

### CS-184: Computer Graphics

CS-184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007-F-12-1.0 Today General curve and surface representations Splines and other polynomial

### An introduction to interpolation and splines

An introduction to interpolation and splines Kenneth H. Carpenter, EECE KSU November 22, 1999 revised November 20, 2001, April 24, 2002, April 14, 2004 1 Introduction Suppose one wishes to draw a curve

### Interpolating/approximating pp gcurves

Chap 3 Interpolating Values 1 Outline Interpolating/approximating pp gcurves Controlling the motion of a point along a curve Interpolation of orientation Working with paths Interpolation between key frames

### B-spline Curves. Smoother than other curve forms

Curves and Surfaces B-spline Curves These curves are approximating rather than interpolating curves. The curves come close to, but may not actually pass through, the control points. Usually used as multiple,

### The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

### Computer Graphics Splines and Curves

Computer Graphics 2015 9. Splines and Curves Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 2015-11-23 About homework 3 - an alternative solution with WebGL - links: - WebGL lessons http://learningwebgl.com/blog/?page_id=1217

### CS-184: Computer Graphics. Today

CS-84: Computer Graphics Lecture #5: Curves and Surfaces Prof. James O Brien University of California, Berkeley V25F-5-. Today General curve and surface representations Splines and other polynomial bases

### 2D Spline Curves. CS 4620 Lecture 18

2D Spline Curves CS 4620 Lecture 18 2014 Steve Marschner 1 Motivation: smoothness In many applications we need smooth shapes that is, without discontinuities So far we can make things with corners (lines,

### Objects 2: Curves & Splines Christian Miller CS Fall 2011

Objects 2: Curves & Splines Christian Miller CS 354 - Fall 2011 Parametric curves Curves that are defined by an equation and a parameter t Usually t [0, 1], and curve is finite Can be discretized at arbitrary

### Properties of Blending Functions

Chapter 5 Properties of Blending Functions We have just studied how the Bernstein polynomials serve very nicely as blending functions. We have noted that a degree n Bézier curve always begins at P 0 and

### Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik Matthias Zwicker Universität Bern Herbst 2016 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling 2 Piecewise Bézier curves Each

### Rational Bezier Curves

Rational Bezier Curves Use of homogeneous coordinates Rational spline curve: define a curve in one higher dimension space, project it down on the homogenizing variable Mathematical formulation: n P(u)

### The Free-form Surface Modelling System

1. Introduction The Free-form Surface Modelling System Smooth curves and surfaces must be generated in many computer graphics applications. Many real-world objects are inherently smooth (fig.1), and much

### Curve and Surface Basics

Curve and Surface Basics Implicit and parametric forms Power basis form Bezier curves Rational Bezier Curves Tensor Product Surfaces ME525x NURBS Curve and Surface Modeling Page 1 Implicit and Parametric

### Computergrafik. Matthias Zwicker. Herbst 2010

Computergrafik Matthias Zwicker Universität Bern Herbst 2010 Today Curves NURBS Surfaces Parametric surfaces Bilinear patch Bicubic Bézier patch Advanced surface modeling Piecewise Bézier curves Each segment

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

Remark Reconsidering the motivating example, we observe that the derivatives are typically not given by the problem specification. However, they can be estimated in a pre-processing step. A good estimate

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

LECTURE #6 Geometric modeling for engineering applications Geometric Modelling for Engineering Applications Introduction to modeling Geometric modeling Curve representation Hermite curve Bezier curve B-spline

### Lecture 9: Introduction to Spline Curves

Lecture 9: Introduction to Spline Curves Splines are used in graphics to represent smooth curves and surfaces. They use a small set of control points (knots) and a function that generates a curve through

### (Spline, Bezier, B-Spline)

(Spline, Bezier, B-Spline) Spline Drafting terminology Spline is a flexible strip that is easily flexed to pass through a series of design points (control points) to produce a smooth curve. Spline curve

### Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Computer Graphics CS 54 Lecture 1a Curves, Tesselation/Geometry Shaders & Level of Detail Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines

### (Refer Slide Time: 00:02:24 min)

CAD / CAM Prof. Dr. P. V. Madhusudhan Rao Department of Mechanical Engineering Indian Institute of Technology, Delhi Lecture No. # 9 Parametric Surfaces II So these days, we are discussing the subject

### A Practical Review of Uniform B-Splines

A Practical Review of Uniform B-Splines Kristin Branson A B-spline is a convenient form for representing complicated, smooth curves. A uniform B-spline of order k is a piecewise order k Bezier curve, and

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

Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico Objectives Introduce methods to draw curves - Approximate

### Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Interactive Graphics Lecture 9: Introduction to Spline Curves Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 13: Slide 2 Splines The word spline comes from the ship building trade

### COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

COMPUTER AIDED ENGINEERING DESIGN (BFF2612) BASIC MATHEMATICAL CONCEPTS IN CAED by Dr. Mohd Nizar Mhd Razali Faculty of Manufacturing Engineering mnizar@ump.edu.my COORDINATE SYSTEM y+ y+ z+ z+ x+ RIGHT

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

436-105 Engineering Communications GL9:1 GL9: CAD techniques Curves Surfaces Solids Techniques Parametric curves GL9:2 x = a 1 + b 1 u + c 1 u 2 + d 1 u 3 + y = a 2 + b 2 u + c 2 u 2 + d 2 u 3 + z = a

### Need for Parametric Equations

Curves and Surfaces Curves and Surfaces Need for Parametric Equations Affine Combinations Bernstein Polynomials Bezier Curves and Surfaces Continuity when joining curves B Spline Curves and Surfaces Need

### Splines. Connecting the Dots

Splines or: Connecting the Dots Jens Ogniewski Information Coding Group Linköping University Before we start... Some parts won t be part of the exam Basically all that is not described in the book. More

### 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.

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.

### Introduction to Geometry. Computer Graphics CMU /15-662

Introduction to Geometry Computer Graphics CMU 15-462/15-662 Assignment 2: 3D Modeling You will be able to create your own models (This mesh was created in Scotty3D in about 5 minutes... you can do much

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

CS 475 / CS 675 - Computer Graphics Modelling Curves 3 - Bézier Splines n P t = i=0 No local control. B i J n,i t with 0 t 1 J n,i t = n i t i 1 t n i Degree restricted by the control polygon. http://www.cs.mtu.edu/~shene/courses/cs3621/notes/spline/bezier/bezier-move-ct-pt.html

### COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg January 31, 2011 ii T. W. Sederberg iii Preface This semester is the 24 th time I have taught a course at Brigham Young University titled, Computer Aided

### Curves D.A. Forsyth, with slides from John Hart

Curves D.A. Forsyth, with slides from John Hart Central issues in modelling Construct families of curves, surfaces and volumes that can represent common objects usefully; are easy to interact with; interaction

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

Derivative Bernstein polynomials: 120202: ESM4A - Numerical Methods 313 Derivative Bézier curve (over [0,1]): with differences. being the first forward 120202: ESM4A - Numerical Methods 314 Derivative

### Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Curves and Surfaces Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 4/11/2007 Final projects Surface representations Smooth curves Subdivision Todays Topics 2 Final Project Requirements

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

Further Graphics Bezier Curves and Surfaces Alex Benton, University of Cambridge alex@bentonian.com 1 Supported in part by Google UK, Ltd CAD, CAM, and a new motivation: shiny things Expensive products

### Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry Representation Ab initio design Rendering Solid modelers Kinematic

### CGT 581 G Geometric Modeling Curves

CGT 581 G Geometric Modeling Curves Bedrich Benes, Ph.D. Purdue University Department of Computer Graphics Technology Curves What is a curve? Mathematical definition 1) The continuous image of an interval

### Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

D Graphics http://chamilo2.grenet.fr/inp/courses/ensimag4mmgd6/ Shape Modeling technique Shape representation! Part : Basic techniques. Projective rendering pipeline 2. Procedural Modeling techniques Shape

### Computer Animation. Rick Parent

Algorithms and Techniques Interpolating Values Animation Animator specified interpolation key frame Algorithmically controlled Physics-based Behavioral Data-driven motion capture Motivation Common problem:

### 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

Parametric Curves and Surfaces 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 Describing curves in space that objects move

### Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur

Curve Representation ME761A Instructor in Charge Prof. J. Ramkumar Department of Mechanical Engineering, IIT Kanpur Email: jrkumar@iitk.ac.in Curve representation 1. Wireframe models There are three types

### CS123 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics 1/15

Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

### ECE 600, Dr. Farag, Summer 09

ECE 6 Summer29 Course Supplements. Lecture 4 Curves and Surfaces Aly A. Farag University of Louisville Acknowledgements: Help with these slides were provided by Shireen Elhabian A smile is a curve that

### An Introduction to B-Spline Curves

An Introduction to B-Spline Curves Thomas W. Sederberg March 14, 2005 1 B-Spline Curves Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve

### Splines, or: Connecting the Dots. Jens Ogniewski Information Coding Group

Splines, or: Connecting the Dots Jens Ogniewski Information Coding Group Note that not all is covered in the book, especially Change of Interpolation Centripetal Catmull-Rom and other advanced parameterization

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

Curves and Curved Surfaces Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006 Outline for today Summary of Bézier curves Piecewise-cubic curves, B-splines Surface

### COMP3421. Global Lighting Part 2: Radiosity

COMP3421 Global Lighting Part 2: Radiosity Recap: Global Lighting The lighting equation we looked at earlier only handled direct lighting from sources: We added an ambient fudge term to account for all

### Quaternions and Rotations

CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

### Lecture 8. Divided Differences,Least-Squares Approximations. Ceng375 Numerical Computations at December 9, 2010

Lecture 8, Ceng375 Numerical Computations at December 9, 2010 Computer Engineering Department Çankaya University 8.1 Contents 1 2 3 8.2 : These provide a more efficient way to construct an interpolating

### Quaternions and Rotations

CSCI 520 Computer Animation and Simulation Quaternions and Rotations Jernej Barbic University of Southern California 1 Rotations Very important in computer animation and robotics Joint angles, rigid body

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

Fundamentals of Computer Graphics Lecture 3 Parametric curve and surface Yong-Jin Liu liuyongjin@tsinghua.edu.cn Smooth curve and surface Design criteria of smooth curve and surface Smooth and continuity

### CS337 INTRODUCTION TO COMPUTER GRAPHICS. Describing Shapes. Constructing Objects in Computer Graphics. Bin Sheng Representing Shape 9/20/16 1/15

Describing Shapes Constructing Objects in Computer Graphics 1/15 2D Object Definition (1/3) Lines and polylines: Polylines: lines drawn between ordered points A closed polyline is a polygon, a simple polygon

### Computer Graphics I Lecture 11

15-462 Computer Graphics I Lecture 11 Midterm Review Assignment 3 Movie Midterm Review Midterm Preview February 26, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

### Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

Parametric Surfaces Michael Kazhdan (601.457/657) HB 10.6 -- 10.9, 10.1 FvDFH 11.2 Announcement OpenGL review session: When: Wednesday (10/1) @ 7:00-9:00 PM Where: Olin 05 Cubic Splines Given a collection

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

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include motion, behavior Graphics is a form of simulation and

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

Advanced Graphics Beziers, B-splines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, B-Splines, and NURBS Expensive products

### CHAPTER 6 Parametric Spline Curves

CHAPTER 6 Parametric Spline Curves When we introduced splines in Chapter 1 we focused on spline curves, or more precisely, vector valued spline functions. In Chapters 2 and 4 we then established the basic

### Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

Curves and Surfaces Shireen Elhabian and Aly A. Farag University of Louisville February 21 A smile is a curve that sets everything straight Phyllis Diller (American comedienne and actress, born 1917) Outline