Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.

Slides:



Advertisements
Similar presentations
Lecture Notes #11 Curves and Surfaces II
Advertisements

Lecture 10 Curves and Surfaces I
Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
ICS 415 Computer Graphics Bézier Splines (Chapter 8)
Cubic Curves CSE169: Computer Animation Instructor: Steve Rotenberg UCSD, Winter 2005.
CS 445/645 Fall 2001 Hermite and Bézier Splines. Specifying Curves Control Points –A set of points that influence the curve’s shape Knots –Control points.
© University of Wisconsin, CS559 Spring 2004
Dr. S.M. Malaek Assistant: M. Younesi
08/30/00 Dinesh Manocha, COMP258 Hermite Curves A mathematical representation as a link between the algebraic & geometric form Defined by specifying the.
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Slide 127 October 1999CS Computer Graphics (Top Changwatchai) Review of Spline Concepts Sections 10-6 to in Hearn & Baker Splines can be 2D.
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
Splines II – Interpolating Curves
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
Designing Parametric Cubic Curves Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Drawing Parametric Curves Jean-Paul Mueller. Curves - The parametric form of a curve expresses the value of each spatial variable for points on the curve.
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
Modelling: Curves Week 11, Wed Mar 23
RASTER CONVERSION ALGORITHMS FOR CURVES: 2D SPLINES 2D Splines - Bézier curves - Spline curves.
Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
COEN Computer Graphics I
Chapter 10: Curves and Surfaces Part 1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley Mohan Sridharan Based on Slides.
Designing Parametric Cubic Curves
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Curve Modeling Bézier Curves
Bresenham’s Algorithm. Line Drawing Reference: Edward Angel’s book: –6 th Ed. Sections 6.8 and 6.9 Assuming: –Clipped (to fall within the window) –2D.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
19/13/ :20 UML Graphics II Parametric Curves and Surfaces Session 3.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
Interactive Graphics Lecture 9: Slide 1 Interactive Graphics Lecture 9: Introduction to Spline Curves.
V. Space Curves Types of curves Explicit Implicit Parametric.
Introduction to Computer Graphics with WebGL
Picking and Curves Week 6 David Breen Department of Computer Science Drexel University Based on material from Ed Angel, University of New Mexico CS 480/680.
Curves.
Review of Interpolation. A method of constructing a function that crosses through a discrete set of known data points.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel: Interactive.
June D Object Representation Shmuel Wimer Bar Ilan Univ., School of Engineering.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Curves and Surfaces Chapter 10. CS 480/680 2Chapter 9 -- Hierarchical Models Introduction: Introduction: Until now we have worked with flat entities such.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
11/26/02(C) University of Wisconsin Last Time BSplines.
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
Computer Graphics Lecture 37
University of New Mexico
University of New Mexico
University of New Mexico
Designing Parametric Cubic Curves
Curves and Surfaces Ed Angel
UNIT-5 Curves and Surfaces.
Introduction to Computer Graphics with WebGL
Introduction to Parametric Curve and Surface Modeling
Designing Parametric Cubic Curves
Type to enter a caption. Computer Graphics Week 10 Lecture 1.
Presentation transcript:

Designing Parametric Cubic Curves 1

2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance

3 Matrix-Vector Form define then

4 Interpolating Curve p0p0 p1p1 p2p2 p3p3 Given four data (control) points p 0, p 1, p 2, p 3 determine cubic p(u) which passes through them Must find c 0, c 1, c 2, c 3

5 Interpolation Equations apply interpolating conditions at u = 0, 1/3, 2/3, 1 p 0 = p(0) = c 0 p 1 = p(1/3) = c 0 + (1/3)c 1 + (1/3) 2 c 2 + (1/3) 3 c 2 p 2 = p(2/3) = c 0 + (2/3)c 1 + (2/3) 2 c 2 + (2/3) 3 c 2 p 3 = p(1) = c 0 + c 1 + c 2 + c 2 or in matrix form with p = [p 0 p 1 p 2 p 3 ] T p = Ac

6 Interpolation Matrix Solving for c find interpolation matrix c = M I p Note that M I does not depend on input data and can be used for each segment in x, y, and z

7 Interpolating Multiple Segments use p = [p 0 p 1 p 2 p 3 ] T use p = [p 3 p 4 p 5 p 6 ] T Get continuity at join points but not continuity of derivatives

8 Blending Functions Rewriting the equation for p(u) p(u) = u T c = u T M I p = b(u) T p where b(u) = [b 0 (u) b 1 (u) b 2 (u) b 3 (u)] T is an array of blending polynomials s.t. p(u) = b 0 (u)p 0 + b 1 (u)p 1 + b 2 (u)p 2 + b 3 (u)p 3 b 0 (u) = -4.5(u - 1/3)(u - 2/3)(u - 1) b 1 (u) = 13.5u (u - 2/3)(u - 1) b 2 (u) = -13.5u (u - 1/3)(u - 1) b 3 (u) = 4.5u (u - 1/3)(u - 2/3)

9 Blending Functions functions are not smooth ­Hence interpolation polynomial not smooth

10 Interpolating Patch Need 16 conditions to determine the 16 coefficients c ij Choose at u, v = 0, 1/3, 2/3, 1

11 Matrix Form Define v = [1 v v 2 v 3 ] T C = [c ij ] P = [p ij ] p(u,v) = u T Cv If observe that for constant u (v), obtain interpolating curve in v (u), can show p(u,v) = u T M I PM I T v C = M I PM I

12 Blending Patches Each b i (u)b j (v) is a blending patch Shows that can build and analyze surfaces from knowledge of curves

13 Other Types of Curves and Surfaces How can get around limitations of interpolating form ­Lack of smoothness ­Discontinuous derivatives at join points Have four conditions (for cubics) that can apply to each segment ­Use them other than for interpolation ­Need only come close to data

14 Hermite Form p(0)p(1) p’(0) p’(1) Use two interpolating conditions and two derivative conditions per segment Ensures continuity and first derivative continuity between segments

15 Equations Interpolating conditions same at ends p(0) = p 0 = c 0 p(1) = p 3 = c 0 + c 1 + c 2 + c 3 Differentiate  p’(u) = c 1 + 2uc 2 + 3u 2 c 3 Evaluate at end points p’(0) = p’ 0 = c 1 p’(1) = p’ 3 = c 1 + 2c 2 + 3c 3

16 Matrix Form Solve  c = M H q where M H = [Hermite matrix]

17 Blending Polynomials p(u) = b(u) T q Although these functions are smooth, Hermite form not used directly in Computer Graphics and CAD because usually have control points but not derivatives However, Hermite form is basis of Bezier form

18 Parametric and Geometric Continuity Can require derivatives of x, y, and z to each be continuous at join points (parametric continuity) Alternately, can only require that tangents of resulting curve be continuous (geometry continuity) The latter gives more flexibility as need satisfy only 2 conditions rather than 3 at each join point

19 Example Here p and q have same tangents at ends of segment but different derivatives Generate different Hermite curves This techniques is used in drawing applications

20 Higher Dimensional Approximations Techniques for both interpolating and Hermite curves can be used with higher dimensional parametric polynomials For interpolating form, resulting ­matrix becomes increasingly more ill- conditioned ­curves less smooth and more prone to numerical errors In both cases, more work in rendering resulting polynomial curves and surfaces