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

Save this PDF as:

Size: px
Start display at page:

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

## Transcription

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

2 Announcements Homework project #6 due Friday, Nov 18 at 1:30pm To be presented in lab 260 No grading this Friday, Nov 11 (Veterans Day) Last day for late grading project 5: Thursday, Nov 10 Final project presentations date+time confirmed: December 2 nd, 1-3pm, CSE

3 Lecture Overview Polynomial Curves cont d Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 3

4 Polynomial Curves Quadratic: (2 nd order) Cubic: (3 rd order) We usually define the curve for 0 t 1 4

5 Control Points Polynomial coefficients a, b, c, d can be interpreted as control points Remember: a, b, c, d have x,y,z components each Unfortunately, they do not intuitively describe the shape of the curve Goal: intuitive control points 5

6 Control Points How many control points? Two points define a line (1 st order) Three points define a quadratic curve (2 nd order) Four points define a cubic curve (3 rd order) k+1 points define a k-order curve Let s start with a line 6

7 First Order Curve Based on linear interpolation (LERP) Weighted average between two values Value could be a number, vector, color, Interpolate between points p 0 and p 1 with parameter t Defines a curve that is straight (first-order spline) t=0 corresponds to p 0 t=1 corresponds to p 1 t=0.5 corresponds to midpoint 7 p 0. 0<t<1 t=0. p 1 t=1 x(t) = Lerp( t, p 0, p 1 )= ( 1 t)p 0 + t p 1

8 Linear Interpolation Three equivalent ways to write it Expose different properties 1. Regroup for points p weighted sum of control points 2. Regroup for t polynomial in t 3. Matrix form 8

9 Weighted Average x(t) = (1 t)p 0 + (t)p 1 = B 0 (t) p 0 + B 1 (t)p 1, where B 0 (t) = 1 t and B 1 (t) = t Weights are a function of t Sum is always 1, for any value of t Also known as blending functions 9

10 Linear Polynomial x(t) = (p p 0 ) t + p vector point Curve is based at point p 0 Add the vector, scaled by t p 0..5(p 1 -p 0 ). p 1 -p 0. 10

11 Matrix Form Geometry matrix Geometric basis Polynomial basis In components 11

12 Tangent For a straight line, the tangent is constant Weighted average Polynomial Matrix form 12

13 Lecture Overview Polynomial Curves cont d Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 13

14 Bézier Curves Are a higher order extension of linear interpolation p 1 p 1 p 1 p 2 p 1 p 3 p 0 p 0 p 0 p 2 Linear Quadratic Cubic 14

15 Bézier Curves Give intuitive control over curve with control points Endpoints are interpolated, intermediate points are approximated Convex Hull property Variation-Diminishing property Many demo applets online, for example: Demo: ezier/bezier.html 15

16 Cubic Bézier Curve Most common case Defined by four control points: Two interpolated endpoints (points are on the curve) Two points control the tangents at the endpoints Points x on curve defined as function of parameter t p 0 x(t) p 1 p 2 16 p 3

17 Algorithmic Construction Algorithmic construction De Casteljau algorithm, developed at Citroen in 1959, named after its inventor Paul de Casteljau (pronounced Cast-all- Joe ) Developed independently from Bézier s work: Bézier created the formulation using blending functions, Casteljau devised the recursive interpolation algorithm 17

18 De Casteljau Algorithm A recursive series of linear interpolations Works for any order Bezier function, not only cubic Not very efficient to evaluate Other forms more commonly used But: Gives intuition about the geometry Useful for subdivision 18

19 De Casteljau Algorithm Given: Four control points A value of t (here t 0.25) p 1 p 0 p 2 p 3 19

20 De Casteljau Algorithm p 1 q 1 q 0 (t) = Lerp( t,p 0,p ) 1 p 0 q 0 ( ) q 1 (t) = Lerp t,p 1,p 2 p 2 q 2 (t) = Lerp( t,p 2,p ) 3 q 2 p 3 20

21 De Casteljau Algorithm q 1 q r 0 0 r 1 ( ) r 0 (t) = Lerp t,q 0 (t),q 1 (t) r 1 (t) = Lerp( t,q 1 (t),q 2 (t)) q 2 21

22 De Casteljau Algorithm r 0 x r 1 x(t) = Lerp ( t,r 0 (t),r 1 (t)) 22

23 De Casteljau Algorithm p 1 p 0 x p 2 Applets Demo: p 3

24 Recursive Linear Interpolation x = Lerp t,r 0,r 1 ( ) r = Lerp ( t,q,q ) ( ) r 1 = Lerp t,q 1,q 2 q 0 = Lerp( t,p 0,p ) 1 q 1 = Lerp( t,p 1,p ) 2 q 2 = Lerp( t,p 2,p ) 3 p 0 p 1 p 2 p 3 p 1 q 0 r 0 p 2 x q 1 r 1 p 3 q 2 p 4 24

