Curves and Surfaces Computer Graphics I Lecture 9

Similar documents
Curves and Surfaces Computer Graphics I Lecture 10

Curves and Surface I. Angel Ch.10

Curves and Surfaces 1

Information Coding / Computer Graphics, ISY, LiTH. Splines

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

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

Computer Graphics I Lecture 11

Curve and Surface Basics

Splines Computer Graphics I Lecture 10

Geometric Modeling of Curves

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

Intro to Curves Week 4, Lecture 7

Design considerations

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

Sung-Eui Yoon ( 윤성의 )

Intro to Modeling Modeling in 3D

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

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

3D Modeling Parametric Curves & Surfaces

Intro to Curves Week 1, Lecture 2

Introduction to Computer Graphics

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

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

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

Bezier Curves, B-Splines, NURBS

CS-184: Computer Graphics

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

Rational Bezier Curves

The Free-form Surface Modelling System

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

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

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

Computer Graphics Curves and Surfaces. Matthias Teschner

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

Computergrafik. Matthias Zwicker. Herbst 2010

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

Central issues in modelling

CS-184: Computer Graphics. Today

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

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

COMPUTER AIDED ENGINEERING DESIGN (BFF2612)

Polygon Meshes and Implicit Surfaces

Polygon Meshes and Implicit Surfaces

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

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

Lecture IV Bézier Curves

Parametric curves. Brian Curless CSE 457 Spring 2016

2D Spline Curves. CS 4620 Lecture 13

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

Curves. Computer Graphics CSE 167 Lecture 11

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

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

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

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

Computer Graphics Splines and Curves

For each question, indicate whether the statement is true or false by circling T or F, respectively.

Introduction to Computer Graphics. Farhana Bandukwala, PhD Lecture 11: Surfaces

B-spline Curves. Smoother than other curve forms

