Curves and Surfaces.

Slides:



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

2002 by Jim X. Chen: Bezier Curve Bezier Curve.
March 1, 2009Dr. Muhammed Al-Mulhem1 ICS 415 Computer Graphics Hermite Splines Dr. Muhammed Al-Mulhem March 1, 2009 Dr. Muhammed Al-Mulhem March 1, 2009.
Lecture 10 Curves and Surfaces I
Geometric Modeling Notes on Curve and Surface Continuity Parts of Mortenson, Farin, Angel, Hill and others.
2IV60 Computer graphics set 7: Basic Geometric Modeling Jack van Wijk TU/e.
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.
Jehee Lee Seoul National University
1 Introduction Curve Modelling Jack van Wijk TU Eindhoven.
Dr. S.M. Malaek Assistant: M. Younesi
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Q about GL to render polygon glBegin(GL_TRIANGLES) glVertex3f(0,0,0); glVertex3f(1,1,0); glVertex3f(1,0,0); glVertex3f(0,1,0); glEnd();
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Slide 127 October 1999CS Computer Graphics (Top Changwatchai) Review of Spline Concepts Sections 10-6 to in Hearn & Baker Splines can be 2D.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Curves Chiew-Lan Tai.
Curves Chiew-Lan Tai. Curves 2 Reading Required Hearn & Baker, 8-8 – 8-10, 8-12 Foley, 11.2.
Rational Bezier Curves
09/04/02 Dinesh Manocha, COMP258 Bezier Curves Interpolating curve Polynomial or rational parametrization using Bernstein basis functions Use of control.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
Curves Mortenson Chapter 2-5 and Angel Chapter 9
Bezier and Spline Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico.
ENDS 375 Foundations of Visualization Geometric Representation 9/30/04.
Modelling: Curves Week 11, Wed Mar 23
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
COEN Computer Graphics I
Curve Surfaces June 4, Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.
Splines III – 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.
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.
A D V A N C E D C O M P U T E R G R A P H I C S CMSC 635 January 15, 2013 Spline curves 1/23 Curves and Surfaces.
CS 376 Introduction to Computer Graphics 04 / 23 / 2007 Instructor: Michael Eckmann.
V. Space Curves Types of curves Explicit Implicit Parametric.
Spline Representations
Vector Computer Graphic. Vector entities Line Circle, Ellipse, arc,… Curves: Spline, Bezier’s curve, … … Areas Solids Models.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
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.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
COLLEGE OF ENGINEERING UNIVERSITY OF PORTO COMPUTER GRAPHICS AND INTERFACES / GRAPHICS SYSTEMS JGB / AAS Representation of Curves and Surfaces Graphics.
Representation of Curves & Surfaces Prof. Lizhuang Ma Shanghai Jiao Tong University.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Designing Parametric Cubic Curves 1. 2 Objectives Introduce types of curves ­Interpolating ­Hermite ­Bezier ­B-spline Analyze their performance.
1 Graphics CSCI 343, Fall 2015 Lecture 34 Curves and Surfaces III.
CS 450: Computer Graphics PARAMETRIC SPLINES AND SURFACES
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Curves University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2013 Tamara Munzner.
CS552: Computer Graphics Lecture 19: Bezier Curves.
Piecewise Polynomial Parametric Curves Sun-Jeong Kim.
Object Modeling: Curves and Surfaces CEng 477 Introduction to Computer Graphics.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
CS5500 Computer Graphics May 11, 2006
Representation of Curves & Surfaces
Chapter 10-2: Curves.
2D Spline Curves CS 465 Lecture 15 © 2004 Steve Marschner • 1.
Parametric Curves.
Rendering Curves and Surfaces
Designing Parametric Cubic Curves
CURVES CAD/CAM/CAE.
Implicit Functions Some surfaces can be represented as the vanishing points of functions (defined over 3D space) Places where a function f(x,y,z)=0 Some.
Parametric Line equations
UNIT-5 Curves and Surfaces.
Introduction to Parametric Curve and Surface Modeling
Type to enter a caption. Computer Graphics Week 10 Lecture 1.
Spline representation. ❖ A spline is a flexible strip used to produce a smooth curve through a designated set of points. ❖ Mathematically describe such.
Type to enter a caption. Computer Graphics Week 10 Lecture 2.
Presentation transcript:

Curves and Surfaces

Limitations of Polygonal Meshes planar facets

Some Non-Polygonal Modeling Tools Extrusion Surface of Revolution Spline Surfaces/Patches Quadrics and other implicit polynomials

Continuity definitions: C0 continuous curve/surface has no breaks/gaps/holes "watertight" C1 continuous curve/surface derivative is continuous "looks smooth, no facets" C2 continuous curve/surface 2nd derivative is continuous Actually important for shading

Splines... Classic problem: How to draw smooth curves? Spline curve: smooth curve that is defined by a sequence of points Requirements: … H&B 8-8:420-425

Splines 1 Spline curve: smooth curve that is defined by a sequence of points Approximating spline Interpolating spline H&B 8-8:420-425

Splines 2 Convex hull: Smallest polygon that encloses all points Approximating spline Interpolating spline H&B 8-8:420-425

Splines 3 Control graph: polyline through sequence of points Approximating spline Interpolating spline H&B 8-8:420-425

Splines 4 Splines in computer graphics: Piecewise cubic splines Segments H&B 8-8:420-425

Splines 5 Segments have to match ‘nicely’. Given two segments P(u) en Q(v). We consider the transition of P(1) to Q(0). Zero-order parametric continuity C0: P(1) = Q(0). Endpoint of P(u) coincides with startpoint Q(v). P(u) Q(v) H&B 8-8:420-425

