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


 Colleen Gilbert
 2 years ago
 Views:
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, 13pm, 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 korder 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 (firstorder 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 VariationDiminishing 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 Castall 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 nthorder Bernstein polynomials form nthorder 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 Precompute 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 subsegments 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 precomputing 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 k1 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 (loworder) curves, endtoend 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 & 1storder derivatives agree at joints Tangents/normals are C 0 continuous Important for smooth shading C 2 continuity: C 1 & 2ndorder 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 N1 (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 PiecewiseLinear 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 i1 = 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 3i1 = 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 Bsplines 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
More informationWe 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
More informationComputer 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: WireFrame Representation Object is represented as as a set of points
More informationComputer 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
More informationQUADRATIC BÉZIER CURVES
OnLine 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
More informationGeometric 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
More informationFigure 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
More informationModeling 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,
More information(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
More informationthe 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.
More informationWe can display an object on a monitor screen in three different computermodel 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
More informationCHAPTER 1 Splines and Bsplines an Introduction
CHAPTER 1 Splines and Bsplines 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
More informationCurves 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.110.6] Goals How do we draw surfaces? Approximate with polygons Draw polygons
More informationTopics 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
More informationParametric 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:
More informationDegree Reduction of Interval SB Curves
International Journal of Video&Image Processing and Network Security IJVIPNSIJENS Vol:13 No:04 1 Degree Reduction of Interval SB Curves O. Ismail, Senior Member, IEEE Abstract Ball basis was introduced
More informationChapter 33D Modeling
Chapter 33D Modeling Polygon Meshes Geometric Primitives Interpolation Curves Levels Of Detail (LOD) Constructive Solid Geometry (CSG) Extrusion & Rotation Volume and Pointbased Graphics 1 The 3D rendering
More informationBEZIER CURVES AND SURFACES
Department of Applied Mathematics and Computational Sciences University of Cantabria UCCAGD Group COMPUTERAIDED GEOMETRIC DESIGN AND COMPUTER GRAPHICS: BEZIER CURVES AND SURFACES Andrés Iglesias email:
More informationEssential 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
More informationDhiren Bhatia Carnegie Mellon University
Dhiren Bhatia Carnegie Mellon University University Course Evaluations available online Please Fill! December 4 : Inclass final exam Held during class time All students expected to give final this date
More informationBooks. 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
More informationMA 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
More informationCSE 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
More informationIntroduction 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,
More informationDesignMentor: 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
More information5. 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
More informationComputer 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
More informationCOMPUTER 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.
More informationarxiv: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
More information3.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 nonlocally.
More informationIllumination 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
More information3. 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
More information4. Factor polynomials over complex numbers, describe geometrically, and apply to realworld 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
More informationThe 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
More informationContent. 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
More informationNURBS 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
More informationAffine 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.15.5. David
More informationCorollary. (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 (ba)/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
More informationB2.53R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.
B2.53R3: 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 TEAROFF ANSWER
More informationNURBS 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
More informationA 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
More informationThe 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/essentialscagd c 2000 Farin & Hansford
More informationPERFORMANCE 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,
More informationEECS 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
More informationCSE373: 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
More informationH.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
More informationIntroduction to Computer Graphics MariePaule Cani & Estelle Duveau
Introduction to Computer Graphics MariePaule Cani & Estelle Duveau 04/02 Introduction & projective rendering 11/02 Prodedural modeling, Interactive modeling with parametric surfaces 25/02 Introduction
More informationA matrix method for degreeraising of Bspline curves *
VOI. 40 NO. 1 SCIENCE IN CHINA (Series E) February 1997 A matrix method for degreeraising of Bspline curves * QIN Kaihuai (%*>/$) (Department of Computer Science and Technology, Tsinghua University,
More informationExample 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
More informationJim Lambers MAT 169 Fall Semester 200910 Lecture 25 Notes
Jim Lambers MAT 169 Fall Semester 00910 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
More information1 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
More informationA 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
More informationVALLIAMMAI 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
More informationAP 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
More informationAlgebra 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
More informationThe NotFormula Book for C1
Not The NotFormula 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
More informationNumerical 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 ScientificoDisciplinare: MAT/08 Analisi Numerica Tesi di Dottorato Numerical algorithms for curve approximation
More informationSpatial 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 Freeform Deformations Wires
More informationCPIT285 Computer Graphics
Department of Information Technology B.S.Information Technology ABET Course Binder CPIT85 Computer Graphics Prepared by Prof. Alhasanain Muhammad Albarhamtoushi Page of Sunday December 4 0 : PM Cover
More information12.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
More informationTutorial 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 D98684 Ilmenau, Germany jens.steinwandt@tuilmenau.de
More informationIn 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
More informationCS 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
More informationExemplar 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
More informationSTUDENT 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
More informationM.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
More information(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
More informationPrecalculus 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 01 Sets There are no statemandated Precalculus 02 Operations
More informationCS 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
More informationCOMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies
COMP175: Computer Graphics Lecture 1 Introduction and Display Technologies Course mechanics Number: COMP 17501, Fall 2009 Meetings: TR 1:302:45pm Instructor: Sara Su (sarasu@cs.tufts.edu) TA: Matt Menke
More informationTessellation 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 BadenWürttemberg Bachelor Thesis Tessellation of Trimmed NURBS Surfaces
More information1. 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,
More informationFinite 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
More informationPiecewise 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 (computerassisted design), CAM (computerassisted manufacturing), and
More informationMasconomet 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
More informationPrerequisites: TSI Math Complete and high school Algebra II and geometry or MATH 0303.
Course Syllabus Math 1314 College Algebra Revision Date: 82115 Catalog Description: Indepth study and applications of polynomial, rational, radical, exponential and logarithmic functions, and systems
More informationThe Fourth International DERIVETI92/89 Conference Liverpool, U.K., 1215 July 2000. Derive 5: The Easiest... Just Got Better!
The Fourth International DERIVETI9/89 Conference Liverpool, U.K., 5 July 000 Derive 5: The Easiest... Just Got Better! Michel Beaudin École de technologie supérieure 00, rue NotreDame Ouest Montréal
More informationConstrained curve and surface fitting
Constrained curve and surface fitting Simon Flöry FSPMeeting Strobl (June 20, 2006), floery@geoemtrie.tuwien.ac.at, Vienna University of Technology Overview Introduction Motivation, Overview, Problem
More informationCOMP557: Fundamentals of Computer Graphics McGill University, Fall 2010
COMP557: 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
More informationClassification 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
More informationLecture 19 Camera Matrices and Calibration
Lecture 19 Camera Matrices and Calibration Project Suggestions Texture Synthesis for InPainting Section 10.5.1 in Szeliski Text Project Suggestions Image Stitching (Chapter 9) Face Recognition Chapter
More informationChapter 15 Introduction to Linear Programming
Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2014 WeiTa Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of
More informationMonash 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
More informationIntroduction. 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
More informationPlanar 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
More informationMoving Along a Curve with Specified Speed
Moving Along a Curve with Specified Speed David Eberly Geometric Tools, LLC http://www.geometrictools.com/ Copyright c 19982016. All Rights Reserved. Created: April 28, 2007 Last Modified: June 24, 2010
More informationComputer 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
More informationDrawing 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...........................
More informationMinkowski 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
More informationComputer 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.
More informationDerive 5: The Easiest... Just Got Better!
Liverpool John Moores University, 115 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
More informationDiploma 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
More informationSect. 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
More information67 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,
More informationPCHS 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
More informationCOMPUTER 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
More informationAlgorithms for RealTime Tool Path Generation
Algorithms for RealTime Tool Path Generation Gyula Hermann John von Neumann Faculty of Information Technology, Budapest Polytechnic H1034 Nagyszombat utca 19 Budapest Hungary, hermgyviif.hu Abstract:The
More informationParametric Curves. (Com S 477/577 Notes) YanBin Jia. Oct 8, 2015
Parametric Curves (Com S 477/577 Notes) YanBin 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
More informationMean value theorem, Taylors Theorem, Maxima and Minima.
MA 001 Preparatory Mathematics I. Complex numbers as ordered pairs. Argand s diagram. Triangle inequality. De Moivre s Theorem. Algebra: Quadratic equations and expressions. Permutations and Combinations.
More informationCS 4204 Computer Graphics
CS 4204 Computer Graphics Computer Animation Adapted from notes by Yong Cao Virginia Tech 1 Outline Principles of Animation Keyframe Animation Additional challenges in animation 2 Classic animation Luxo
More information