25 Expand the LERPs q 0 (t) = Lerp( t,p 0,p 1 )= ( 1 t)p 0 + tp 1 q 1 (t) = Lerp( t,p 1,p 2 )= ( 1 t)p 1 + tp 2 q 2 (t) = Lerp( t,p 2,p 3 )= ( 1 t)p 2 + tp 3 r 0 (t) = Lerp ( t,q 0 (t),q 1 (t) )= 1 t r 1 (t) = Lerp( t,q 1 (t),q 2 (t))= 1 t ( ) ( )p 0 + tp 1 )+ t ( 1 t )p 1 + tp 2 ( )p 1 + tp 2 )+ t ( 1 t)p 2 + tp 3 ( ) 1 t ( ) 1 t x(t) = Lerp t,r 0 (t),r 1 (t) = ( 1 t) ( 1 t) ( 1 t)p 0 + tp 1 )+ t ( 1 t)p 1 + tp 2 +t ( 1 t) ( 1 t)p 1 + tp 2 )+ t ( 1 t)p 2 + tp 3 25 ( ) ( ) ( ) ( ) ( ) ( )

26 Weighted Average of Control Points Regroup for p: x(t) = 1 t ( )p 0 + tp 1 )+ t ( 1 t)p 1 + tp 2 ( )p 1 + tp 2 )+ t( 1 t)p 2 + tp 3 ) ( ) ( 1 t) 1 t +t 1 t ( ) ( ) ( ) 1 t ( ) x(t) = 1 t ( ) 3 p 0 + 3( 1 t) 2 tp t ( )t 2 p 2 + t 3 p 3 B 0 (t ) B (t ) x(t) = t 3 + 3t 2 3t + 1 p 0 + 3t 3 6t 2 + 3t ( ) ( ) + 3t 3 + 3t p + t 3 2 { p 3 B 2 (t ) ( ) B 3 (t ) ( ) p 1 26

27 Cubic Bernstein Polynomials x(t) = B 0 ( t)p 0 + B 1 ( t)p 1 + B 2 ( t)p 2 + B 3 ( t)p 3 The cubic Bernstein polynomials : B 0 ( t)= t 3 + 3t 2 3t + 1 B 1 ( t)= 3t 3 6t 2 + 3t B 2 ( t)= 3t 3 + 3t 2 ( t)= t 3 B 3 B i (t) = 1 Weights B i (t) add up to 1 for any t 27

28 General Bernstein Polynomials B 1 0 B 1 1 ( t)= t + 1 B 2 0 ( t)= t 2 2t + 1 B 3 0 ( t)= t 3 + 3t 2 3t + 1 ( t)= t B 2 1 ( t)= 2t 2 + 2t B 3 1 ( t)= 3t 3 6t 2 + 3t B 2 2 ( t)= t 2 B 3 2 ( t)= 3t 3 + 3t 2 B 3 3 ( t)= t 3 28 B i n ( t)= n i ( 1 t)n i t B n i ( t) = 1 n ( ) i i = n! i! ( n i)! n! = factorial of n (n+1)! = n! x (n+1)

29 General Bézier Curves nth-order Bernstein polynomials form nth-order Bézier curves B i n ( t)= n ( 1 t)n i t i n i=0 x( t)= B n i ( t)p i ( ) i 29

30 Bézier Curve Properties Overview: Convex Hull property Variation Diminishing property Affine Invariance 30

31 Definitions Convex hull of a set of points: Polyhedral volume created such that all lines connecting any two points lie completely inside it (or on its boundary) Convex combination of a set of points: Weighted average of the points, where all weights between 0 and 1, sum up to 1 Any convex combination always of a set of points lies within the convex hull 31

32 Convex Hull Property A Bézier curve is a convex combination of the control points (by definition, see Bernstein polynomials) Bézier curve is always inside the convex hull Makes curve predictable Allows culling, intersection testing, adaptive tessellation Demo: p 1 p 3 p 0 p 2 32

33 Variation Diminishing Property If the curve is in a plane, this means no straight line intersects a Bézier curve more times than it intersects the curve's control polyline Curve is not more wiggly than control polyline 33

34 Affine Invariance Transforming Bézier curves Two ways to transform: Transform the control points, then compute resulting spline points Compute spline points then transform them Either way, we get the same points Curve is defined via affine combination of points Invariant under affine transformations Convex hull property remains true 34

35 Cubic Polynomial Form Start with Bernstein form: x(t) = ( t 3 + 3t 2 3t + 1)p 0 + ( 3t 3 6t 2 + 3t)p 1 + ( 3t 3 + 3t 2 )p 2 + ( t 3 )p 3 Regroup into coefficients of t : x(t) = ( p 0 + 3p 1 3p 2 + p 3 )t 3 + ( 3p 0 6p 1 + 3p 2 )t 2 + ( 3p 0 + 3p 1 )t + ( p 0 )1 x(t) = at 3 + bt 2 + ct + d ( ) ( ) ( ) ( ) a = p 0 + 3p 1 3p 2 + p 3 b = 3p 0 6p 1 + 3p 2 c = 3p 0 + 3p 1 d = p 0 Good for fast evaluation Precompute constant coefficients (a,b,c,d) Not much geometric intuition 35

36 Cubic Matrix Form x(t) = a r t 3 r b c r t 2 d t 1 r a = p 0 + 3p 1 3p 2 + p 3 r b = ( 3p 0 6p 1 + 3p 2 ) r c = ( 3p 0 + 3p 1 ) d = p 0 ( ) ( ) t x(t) = [ p 0 p 1 p 2 p 3 ] t t { T G Bez B Bez Other types of cubic splines use different basis matrices B Bez 36

37 Cubic Matrix Form In 3D: 3 parallel equations for x, y and z: 37 [ ] x x (t) = p 0 x p 1x p 2 x p 3x x y (t) = p 0 y p 1y p 2 y p 3y x z (t) = p 0z p 1z p 2z p 3z t t t t t t t t t

38 Matrix Form Bundle into a single matrix x(t) = t 3 p 0 x p 1x p 2 x p 3x p 0 y p 1y p 2 y p 3y t t p 0z p 1z p 2z p 3z x(t) = G Bez B Bez T x(t) = C T Efficient evaluation Pre-compute C Take advantage of existing 4x4 matrix hardware support 38

39 Lecture Overview Polynomial Curves cont d Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 39

40 Drawing Bézier Curves Draw line segments or individual pixels Approximate the curve as a series of line segments (tessellation) Uniform sampling Adaptive sampling Recursive subdivision 40

41 Uniform Sampling Approximate curve with N straight segments N chosen in advance Evaluate x i = x( t i ) where t i = i N for i = 0, 1,K, N Connect the points with lines Too few points? Poor approximation Curve is faceted Too many points? x i = a r i3 N + b r i2 3 N + c r i 2 N + d Slow to draw too many line segments Segments may draw on top of each other x(t) x 0 x 1 x 2 x 3 x 4 41

42 Adaptive Sampling Use only as many line segments as you need Fewer segments where curve is mostly flat More segments where curve bends Segments never smaller than a pixel x(t) 42

43 Recursive Subdivision Any cubic curve segment can be expressed as a Bézier curve Any piece of a cubic curve is itself a cubic curve Therefore: Any Bézier curve can be broken down into smaller Bézier curves 43

44 De Casteljau Subdivision p 1 p 0 q r 0 0 r x 1 p 2 De Casteljau construction points are the control points of two Bézier sub-segments q 2 p 3 44

45 Adaptive Subdivision Algorithm Use De Casteljau construction to split Bézier segment For each half If flat enough : draw line segment Else: recurse Curve is flat enough if hull is flat enough Test how far the approximating control points are from a straight segment If less than one pixel, the hull is flat enough 45

46 Drawing Bézier Curves With OpenGL Indirect OpenGL support for drawing curves: Define evaluator map (glmap) Draw line strip by evaluating map (glevalcoord) Optimize by pre-computing coordinate grid (glmapgrid and glevalmesh) More details about OpenGL implementation: /opengl_nurbs.pdf 46

47 Lecture Overview Polynomial Curves cont d Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 47

48 More Control Points Cubic Bézier curve limited to 4 control points Cubic curve can only have one inflection (point where curve changes direction of bending) Need more control points for more complex curves k-1 order Bézier curve with k control points Hard to control and hard to work with Intermediate points don t have obvious effect on shape Changing any control point changes the whole curve Want local support: each control point only influences nearby portion of curve 48

49 Piecewise Curves Sequence of simple (low-order) curves, end-to-end Known as a piecewise polynomial curve Sequence of line segments Piecewise linear curve Sequence of cubic curve segments Piecewise cubic curve (here piecewise Bézier) 49

50 Mathematical Continuity C 0 continuity: Curve segments are connected C 1 continuity: C 0 & 1st-order derivatives agree at joints Tangents/normals are C 0 continuous Important for smooth shading C 2 continuity: C 1 & 2nd-order derivatives agree at joints Tangents/normals are C 1 continuous Important for high quality reflections

51 Global Parameterization Given N curve segments x 0 (t), x 1 (t),, x N-1 (t) Each is parameterized for t from 0 to 1 Define a piecewise curve Global parameter u from 0 to N x 0 (u), 0 u 1 x(u) = x 1 (u 1), 1 u 2 M M x N 1 (u ( N 1)), N 1 u N x(u) = x i (u i), where i = u (and x(n) = x N 1 (1)) Alternate: solution u also goes from 0 to 1 x(u) = x i (Nu i), where i = Nu 51

52 Piecewise-Linear Curve Given N+1 points p 0, p 1,, p N Define curve x(u) = Lerp(u i,p i,p i+1 ), i u i + 1 = (1 u + i)p i + (u i)p i+1, i = u p 1 x(1.5) x(2.9) p 3 p p 4 p 6 2 x(5.25) p p 5 0 N+1 points define N linear segments x(i)=p i C 0 continuous by construction C 1 at p i when p i -p i-1 = p i+1 -p i 52

53 Piecewise Bézier curve Given 3N + 1 points p 0,p 1,K,p 3N Define N Bézier segments: x 0 (t) = B 0 (t)p 0 + B 1 (t)p 1 + B 2 (t)p 2 + B 3 (t)p 3 x 1 (t) = B 0 (t)p 3 + B 1 (t)p 4 + B 2 (t)p 5 + B 3 (t)p 6 M x N 1 (t) = B 0 (t)p 3N 3 + B 1 (t)p 3N 2 + B 2 (t)p 3N 1 + B 3 (t)p 3N p 7 p 8 p 6 x 2 (t) p 9 p 0 p p 2 1 x 0 (t) p 3 x 1 (t) x 3 (t) p 10 p 11 p 12 p 4 p 5 53

54 Piecewise Bézier Curve Parameter in 0<=u<=3N x(u) = x 0 ( 1 u), 0 u 3 3 x 1 ( 1 u 1), 3 u 6 3 M M x N 1 ( 1 3 u (N 1)), 3N 3 u 3N 1 x(u) = x i ( u i 3 ), where i = 1 u 3 x(8.75) x 0 (t) x 1 (t) x 2 (t) x 3 (t) u=0 x(3.5) u=12 54

55 Piecewise Bézier Curve 3N+1 points define N Bézier segments x(3i)=p 3i C 0 continuous by construction C 1 continuous at p 3i when p 3i - p 3i-1 = p 3i+1 - p 3i C 2 is harder to achieve p 4 p 1 p 2 P 3 p 6 p 1 p 2 P 3 p 6 p 4 p 5 p 0 p 5 p 0 C 1 discontinuous C 1 continuous 55

56 Piecewise Bézier Curves Used often in 2D drawing programs Inconveniences Must have 4 or 7 or 10 or 13 or (1 plus a multiple of 3) control points Some points interpolate, others approximate Need to impose constraints on control points to obtain C 1 continuity C 2 continuity more difficult Solutions User interface using Bézier handles Generalization to B-splines or NURBS 56

57 Bézier Handles Segment end points (interpolating) presented as curve control points Midpoints (approximating points) presented as handles Can have option to enforce C 1 continuity Adobe Illustrator 57

58 Next Lecture Parametric surfaces 58

### parametric spline curves

parametric spline curves 1 curves used in many contexts fonts (2D) animation paths (3D) shape modeling (3D) different representation implicit curves parametric curves (mostly used) 2D and 3D curves are

### We want to define smooth curves: - for defining paths of cameras or objects. - for defining 1D shapes of objects

lecture 10 - cubic curves - cubic splines - bicubic surfaces We want to define smooth curves: - for defining paths of cameras or objects - for defining 1D shapes of objects We want to define smooth surfaces

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

An Example 2 3 4 Outline Objective: Develop methods and algorithms to mathematically model shape of real world objects Categories: Wire-Frame Representation Object is represented as as a set of points

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

Computer Graphics CS 54 Lecture 1 (Part 1) Curves Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) So Far Dealt with straight lines and flat surfaces Real world objects include

On-Line Geometric Modeling Notes QUADRATIC BÉZIER CURVES Kenneth I. Joy Visualization and Graphics Research Group Department of Computer Science University of California, Davis Overview The Bézier curve

### Geometric Modelling & Curves

Geometric Modelling & Curves Geometric Modeling Creating symbolic models of the physical world has long been a goal of mathematicians, scientists, engineers, etc. Recently technology has advanced sufficiently

### Figure 2.1: Center of mass of four points.

Chapter 2 Bézier curves are named after their inventor, Dr. Pierre Bézier. Bézier was an engineer with the Renault car company and set out in the early 196 s to develop a curve formulation which would

### Modeling Curves and Surfaces

Modeling Curves and Surfaces Graphics I Modeling for Computer Graphics!? 1 How can we generate this kind of objects? Umm!? Mathematical Modeling! S Do not worry too much about your difficulties in mathematics,

### (Refer Slide Time: 1:42)

Introduction to Computer Graphics Dr. Prem Kalra Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture - 10 Curves So today we are going to have a new topic. So far

### the points are called control points approximating curve

Chapter 4 Spline Curves A spline curve is a mathematical representation for which it is easy to build an interface that will allow a user to design and control the shape of complex curves and surfaces.

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

CHAPTER 4 CURVES 4.1 Introduction In order to understand the significance of curves, we should look into the types of model representations that are used in geometric modeling. Curves play a very significant

### CHAPTER 1 Splines and B-splines an Introduction

CHAPTER 1 Splines and B-splines an Introduction In this first chapter, we consider the following fundamental problem: Given a set of points in the plane, determine a smooth curve that approximates the

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

Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons

### Topics in Computer Graphics Chap 14: Tensor Product Patches

Topics in Computer Graphics Chap 14: Tensor Product Patches fall, 2011 University of Seoul School of Computer Science Minho Kim Table of contents Bilinear Interpolation The Direct de Casteljau Algorithm

### Parametric Curves (Part 1)

Parametric Curves (Part 1) Jason Lawrence CS445: Graphics Acknowledgment: slides by Misha Kazhdan, Allison Klein, Tom Funkhouser, Adam Finkelstein and David Dobkin Parametric Curves and Surfaces Part 1:

### Degree Reduction of Interval SB Curves

International Journal of Video&Image Processing and Network Security IJVIPNS-IJENS Vol:13 No:04 1 Degree Reduction of Interval SB Curves O. Ismail, Senior Member, IEEE Abstract Ball basis was introduced

### Chapter 3-3D Modeling

Chapter 3-3D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume- and Point-based Graphics 1 The 3D rendering

### BEZIER CURVES AND SURFACES

Department of Applied Mathematics and Computational Sciences University of Cantabria UC-CAGD Group COMPUTER-AIDED GEOMETRIC DESIGN AND COMPUTER GRAPHICS: BEZIER CURVES AND SURFACES Andrés Iglesias e-mail:

### Essential Mathematics for Computer Graphics fast

John Vince Essential Mathematics for Computer Graphics fast Springer Contents 1. MATHEMATICS 1 Is mathematics difficult? 3 Who should read this book? 4 Aims and objectives of this book 4 Assumptions made

### Dhiren Bhatia Carnegie Mellon University

Dhiren Bhatia Carnegie Mellon University University Course Evaluations available online Please Fill! December 4 : In-class final exam Held during class time All students expected to give final this date

### Books. CS155b Computer Graphics. Homework. Additional References. Syllabus. Goals

CS155b Computer Graphics Instructor: Giovanni Motta (gim@ieee.org) Volen, Room #255. Phone: x62718 Class: Mon. and Wed. from 5 to 6:30pm Abelson #131 Teaching Assistants: Anthony Bucci (abucci@cs) John

### MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem

MA 323 Geometric Modelling Course Notes: Day 02 Model Construction Problem David L. Finn November 30th, 2004 In the next few days, we will introduce some of the basic problems in geometric modelling, and

### CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Introduction to Computer Graphics Lecture #3: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Project 1 due Friday September 30 th, presentation

### Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012

CSE 167: Introduction to Computer Graphics Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2012 Today Course organization Course overview 2 Course Staff Instructor Jürgen Schulze,

### DesignMentor: A Pedagogical Tool for Computer Graphics and Computer Aided Design

DesignMentor: A Pedagogical Tool for Computer Graphics and Computer Aided Design John L. Lowther and Ching Kuang Shene Programmers: Yuan Zhao and Yan Zhou (ver 1) Budirijanto Purnomo (ver 2) Michigan Technological

### 5. GEOMETRIC MODELING

5. GEOMETRIC MODELING Types of Curves and Their Mathematical Representation Types of Surfaces and Their Mathematical Representation Types of Solids and Their Mathematical Representation CAD/CAM Data Exchange

### Computer Animation: Art, Science and Criticism

Computer Animation: Art, Science and Criticism Tom Ellman Harry Roseman Lecture 4 Parametric Curve A procedure for distorting a straight line into a (possibly) curved line. The procedure lives in a black

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

COMPUTER AIDED GEOMETRIC DESIGN Thomas W. Sederberg September 28, 2016 ii T. W. Sederberg iii Preface I have taught a course at Brigham Young University titled Computer Aided Geometric Design since 1983.

### arxiv:cs/ v1 [cs.gr] 22 Mar 2005

arxiv:cs/0503054v1 [cs.gr] 22 Mar 2005 ANALYTIC DEFINITION OF CURVES AND SURFACES BY PARABOLIC BLENDING by A.W. Overhauser Mathematical and Theoretical Sciences Department Scientific Laboratory, Ford Motor

### 3.5 Spline interpolation

3.5 Spline interpolation Given a tabulated function f k = f(x k ), k = 0,... N, a spline is a polynomial between each pair of tabulated points, but one whose coefficients are determined slightly non-locally.

### Illumination Models III: Polygon Shading

Illumination Models III: Polygon Shading Shading algorithms apply lighting models to polygons, through interpolation from the vertices. OpenGL uses the present state to compute vertex colors, using the

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

3. Interpolation Closing the Gaps of Discretization... Beyond Polynomials Closing the Gaps of Discretization... Beyond Polynomials, December 19, 2012 1 3.3. Polynomial Splines Idea of Polynomial Splines

### 4. Factor polynomials over complex numbers, describe geometrically, and apply to real-world situations. 5. Determine and apply relationships among syn

I The Real and Complex Number Systems 1. Identify subsets of complex numbers, and compare their structural characteristics. 2. Compare and contrast the properties of real numbers with the properties of

### The distance of a curve to its control polygon J. M. Carnicer, M. S. Floater and J. M. Peña

The distance of a curve to its control polygon J. M. Carnicer, M. S. Floater and J. M. Peña Abstract. Recently, Nairn, Peters, and Lutterkort bounded the distance between a Bézier curve and its control

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

Content Credits 11 Chapter 1 Arithmetic Refresher 13 1.1 Algebra 14 Real Numbers 14 Real Polynomials 19 1.2 Equations in one variable 21 Linear Equations 21 Quadratic Equations 22 1.3 Exercises 28 Chapter

### NURBS Drawing Week 5, Lecture 10

CS 430/536 Computer Graphics I NURBS Drawing Week 5, Lecture 10 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

### Affine Transformations. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Affine Transformations University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell Logistics Required reading: Watt, Section 1.1. Further reading: Foley, et al, Chapter 5.1-5.5. David

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

Corollary For equidistant knots, i.e., u i = a + i (b-a)/n, we obtain with (f є C n+1 [a,b]). Proof: This follows directly from the preceding theorem using the inequality 120202: ESM4A - Numerical Methods

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

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. 2. PART ONE is to be answered in the TEAR-OFF ANSWER

### NURBS Drawing Week 5, Lecture 10

CS 430/536 Computer Graphics I NURBS Drawing Week 5, Lecture 10 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University

### A Short Introduction to Computer Graphics

A Short Introduction to Computer Graphics Frédo Durand MIT Laboratory for Computer Science 1 Introduction Chapter I: Basics Although computer graphics is a vast field that encompasses almost any graphical

### The Essentials of CAGD

The Essentials of CAGD Chapter 2: Lines and Planes Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentials-cagd c 2000 Farin & Hansford

### PERFORMANCE OF BÉZIER CURVES RENDERING IN WEB BROWSERS

PERFORMANCE OF BÉZIER CURVES RENDERING IN WEB BROWSERS Abstract By Ammar Hattab APMA2821Q Project Report Prof. Mark Ainsworth Spring 2013 Brown University Bézier curves are used everywhere in graphics,

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

EECS 556 Image Processing W 09 Interpolation Interpolation techniques B splines What is image processing? Image processing is the application of 2D signal processing methods to images Image representation

### CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015

CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential

### H.Calculating Normal Vectors

Appendix H H.Calculating Normal Vectors This appendix describes how to calculate normal vectors for surfaces. You need to define normals to use the OpenGL lighting facility, which is described in Chapter

### Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau

Introduction to Computer Graphics Marie-Paule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction

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

VOI. 40 NO. 1 SCIENCE IN CHINA (Series E) February 1997 A matrix method for degree-raising of B-spline curves * QIN Kaihuai (%*>/\$) (Department of Computer Science and Technology, Tsinghua University,

### Example Degree Clip Impl. Int Sub. 1 3 2.5 1 10 15 2 3 1.8 1 5 6 3 5 1 1.7 3 5 4 10 1 na 2 4. Table 7.1: Relative computation times

Chapter 7 Curve Intersection Several algorithms address the problem of computing the points at which two curves intersect. Predominant approaches are the Bézier subdivision algorithm [LR80], the interval

### Jim Lambers MAT 169 Fall Semester 2009-10 Lecture 25 Notes

Jim Lambers MAT 169 Fall Semester 009-10 Lecture 5 Notes These notes correspond to Section 10.5 in the text. Equations of Lines A line can be viewed, conceptually, as the set of all points in space that

### 1 Review of Least Squares Solutions to Overdetermined Systems

cs4: introduction to numerical analysis /9/0 Lecture 7: Rectangular Systems and Numerical Integration Instructor: Professor Amos Ron Scribes: Mark Cowlishaw, Nathanael Fillmore Review of Least Squares

### A Geometric Characterization of Parametric Cubic Curves

A Geometric Characterization of Parametric Cubic Curves MAUREEN C. STONE Xerox PARC and TONY D. DEROSE University of Washington In this paper, we analyze planar parametric cubic curves to determine conditions

### VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203.

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur 603203. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING Year & Semester : III Year, V Semester Section : CSE - 1 & 2 Subject Code : CS6504 Subject

### AP Calculus BC. All students enrolling in AP Calculus BC should have successfully completed AP Calculus AB.

AP Calculus BC Course Description: Advanced Placement Calculus BC is primarily concerned with developing the students understanding of the concepts of calculus and providing experiences with its methods

### Algebra II. Larson, Boswell, Kanold, & Stiff (2001) Algebra II, Houghton Mifflin Company: Evanston, Illinois. TI 83 or 84 Graphing Calculator

Algebra II Text: Supplemental Materials: Larson, Boswell, Kanold, & Stiff (2001) Algebra II, Houghton Mifflin Company: Evanston, Illinois. TI 83 or 84 Graphing Calculator Course Description: The purpose

### The Not-Formula Book for C1

Not The Not-Formula Book for C1 Everything you need to know for Core 1 that won t be in the formula book Examination Board: AQA Brief This document is intended as an aid for revision. Although it includes

### Numerical algorithms for curve approximation and novel user oriented interactive tools

UNIVERSITÀ DEGLI STUDI DI BARI Dottorato di Ricerca in Matematica XXI Ciclo A.A. 2008/2009 Settore Scientifico-Disciplinare: MAT/08 Analisi Numerica Tesi di Dottorato Numerical algorithms for curve approximation

### Spatial Deformations: FFDs, wires, wraps. Karan Singh

Spatial Deformations: FFDs, wires, wraps Karan Singh What are spatial deformations? Functional mapping from. Affine Transformations Nonlinear Deformations Axial Deformations Free-form Deformations Wires

### CPIT-285 Computer Graphics

Department of Information Technology B.S.Information Technology ABET Course Binder CPIT-85 Computer Graphics Prepared by Prof. Alhasanain Muhammad Albarhamtoushi Page of Sunday December 4 0 : PM Cover

### 12.5 Equations of Lines and Planes

Instructor: Longfei Li Math 43 Lecture Notes.5 Equations of Lines and Planes What do we need to determine a line? D: a point on the line: P 0 (x 0, y 0 ) direction (slope): k 3D: a point on the line: P

### Tutorial on Convex Optimization for Engineers Part I

Tutorial on Convex Optimization for Engineers Part I M.Sc. Jens Steinwandt Communications Research Laboratory Ilmenau University of Technology PO Box 100565 D-98684 Ilmenau, Germany jens.steinwandt@tu-ilmenau.de

### In what follows, we will focus on Voronoi diagrams in Euclidean space. Later, we will generalize to other distance spaces.

Voronoi Diagrams 4 A city builds a set of post offices, and now needs to determine which houses will be served by which office. It would be wasteful for a postman to go out of their way to make a delivery

### CS 775: Advanced Computer Graphics. Lecture 11 : Motion Editing

CS 775: Advanced Computer Graphics Lecture 11 : Motion Editing Working with motion data: Captured on a single perfomer How to use to motion to animate different characters? How to change the motion? How

### Exemplar for Internal Achievement Standard. Mathematics and Statistics Level 3

Exemplar for Internal Achievement Standard Mathematics and Statistics Level 3 This exemplar supports assessment against: Achievement Standard Apply systems of simultaneous equations in solving problems

### STUDENT LEARNING OUTCOMES FOR THE SANTIAGO CANYON COLLEGE MATHEMATICS DEPARTMENT (Last Revised 8/20/14)

STUDENT LEARNING OUTCOMES FOR THE SANTIAGO CANYON COLLEGE MATHEMATICS DEPARTMENT (Last Revised 8/20/14) Department SLOs: Upon completion of any course in Mathematics the student will be able to: 1. Create

### M.L. Sampoli CLOSED SPLINE CURVES BOUNDING MAXIMAL AREA

Rend. Sem. Mat. Univ. Pol. Torino Vol. 61, 3 (2003) Splines and Radial Functions M.L. Sampoli CLOSED SPLINE CURVES BOUNDING MAXIMAL AREA Abstract. In this paper we study the problem of constructing a closed

### (a) We have x = 3 + 2t, y = 2 t, z = 6 so solving for t we get the symmetric equations. x 3 2. = 2 y, z = 6. t 2 2t + 1 = 0,

Name: Solutions to Practice Final. Consider the line r(t) = 3 + t, t, 6. (a) Find symmetric equations for this line. (b) Find the point where the first line r(t) intersects the surface z = x + y. (a) We

### Precalculus REVERSE CORRELATION. Content Expectations for. Precalculus. Michigan CONTENT EXPECTATIONS FOR PRECALCULUS CHAPTER/LESSON TITLES

Content Expectations for Precalculus Michigan Precalculus 2011 REVERSE CORRELATION CHAPTER/LESSON TITLES Chapter 0 Preparing for Precalculus 0-1 Sets There are no state-mandated Precalculus 0-2 Operations

### CS 4620 Practicum Programming Assignment 6 Animation

CS 4620 Practicum Programming Assignment 6 Animation out: Friday 14th November 2014 due: : Monday 24th November 2014 1 Introduction In this assignment, we will explore a common topic in animation: key

### COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 175-01, Fall 2009 Meetings: TR 1:30-2:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke

### Tessellation of Trimmed NURBS Surfaces using Multipass Shader Algorithms on the GPU BACHELOR THESIS. Mark Geiger

Tessellation of Trimmed NURBS Surfaces using Multipass Shader Algorithms on the GPU BACHELOR THESIS Mark Geiger Duale Hochschule Baden-Württemberg Bachelor Thesis Tessellation of Trimmed NURBS Surfaces

### 1. Abstract 2. Introduction 3. Algorithms and Techniques

MS PROJECT Virtual Surgery Piyush Soni under the guidance of Dr. Jarek Rossignac, Brian Whited Georgia Institute of Technology, Graphics, Visualization and Usability Center Atlanta, GA piyush_soni@gatech.edu,

### Finite Element Formulation for Plates - Handout 3 -

Finite Element Formulation for Plates - Handout 3 - Dr Fehmi Cirak (fc286@) Completed Version Definitions A plate is a three dimensional solid body with one of the plate dimensions much smaller than the

### Piecewise Cubic Splines

280 CHAP. 5 CURVE FITTING Piecewise Cubic Splines The fitting of a polynomial curve to a set of data points has applications in CAD (computer-assisted design), CAM (computer-assisted manufacturing), and

### Masconomet Regional High School Curriculum Guide

Masconomet Regional High School Curriculum Guide COURSE TITLE: Algebra 2 COURSE NUMBER: 1322 DEPARTMENT: Mathematics GRADE LEVEL(S) & PHASE: 10 12, CP LENGTH OF COURSE: Full Year Course Description: This

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

Course Syllabus Math 1314 College Algebra Revision Date: 8-21-15 Catalog Description: In-depth study and applications of polynomial, rational, radical, exponential and logarithmic functions, and systems

### The Fourth International DERIVE-TI92/89 Conference Liverpool, U.K., 12-15 July 2000. Derive 5: The Easiest... Just Got Better!

The Fourth International DERIVE-TI9/89 Conference Liverpool, U.K., -5 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de technologie supérieure 00, rue Notre-Dame Ouest Montréal

### Constrained curve and surface fitting

Constrained curve and surface fitting Simon Flöry FSP-Meeting Strobl (June 20, 2006), floery@geoemtrie.tuwien.ac.at, Vienna University of Technology Overview Introduction Motivation, Overview, Problem

### COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010 Class times 2:25 PM - 3:55 PM Mondays and Wednesdays Lecture room Trottier Building 2120 Instructor Paul Kry, kry@cs.mcgill.ca Course

### Classification of Fingerprints. Sarat C. Dass Department of Statistics & Probability

Classification of Fingerprints Sarat C. Dass Department of Statistics & Probability Fingerprint Classification Fingerprint classification is a coarse level partitioning of a fingerprint database into smaller

### Lecture 19 Camera Matrices and Calibration

Lecture 19 Camera Matrices and Calibration Project Suggestions Texture Synthesis for In-Painting Section 10.5.1 in Szeliski Text Project Suggestions Image Stitching (Chapter 9) Face Recognition Chapter

### Chapter 15 Introduction to Linear Programming

Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of

### Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total

### Introduction. Goals of geometric modeling

Introduction This class notes are intended for classes in geometric modeling. I intentionnaly wrote these notes in English so that they can be used in many contexts, but also, because I believe that students

### Planar Curve Intersection

Chapter 7 Planar Curve Intersection Curve intersection involves finding the points at which two planar curves intersect. If the two curves are parametric, the solution also identifies the parameter values

### Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive

### Drawing an elliptical arc using polylines, quadratic or cubic Bézier curves

Drawing an elliptical arc using polylines, quadratic or cubic Bézier curves L. Maisonobe July 1, 003 Contents 1 Introduction Definitions 3.1 parametric curves.......................... 3.1.1 tangent...........................

### Minkowski Sum of Polytopes Defined by Their Vertices

Minkowski Sum of Polytopes Defined by Their Vertices Vincent Delos, Denis Teissandier To cite this version: Vincent Delos, Denis Teissandier. Minkowski Sum of Polytopes Defined by Their Vertices. Journal

### Computer Graphics. 2.1 Mathematics

2 Computer Graphics What You Will Learn: The objectives of this chapter are quite ambitious; you should refer to the references cited in each Section to get a deeper explanation of the topics presented.

### Derive 5: The Easiest... Just Got Better!

Liverpool John Moores University, 1-15 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de Technologie Supérieure, Canada Email; mbeaudin@seg.etsmtl.ca 1. Introduction Engineering

### Diploma Plus in Certificate in Advanced Engineering

Diploma Plus in Certificate in Advanced Engineering Mathematics New Syllabus from April 2011 Ngee Ann Polytechnic / School of Interdisciplinary Studies 1 I. SYNOPSIS APPENDIX A This course of advanced

### Sect. 1.3: Factoring

Sect. 1.3: Factoring MAT 109, Fall 2015 Tuesday, 1 September 2015 Algebraic epression review Epanding algebraic epressions Distributive property a(b + c) = a b + a c (b + c) a = b a + c a Special epansion

### 67 204 Mathematics for Business Analysis I Fall 2007

67 204 Mathematics for Business Analysis I Fall 2007 Instructor Asõkā Rāmanāyake Office: Swart 223 Office Hours: Monday 12:40 1:40 Wednesday 8:00 9:00 Thursday 9:10 11:20 If you cannot make my office hours,

### PCHS ALGEBRA PLACEMENT TEST

MATHEMATICS Students must pass all math courses with a C or better to advance to the next math level. Only classes passed with a C or better will count towards meeting college entrance requirements. If

### COMPUTER GRAPHICS IMPORTANT QUESTION AND ANSWERS. Computer graphics

Computer graphics 1. Define Computer graphics. Computer graphics remains one of the most existing and rapidly growing computer fields. Computer graphics may be defined as a pictorial representation or

### Algorithms for Real-Time Tool Path Generation

Algorithms for Real-Time Tool Path Generation Gyula Hermann John von Neumann Faculty of Information Technology, Budapest Polytechnic H-1034 Nagyszombat utca 19 Budapest Hungary, hermgyviif.hu Abstract:The

### Parametric Curves. (Com S 477/577 Notes) Yan-Bin Jia. Oct 8, 2015

Parametric Curves (Com S 477/577 Notes) Yan-Bin Jia Oct 8, 2015 1 Introduction A curve in R 2 (or R 3 ) is a differentiable function α : [a,b] R 2 (or R 3 ). The initial point is α[a] and the final point