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


 Georgiana Pierce
 2 years ago
 Views:
Transcription
1 CSE 167: Introduction to Computer Graphics Lecture #13: Curves Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017
2 Announcements Project 4 due Monday Nov 27 at 2pm Next Tuesday: midterm #2 Topics: everything since first midterm including lecture this Thursday 2
3 Lecture Overview Polynomial Curves Introduction Polynomial functions Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 3
4 Modeling Creating 3D objects How to construct complex surfaces? Goal Specify objects with control points Objects should be visually pleasing (smooth) Start with curves, then surfaces What can curves be used for? 4
5 Curves Surface of revolution 5
6 Curves Extruded/swept surfaces 6
7 Curves Animation Provide a track for objects Use as camera path 7
8 Video Bezier Curves 8
9 Curves Can be generalized to surface patches 9
10 Curve Representation Why not specify many points along a curve and connect with lines: Can t get smooth results when magnified more points needed Large storage and CPU requirements Instead: specify a curve with a small number of control points Known as a spline curve or spline. Control point 10
11 Spline: Definition Wikipedia: Term comes from flexible spline devices used by shipbuilders and draftsmen to draw smooth shapes. Spline consists of a long strip fixed in position at a number of points that relaxes to form a smooth curve passing through those points. 11
12 Lecture Overview Polynomial Curves Introduction Polynomial functions Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 12
13 Interpolating Control Points Interpolating means that curve goes through all control points A.k.a. Anchor Points Seems most intuitive But hard to control exact behavior 13
14 Approximating Control Points Curve is influenced by control points Various types Most common: polynomial functions Bézier spline (our focus) Bspline (generalization of Bézier spline) NURBS (Non Uniform Rational Basis Spline): used in CAD tools 14
15 Mathematical Definition A vector valued function of one variable x(t) Given t, compute a 3D point x=(x,y,z) Could be interpreted as three functions: x(t), y(t), z(t) Parameter t moves a point along the curve x(t) z y x(0.0) x(0.5) x(1.0) x 15
16 Tangent Vector Derivative Vector x : Points in direction of movement Length corresponds to speed x(t) z y x (0.0) x (0.5) x (1.0) 16 x
17 Lecture Overview Polynomial Curves Introduction Polynomial functions Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 17
18 Polynomial Functions Linear: (1 st order) Quadratic: (2 nd order) Cubic: (3 rd order) 18
19 Polynomial Curves in 3D Linear Evaluated as: 19
20 Polynomial Curves in 3D Quadratic: (2 nd order) Cubic: (3 rd order) We usually define the curve for 0 t 1 20
21 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 But: they do not intuitively describe the shape of the curve Goal: intuitive control points 21
22 Weighted Average 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) 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 22
23 Linear Polynomial x(t) = (p 1 p 0 ) t + p 0 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. 23
24 Matrix Form Geometry matrix Geometric basis Polynomial basis In components 24
25 Summary 1. Grouped by points p: weighted average 2. Grouped by t: linear polynomial 3. Matrix form: 25
26 Tangent Weighted average Polynomial Matrix form 26
27 Lecture Overview Polynomial Curves Introduction Polynomial functions Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 27
28 Bézier Curves Are a higher order extension of linear interpolation p 1 p 1 p 1 p 2 p 3 p 0 p 0 p 0 p 2 Linear Quadratic Cubic 28
29 Bézier Curves Give intuitive control over curve with control points Endpoints are interpolated, intermediate points are approximated Demo: 29
30 Cubic Bézier Curve Most commonly used 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 1 p 0 x(t) p 2 30 p 3
31 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 31
32 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 32
33 De Casteljau Algorithm Given: Four control points A value of t (here t 0.25) p 1 p 0 p 2 p 3 33
34 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 34
35 De Casteljau Algorithm q 0 r 0 q 1 r 0 (t) = Lerp( t,q 0 (t),q 1 (t)) r 1 (t) = Lerp( t,q 1 (t),q 2 (t)) r 1 q 2 35
36 De Casteljau Algorithm r 0 x r 1 x(t) = Lerp( t,r 0 (t),r 1 (t)) 36
37 De Casteljau Algorithm p 1 p 0 x p 2 Demo p 3 37
38 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 38
39 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 39 ( ) ( ) ( ) ( ) ( ) ( )
40 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 1 + 3( 1 t)t 2 p 2 + t 3 p 3 B 0 (t ) B 1 (t ) x(t) = t 3 + 3t 2 3t + 1 p 0 + 3t 3 6t 2 + 3t ( ) ( ) + 3t 3 + 3t 2 p 2 + t 3 p 3 B 2 (t ) ( ) B 3 (t ) ( ) p 1 40
41 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 value of t 41
42 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 42 B i n ( t)= n i ( 1 t )n i t i = n! i! ( n i)! B n i ( t) = 1 n! = factorial of n ( ) i n (n+1)! = n! x (n+1)
43 Any order Bézier Curves nthorder Bernstein polynomials form nthorder Bézier curves B i n ( t)= n i ( 1 t)n i t n i=0 x( t)= B n i ( t)p i ( ) i 43
44 Demo: Bezier curves of multiple orders 44
45 Useful Bézier Curve Properties Convex Hull property Affine Invariance 45
46 Convex Hull Property A Bézier curve is always inside the convex hull Makes curve predictable Allows culling, intersection testing, adaptive tessellation p 1 p 3 p 0 p 2 46
47 Affine Invariance Transforming Bézier curves Two ways to transform: First transform control points, then compute spline points First compute spline points, then transform them Results are identical Invariant under affine transformations 47
48 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 48
49 Cubic Matrix Form x(t) = a t 3 b c t 2 d t 1 a = p 0 + 3p 1 3p 2 + p 3 b = ( 3p 0 6p 1 + 3p 2 ) c = ( 3p 0 + 3p 1 ) d = p 0 ( ) ( ) t x(t) = [ p 0 p 1 p 2 p 3 ] t t G Bez B Bez T xx tt = GG BBBBBB BB BBBBBB TT = CC TT 49
50 Matrix Form Other types of cubic splines use different basis matrices Efficient evaluation Precompute C Use existing 4x4 matrix hardware support 50
51 Lecture Overview Polynomial Curves Introduction Polynomial functions Bézier Curves Introduction Drawing Bézier curves Piecewise Bézier curves 51
52 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 52
53 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,, N Connect points with lines Too few points? Poor approximation: curve is faceted Too many points? x i = a i3 N + b i2 3 N + c i 2 N + d Slow to draw too many line segments x(t) x 0 x 1 x 2 x 3 x4 53
54 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) 54
55 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 55
56 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 56
57 Adaptive Subdivision Algorithm Use De Casteljau construction to split Bézier segment in two For each part If flat enough : draw line segment Else: continue recursion 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 57
58 Lecture Overview Polynomial Curves Introduction Polynomial functions Bézier Curves Introduction Drawing Bézier curves Longer curves 58
59 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 59 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
60 Piecewise Curves Sequence of line segments Piecewise linear curve Sequence of cubic curve segments Piecewise cubic curve (here piecewise Bézier) 60
61 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(u) = x 0 (u), 0 u 1 x 1 (u 1), 1 u 2 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 defined from 0 to 1 x(u) = x i (Nu i), where i = Nu 61
62 Piecewise Bézier curve Given 3N + 1 points p 0,p 1,,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 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 0 p p 2 1 x 0 (t) p 3 x 1 (t) p 6 x 2 (t) p 9 x 3 (t) p 10 p 11 p 12 p 4 p 5 62
63 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 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 63
64 Parametric Continuity C 0 continuity: Curve segments are connected C 1 continuity: C 0 & 1storder derivatives agree Curves have same tangents Relevant for smooth shading C 2 continuity: C 1 & 2ndorder derivatives agree Curves have same tangents and curvature Relevant for high quality reflections
65 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 and rarely necessary 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 65
66 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 Solutions User interface using Bézier handles to ascertain C 1 continuity Generalization to Bsplines or NURBS 66
67 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 67
68 Demo: Bezier handles ml 68
69 Rational Curves Weight causes point to pull more (or less) Can model circles with proper points and weights, Below: rational quadratic Bézier curve (three control points) pull less 69
70 BSplines B as in BasisSplines Basis is blending function Difference to Bézier blending function: Bspline blending function can be zero outside a particular range (limits scope over which a control point has influence) BSpline is defined by control points and range in which each control point is active. 70
71 NURBS Non Uniform Rational BSplines Generalization of Bézier curves Non uniform: Combine BSplines (limited scope of control points) and Rational Curves (weighted control points) Can exactly model conic sections (circles, ellipses) OpenGL support: see glunurbscurve Demos: html 71
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
More informationCSE 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
More informationCSE 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
More information2D 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,
More informationCurves 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 Piecewisecubic curves, Bsplines Surface
More information2D 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
More informationComputer 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
More informationInformation 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 nonrealtime graphics,
More information3D 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
More informationParametric 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
More informationParametric 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
More informationComputergrafik. 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
More informationComputergrafik. 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
More informationLecture 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:
More informationDesign 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
More information3D 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
More informationObjects 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
More informationSplines. Parameterization of a Curve. Curve Representations. Roller coaster. What Do We Need From Curves in Computer Graphics? Modeling Complex Shapes
CSCI 420 Computer Graphics Lecture 8 Splines Jernej Barbic University of Southern California Hermite Splines Bezier Splines CatmullRom Splines Other Cubic Splines [Angel Ch 12.412.12] Roller coaster
More informationFall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.
Fall 2014 CSCI 420: Computer Graphics 4.2 Splines Hao Li http://cs420.haoli.com 1 Roller coaster Next programming assignment involves creating a 3D roller coaster animation We must model the 3D curve
More informationCOMP3421. 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
More informationRational 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)
More informationBezier Curves, BSplines, NURBS
Bezier Curves, BSplines, NURBS Example Application: Font Design and Display Curved objects are everywhere There is always need for: mathematical fidelity high precision artistic freedom and flexibility
More informationSungEui Yoon ( 윤성의 )
CS480: Computer Graphics Curves and Surfaces SungEui Yoon ( 윤성의 ) Course URL: http://jupiter.kaist.ac.kr/~sungeui/cg Today s Topics Surface representations Smooth curves Subdivision 2 Smooth Curves and
More informationCSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling
CSE 167: Introduction to Computer Graphics Lecture #10: View Frustum Culling Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 4 due tomorrow Project
More informationComputer 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
More informationCurves and Surfaces Computer Graphics I Lecture 9
15462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.110.6] February 19, 2002 Frank Pfenning Carnegie
More informationIntro 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
More informationInteractive 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
More informationRepresenting 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 BSplines Drawing Curves Applications of Bezier splines
More informationLECTURE #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 Bspline
More informationCentral 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
More informationBspline Curves. Smoother than other curve forms
Curves and Surfaces Bspline 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,
More informationRoadmap for tonight. What are Bezier curves (mathematically)? Programming Bezier curves (very high level view).
Roadmap for tonight Some background. What are Bezier curves (mathematically)? Characteristics of Bezier curves. Demo. Programming Bezier curves (very high level view). Why Bezier curves? Bezier curves
More informationCS770/870 Spring 2017 Curve Generation
CS770/870 Spring 2017 Curve Generation Primary resources used in preparing these notes: 1. Foley, van Dam, Feiner, Hughes, Phillips, Introduction to Computer Graphics, AddisonWesley, 1993. 2. Angel, Interactive
More informationIntro 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
More informationCurves and Surfaces 1
Curves and Surfaces 1 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric BiCubic Surfaces Quadric Surfaces Specialized Modeling Techniques 2 The Teapot 3 Representing
More informationCurves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification
Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission
More informationCS 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
More informationCS130 : 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
More information08  Designing Approximating Curves
08  Designing Approximating Curves Acknowledgement: Olga SorkineHornung, Alexander SorkineHornung, Ilya Baran Last time Interpolating curves Monomials Lagrange Hermite Different control types Polynomials
More informationFurther 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
More informationThe Freeform Surface Modelling System
1. Introduction The Freeform Surface Modelling System Smooth curves and surfaces must be generated in many computer graphics applications. Many realworld objects are inherently smooth (fig.1), and much
More informationUntil 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
More informationParametric curves. Brian Curless CSE 457 Spring 2016
Parametric curves Brian Curless CSE 457 Spring 2016 1 Reading Required: Angel 10.110.3, 10.5.2, 10.610.7, 10.9 Optional Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics
More informationDgp _ lecture 2. Curves
Dgp _ lecture 2 Curves Questions? This lecture will be asking questions about curves, their Relationship to surfaces, and how they are used and controlled. Topics of discussion will be: Free form Curves
More informationComputer Graphics I Lecture 11
15462 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/
More informationCurves & Surfaces. MIT EECS 6.837, Durand and Cutler
Curves & Surfaces Schedule Sunday October 5 th, * 35 PM * Review Session for Quiz 1 Extra Office Hours on Monday Tuesday October 7 th : Quiz 1: In class 1 handwritten 8.5x11 sheet of notes allowed Wednesday
More informationGeometric Modeling of Curves
Curves Locus of a point moving with one degree of freedom Locus of a onedimensional parameter family of point Mathematically defined using: Explicit equations Implicit equations Parametric equations (Hermite,
More informationOutline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation
CS 430/585 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel
More informationSplines. 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
More informationParametric curves. Reading. Curves before computers. Mathematical curve representation. CSE 457 Winter Required:
Reading Required: Angel 10.110.3, 10.5.2, 10.610.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
More informationProperties 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
More informationIntroduction to Computer Graphics
Introduction to Computer Graphics 2016 Spring National Cheng Kung University Instructors: MinChun Hu 胡敏君 ShihChin Weng 翁士欽 ( 西基電腦動畫 ) Data Representation Curves and Surfaces Limitations of Polygons Inherently
More informationCurves and Surfaces Computer Graphics I Lecture 10
15462 Computer Graphics I Lecture 10 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.110.6] September 30, 2003 Doug James Carnegie
More informationOutline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation
CS 430/585 Computer Graphics I Curve Drawing Algorithms Week 4, Lecture 8 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel
More informationAn 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
More informationCS130 : 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
More informationECE 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
More informationCS184: Computer Graphics
CS184: Computer Graphics Lecture #12: Curves and Surfaces Prof. James O Brien University of California, Berkeley V2007F121.0 Today General curve and surface representations Splines and other polynomial
More informationCurves 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
More informationCOMPUTER 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
More informationCOMPUTER 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
More informationKnow 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
More informationCS559 Computer Graphics Fall 2015
CS559 Computer Graphics Fall 2015 Practice Final Exam Time: 2 hrs 1. [XX Y Y % = ZZ%] MULTIPLE CHOICE SECTION. Circle or underline the correct answer (or answers). You do not need to provide a justification
More informationCurve 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
More informationCurves 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
More informationAn Introduction to BSpline Curves
An Introduction to BSpline Curves Thomas W. Sederberg March 14, 2005 1 BSpline Curves Most shapes are simply too complicated to define using a single Bézier curve. A spline curve is a sequence of curve
More informationNeed 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
More informationCurves 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
More informationOUTLINE. Quadratic Bezier Curves Cubic Bezier Curves
BEZIER CURVES 1 OUTLINE Introduce types of curves and surfaces Introduce the types of curves Interpolating Hermite Bezier Bspline Quadratic Bezier Curves Cubic Bezier Curves 2 ESCAPING FLATLAND Until
More informationRendering 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
More informationCurves and Surfaces for ComputerAided Geometric Design
Curves and Surfaces for ComputerAided Geometric Design A Practical Guide Fourth Edition Gerald Farin Department of Computer Science Arizona State University Tempe, Arizona /ACADEMIC PRESS I San Diego
More informationGL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques
436105 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
More informationComputer Graphics 1. Chapter 2 (May 19th, 2011, 24pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011
Computer Graphics 1 Chapter 2 (May 19th, 2011, 24pm): 3D Modeling 1 The 3D rendering pipeline (our version for this class) 3D models in model coordinates 3D models in world coordinates 2D Polygons in
More informationProblem Max. Points Total 80
University of California San Diego Department of Computer Science CSE167: Introduction to Computer Graphics Fall Quarter 2017 Midterm Examination #2 Tuesday, November 21 st, 2017 Instructor: Dr. Jürgen
More informationKeyword: Quadratic Bézier Curve, Bisection Algorithm, Biarc, Biarc Method, Hausdorff Distances, Tolerance Band.
Department of Computer Science Approximation Methods for Quadratic Bézier Curve, by Circular Arcs within a Tolerance Band Seminar aus Informatik Univ.Prof. Dr. Wolfgang Pree Seyed Amir Hossein Siahposhha
More informationAdvanced Graphics. Beziers, Bsplines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd
Advanced Graphics Beziers, Bsplines, and NURBS Alex Benton, University of Cambridge A.Benton@damtp.cam.ac.uk Supported in part by Google UK, Ltd Bezier splines, BSplines, and NURBS Expensive products
More informationIn this course we will need a set of techniques to represent curves and surfaces in 2d and 3d. 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 2d and 3d. Some reasons for this include Describing curves in space that objects move
More informationLecture 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
More informationBezier Curves. An Introduction. Detlef Reimers
Bezier Curves An Introduction Detlef Reimers detlefreimers@gmx.de http://detlefreimers.de September 1, 2011 Chapter 1 Bezier Curve Basics 1.1 Linear Interpolation This section will give you a basic introduction
More informationBézier Splines. BSplines. BSplines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 BSplines. 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.
More informationAdvanced TextureMapping Curves and Curved Surfaces. PreLecture Business. Texture Modes. Texture Modes. Review quiz
Advanced TextureMapping Curves and Curved Surfaces Preecture Business loadtexture example midterm handed bac, code posted (still) get going on pp3! more on texturing review quiz CS148: Intro to CG Instructor:
More informationMA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves
MA 323 Geometric Modelling Course Notes: Day 21 Three Dimensional Bezier Curves, Projections and Rational Bezier Curves David L. Finn Over the next few days, we will be looking at extensions of Bezier
More information(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
More informationA 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
More informationCS 465 Program 4: Modeller
CS 465 Program 4: Modeller out: 30 October 2004 due: 16 November 2004 1 Introduction In this assignment you will work on a simple 3D modelling system that uses simple primitives and curved surfaces organized
More informationINF3320 Computer Graphics and Discrete Geometry
INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces AkenineMöller, Haines
More informationCurve 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
More informationIntroduction to Geometry. Computer Graphics CMU /15662
Introduction to Geometry Computer Graphics CMU 15462/15662 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
More informationCS 475 / CS Computer Graphics. Modelling Curves 3  BSplines
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/beziermovectpt.html
More informationReview of Tuesday. ECS 175 Chapter 3: Object Representation
Review of Tuesday We have learnt how to rasterize lines and fill polygons Colors (and other attributes) are specified at vertices Interpolation required to fill polygon with attributes 26 Review of Tuesday
More informationComputer 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.
More informationIntro 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
More informationA MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE
Geometric Modeling Notes A MATRIX FORMULATION OF THE CUBIC BÉZIER CURVE Kenneth I. Joy Institute for Data Analysis and Visualization Department of Computer Science University of California, Davis Overview
More informationEECS 487: Interactive Computer Graphics f
Interpolating Key Vales EECS 487: Interactive Compter Graphics f Keys Lectre 33: Keyframe interpolation and splines Cbic splines The key vales of each variable may occr at different frames The interpolation
More informationCS337 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
More informationShape 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
More informationThe Essentials of CAGD
The Essentials of CAGD Chapter 6: Bézier Patches Gerald Farin & Dianne Hansford CRC Press, Taylor & Francis Group, An A K Peters Book www.farinhansford.com/books/essentialscagd c 2 Farin & Hansford The
More informationComputer Graphics Splines and Curves
Computer Graphics 2015 9. Splines and Curves Hongxin Zhang State Key Lab of CAD&CG, Zhejiang University 20151123 About homework 3  an alternative solution with WebGL  links:  WebGL lessons http://learningwebgl.com/blog/?page_id=1217
More informationFor each question, indicate whether the statement is true or false by circling T or F, respectively.
True/False For each question, indicate whether the statement is true or false by circling T or F, respectively. 1. (T/F) Rasterization occurs before vertex transformation in the graphics pipeline. 2. (T/F)
More information