Lighting and Shading Computer Graphics I Lecture 7. Light Sources Phong Illumination Model Normal Vectors [Angel, Ch

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

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

Need for Parametric Equations

Dgp _ lecture 2. Curves

An introduction to interpolation and splines

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

2D Spline Curves. CS 4620 Lecture 18

The Essentials of CAGD

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

Introduction to Geometry. Computer Graphics CMU /15-662

Height Fields and Contours Scalar Fields Volume Rendering Vector Fields [Angel Ch. 12] April 23, 2002 Frank Pfenning Carnegie Mellon University

Review of Tuesday. ECS 175 Chapter 3: Object Representation

Visualization Computer Graphics I Lecture 20

CHAPTER 1 Graphics Systems and Models 3

Splines. Connecting the Dots

Reading. Parametric surfaces. Surfaces of revolution. Mathematical surface representations. Required:

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

TO DUY ANH SHIP CALCULATION

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

Outline. Properties of Piecewise Linear Interpolations. The de Casteljau Algorithm. Recall: Linear Interpolation

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

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

Appendix E Calculating Normal Vectors

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

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

Object representation

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

INF3320 Computer Graphics and Discrete Geometry

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

Outline. The de Casteljau Algorithm. Properties of Piecewise Linear Interpolations. Recall: Linear Interpolation

Implicit Surfaces & Solid Representations COS 426

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

Equation of tangent plane: for explicitly defined surfaces

CS770/870 Spring 2017 Curve Generation

CS770/870 Spring 2017 Ray Tracing Implementation

Final Exam CS 184: Foundations of Computer Graphics! page 1 of 12!

08 - Designing Approximating Curves

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

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Lecture 2.2 Cubic Splines

Transcription:

15-462 Computer Graphics I Lecture 9 Curves and Surfaces Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces [Angel 10.1-10.6] February 19, 2002 Frank Pfenning Carnegie Mellon University http://www.cs.cmu.edu/~fp/courses/graphics/

Goals How do we draw surfaces? Approximate with polygons Draw polygons How do we specify a surface? Explicit, implicit, parametric How do we approximate a surface? Interpolation (use only points) Hermite (use points and tangents) Bezier (use points, and more points for tangents) Next lecture: splines, realization in OpenGL 02/19/2002 15-462 Graphics I 2

Explicit Representation Curve in 2D: y = f(x) Curve in 3D: y = f(x), z = g(x) Surface in 3D: z = f(x,y) Problems: How about a vertical line x = c as y = f(x)? Circle y = (r 2 x 2 ) 1/2 two or zero values for x Too dependent on coordinate system Rarely used in computer graphics 02/19/2002 15-462 Graphics I 3

Implicit Representation Curve in 2D: f(x,y) = 0 Line: ax + by + c = 0 Circle: x 2 + y 2 r 2 = 0 Surface in 3d: f(x,y,z) = 0 Plane: ax + by + cz + d = 0 Sphere: x 2 + y 2 + z 2 r 2 = 0 f(x,y,z) can describe 3D object: Inside: f(x,y,z) < 0 Surface: f(x,y,z) = 0 Outside: f(x,y,z) > 0 02/19/2002 15-462 Graphics I 4

Algebraic Surfaces Special case of implicit representation f(x,y,z) is polynomial in x, y, z Quadrics: degree of polynomial 2 Render more efficiently than arbitrary surfaces Implicit form often used in computer graphics How do we represent curves implicitly? 02/19/2002 15-462 Graphics I 5

Parametric Form for Curves Curves: single parameter u (e.g. time) x = x(u), y = y(u), z = z(u) Circle: x = cos(u), y = sin(u), z = 0 Tangent described by derivative Magnitude is velocity 02/19/2002 15-462 Graphics I 6

Parametric Form for Surfaces Use parameters u and v x = x(u,v), y = y(u,v), z = z(u,v) Describes surface as both u and v vary Partial derivatives describe tangent plane at each point p(u,v) = [x(u,v) y(u,v) z(u,v)] T 02/19/2002 15-462 Graphics I 7

Assessment of Parametric Forms Parameters often have natural meaning Easy to define and calculate Tangent and normal Curves segments (for example, 0 u 1) Surface patches (for example, 0 u,v 1) 02/19/2002 15-462 Graphics I 8

Parametric Polynomial Curves Restrict x(u), y(u), z(u) to be polynomial in u Fix degree n Each c k is a column vector 02/19/2002 15-462 Graphics I 9

Parametric Polynomial Surfaces Restrict x(u,v), y(u,v), z(u,v) to be polynomial of fixed degree n Each c ik is a 3-element column vector Restrict to simple case where 0 u,v 1 02/19/2002 15-462 Graphics I 10

Approximating Surfaces Use parametric polynomial surfaces Important concepts: Join points for segments and patches Control points to interpolate Tangents and smoothness Blending functions to describe interpolation First curves, then surfaces 02/19/2002 15-462 Graphics I 11

Outline Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces 02/19/2002 15-462 Graphics I 12

Cubic Polynomial Form Degree 3 appears to be a useful compromise Curves: Each c k is a column vector [c kx c ky c kz ] T From control information (points, tangents) derive 12 values c kx, c ky, c kz for 0 k 3 These determine cubic polynomial form Later: how to render 02/19/2002 15-462 Graphics I 13

Interpolation by Cubic Polynomials Simplest case, although rarely used Curves: Given 4 control points p 0, p 1, p 2, p 3 All should lie on curve: 12 conditions, 12 unknowns Space 0 u 1 evenly p 0 = p(0), p 1 = p(1/3), p 2 = p(2/3), p 3 = p(1) 02/19/2002 15-462 Graphics I 14

Equations to Determine c k Plug in values for u = 0, 1/3, 2/3, 1 Note: p k and c k are vectors! 02/19/2002 15-462 Graphics I 15

Interpolating Geometry Matrix Invert A to obtain interpolating geometry matrix 02/19/2002 15-462 Graphics I 16

Joining Interpolating Segments Do not solve degree n for n points Divide into overlap sequences of 4 points p 0, p 1, p 2, p 3 then p 3, p 4, p 5, p 6, etc. At join points Will be continuous (C 0 continuity) Derivatives will usually not match (no C 1 continuity) 02/19/2002 15-462 Graphics I 17

Blending Functions Make explicit, how control points contribute Simplest example: straight line with control points p 0 and p 3 p(u) = (1 u) p 0 + u p 3 b 0 (u) = 1 u, b 3 (u) = u 1 b 0 (u) b 3 (u) 1 u 02/19/2002 15-462 Graphics I 18

Blending Polynomials for Interpolation Each blending polynomial is a cubic Solve (see [Angel, p. 427]): 02/19/2002 15-462 Graphics I 19

Cubic Interpolation Patch Bicubic surface patch with 4 4 control points Note: each c ik is 3 column vector (48 unknowns) [Angel, Ch. 10.4.2] 02/19/2002 15-462 Graphics I 20

Outline Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces 02/19/2002 15-462 Graphics I 21

Hermite Curves Another cubic polynomial curve Specify two endpoints and their tangents [diagram correction p9 = p ] 02/19/2002 15-462 Graphics I 22

Deriving the Hermite Form As before Calculate derivative Yields 02/19/2002 15-462 Graphics I 23

Summary of Hermite Equations Write in matrix form Remember p k and p k and c k are vectors! Let q = [p 0 p 3 p 0 p 3 ] T and invert to find Hermite geometry matrix M H satisfying 02/19/2002 15-462 Graphics I 24

Blending Functions Explicit Hermite geometry matrix Blending functions for u = [1 u u 2 u 3 ] T 02/19/2002 15-462 Graphics I 25

Join Points for Hermite Curves Match points and tangents (derivates) Diagram correction [p9 = p, q9 = q ] Much smoother than point interpolation How to obtain the tangents? Skip Hermite surface patch More widely used: Bezier curves and surfaces 02/19/2002 15-462 Graphics I 26

Parametric Continuity Matching endpoints (C 0 parametric continuity) Matching derivatives (C 1 parametric continuity) 02/19/2002 15-462 Graphics I 27

Geometric Continuity For matching tangents, less is required G 1 geometric continuity Extends to higher derivatives [p9 = p, q9 = q ] 02/19/2002 15-462 Graphics I 28

Outline Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces 02/19/2002 15-462 Graphics I 29

Bezier Curves Widely used in computer graphics Approximate tangents by using control points 02/19/2002 15-462 Graphics I 30

Equations for Bezier Curves Set up equations for cubic parametric curve Recall: Solve for c k 02/19/2002 15-462 Graphics I 31

Bezier Geometry Matrix Calculate Bezier geometry matrix M B Have C 0 continuity, not C 1 continuity Have C 1 continuity with additional condition 02/19/2002 15-462 Graphics I 32

Blending Polynomials Determine contribution of each control point Smooth blending polynomials 02/19/2002 15-462 Graphics I 33

Convex Hull Property Bezier curve contained entirely in convex hull of control points Determined choice of tangent coefficient (?) 02/19/2002 15-462 Graphics I 34

Bezier Surface Patches Specify Bezier patch with 4 4 control points Bezier curves along the boundary 02/19/2002 15-462 Graphics I 35

Twist Inner points determine twist at corner Flat means p 00, p 10, p 01, p 11 in one plane ( 2 p/ u v)(0,0) = 0 02/19/2002 15-462 Graphics I 36

Summary Parametric Representations Cubic Polynomial Forms Hermite Curves Bezier Curves and Surfaces 02/19/2002 15-462 Graphics I 37

Preview B-Splines: more continuity (C 2 ) Non-uniform B-splines ( heavier points) Non-uniform rational B-splines (NURBS) Rational functions instead of polynomials Based on homogeneous coordinates Rendering and recursive subdivision Curves and surfaces in OpenGL 02/19/2002 15-462 Graphics I 38

Announcements Still have some graded homeworks (Asst. 2) Model solution coming soon Assignment 3 due Thursday before midnight Assignment 4 on curves and surfaces out Thursday 02/19/2002 15-462 Graphics I 39