Splines 6 Segments have to match ‘nicely’. Given two segments P(u) en Q(v). We consider the transition of P(1) to Q(0). First order parametric continuity C1: dP(1)/du = dQ(0)/dv. Direction of P(1) coincides with direction of Q(0). P(u) Q(v) H&B 8-8:420-425

Splines 7 First order parametric continuity gives a smooth curve. Sometimes good enough, sometimes not. line segment circle arc Suppose that you are bicycling over the curve. What to do with the steering rod at the transition? Turn around! Discontinuity in the curvature! H&B 8-8:420-425

Splines 8 Given two segments P(u) and Q(v). We consider the transition of P(1) to Q(0). Second order parametric continuity C2: d2P(1)/du2 = d2Q(0)/dv2. Curvatures in P(1) and Q(0) are equal. P(u) Q(v) H&B 8-8:420-425

Splines 9 So far: considered parametric continuity. Here the vectors are exactly equal. It suffices to require that the directions are the same: geometric continuity. Q(v) P(u) Q(v) P(u) H&B 8-8:420-425

Splines 10 Given two segments P(u) en Q(v). We consider the transition of P(1) to Q(0). First order geometric continuity: G1: dP(1)/du =  dQ(0)/dv with  >0. Direction of P(1) coincides with direction Q(0). P(u) Q(v) H&B 8-8:420-425

Representation cubic spline 1 H&B 8-8:420-425 U: Powers of u C: Coefficient matrix

Representation cubic spline 2 Control points or Control vectors H&B 8-8:420-425 Matrix Mspline :’translates’ geometric info to coefficients

Representation cubic spline 3 H&B 8-8:420-425

Representation cubic spline 4 H&B 8-8:420-425

Representatie cubic spline 5 Puzzle: Describe a line segment between the points P0 en P1 with those three variants. P1 u=1 P0 u u=0 H&B 8-8:420-425

Representation cubic spline 6 H&B 8-8:420-425

Representation cubic spline 7 H&B 8-8:420-425

Representation cubic spline 8 H&B 8-8:420-425

Spline surface 1 P33 P03 P30 P20 P10 H&B 8-8:420-425 P00

Spline surface 2 H&B 8-8:420-425

Spline surface 2 P33 P03 P30 P20 P10 H&B 8-8:420-425 P00

Spline surface 3 v u H&B 8-8:420-425

Spline surface 4 v du := 1/nu; // nu: #facets u-direction u dv := 1/nv; // nv: #facets v-direction for i := 0 to nu1 do u := i*du; for j := 0 to nv  1 do v := j*dv; DrawQuad(P(u,v), P(u+du, v), P(u+du, v+dv), P(u, v+dv)) u H&B 8-8:420-425

Spline surface 5 // Alternative: calculate points first for i := 0 to nu do for j := 0 to nv do Q[i, j] := P(i/nu, j/nv); for i := 0 to nu  1 do for j := 0 to nv  1 do DrawQuad(Q[i, j], Q[i+1, j], Q[i+1, j+1], Q[i, j+1]) v u H&B 8-8:420-425

Spline surface 6 // Alternative: calculate points first, // triangle version for i := 0 to nu do for j := 0 to nv do Q[i, j] := P(i/nu, j/nv); for i := 0 to nu  1 do for j := 0 to nv  1 do DrawTriangle(Q[i, j], Q[i+1, j], Q[i+1, j+1]); DrawTriangle(Q[i, j], Q[i+1, j+1], Q[i, j+1]); v u H&B 8-8:420-425

Spline surface 7 // Alternative: calculate points first, // triangle variant, triangle strip for i := 0 to nu do for j := 0 to nv do Q[i, j] := P(i/nu, j/nv); for i := 0 to nu  1 do glBegin(GL_TRIANGLE_STRIP); for j := 0 to nv  1 do glVertex(Q[i, j]); glVertex(Q[i, j+1]); glEnd; v u H&B 8-8:420-425

Bézier spline curves 1 H&B 8-10:432-441

Bézier spline curves 2 P1 P0 H&B 8-10:432-441

Bézier spline curves 3 P1 P2 P0 H&B 8-10:432-441

Bézier spline curves 4 P2 P3 P1 P0 H&B 8-10:432-441

Bézier spline curves 5 P2 P3 P1 P0 H&B 8-10:432-441

Bézier spline curves 6 P2 P3 P1 P0 H&B 8-10:432-441

Bézier spline curves 7 P2 P3 P1 P0 H&B 8-10:432-441

Bézier spline curves 8 P2 P3 Q1 P1 Q0 Q2 Q3 P0 H&B 8-10:432-441

Bézier spline curves 8 P2 P3 Q1 P1 Q0 Q2 Q3 P0 H&B 8-10:432-441

Bézier spline curves 9 P2 P3 Q1 P1 Q0 Q2 Q3 P0 H&B 8-10:432-441

Bézier spline curves 9 P2 P3 P1 Q1 Q0 Q2 Q3 P0 H&B 8-10:432-441

Bézier spline curves 10 H&B 8-10:432-441

Bézier surface 1 P33 P03 P30 P20 P10 P00 H&B 8-10:432-441

Bézier surface 2 P33 P30 Q33 P03 P00 Q30 Q03 H&B 8-10:432-441 Q00

Bézier surface 2 P33 P30 Q33 P03 P00 Q03 Q30 H&B 8-10:432-441 Q00

Bézier surface 3 P33 P30 P03 P00 Q30 H&B 8-10:432-441 Q00

Bézier surface 3 P33 P30 P03 P00 Q30 H&B 8-10:432-441 Q00

Bézier surface 3 P33 P30 P03 P00 Q30 H&B 8-10:432-441 Q00