CS5500 Computer Graphics May 11, 2006

Slides:



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

Lecture 10 Curves and Surfaces I
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
B-Spline Blending Functions
CS 445 / 645 Introduction to Computer Graphics Lecture 22 Hermite Splines Lecture 22 Hermite Splines.
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();
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.
Informationsteknologi Monday, December 10, 2007Computer Graphics - Class 161 Today’s class Curve fitting Evaluators Surfaces.
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.
Modeling of curves Needs a ways of representing curves: Reproducible - the representation should give the same curve every time; Computationally Quick;
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
Cubic Bezier and B-Spline Curves
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.
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
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
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.
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.
Introduction to Computer Graphics with WebGL
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
Quadratic Surfaces. SPLINE REPRESENTATIONS a spline is a flexible strip used to produce a smooth curve through a designated set of points. We.
Chapter VI Parametric Curves and Surfaces
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
Splines IV – B-spline Curves based on: Michael Gleicher: Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
Geometric Modelling 2 INFO410 & INFO350 S Jack Pinches
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.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Computing & Information Sciences Kansas State University Lecture 31 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 32 of 42 Wednesday, 11.
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.
Computing & Information Sciences Kansas State University Lecture 30 of 42CIS 636/736: (Introduction to) Computer Graphics Lecture 30 of 42 Wednesday, 09.
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.
© University of Wisconsin, CS559 Spring 2004
Introduction to Parametric Curve and Surface Modeling
Curve & Surface.
Representation of Curves & Surfaces
CS 445 / 645 Introduction to Computer Graphics
Chapter 10-2: Curves.
CS 430/536 Computer Graphics I Intro to Curves Week 4, Lecture 7
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
CURVES CAD/CAM/CAE.
© University of Wisconsin, CS559 Spring 2004
Chapter XVII Parametric Curves and Surfaces
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.
UNIT-5 Curves and Surfaces.
Introduction to Parametric Curve and Surface Modeling
Curves and Surfaces (I)
Type to enter a caption. Computer Graphics Week 10 Lecture 2.
Presentation transcript:

CS5500 Computer Graphics May 11, 2006 Curve Surfaces CS5500 Computer Graphics May 11, 2006

Examples of Curve Surfaces Spheres The body of a car Almost everything in nature

Representations Simple (or “explicit”) functions. Implicit functions. Parametric functions.

Explicit Functions For example: z = f(x, y) Easy to render: Independent variables: x and y Dependent variable: z Easy to render: For the above, loop over x and y. But too limited: For example, how do you describe a sphere centered at the origin? z = (r2-x2-y2)1/2 gives us the upper hemisphere only.

Implicit Functions 0 = f (x, y, z) Sphere: x2+y2+z2-r2 = 0 All variables are independent variables. Sphere: x2+y2+z2-r2 = 0 More powerful than explicit functions, but harder to render.

Parametric Functions x = fx(u, v) y = fy(u, v) z = fz(u, v) Cubic curve: p(u) = c0+c1u+c2u2+c3u3 Sphere: x = r cos(u)cos(v) y = r sin(u)cos(v) z = r sin(v) To render it, loop over u and v.

But, how do we design or specify a surface?

Control Points Like bending a piece of wood, we control its shape at some control points. Some control points lie on the curve and some don’t. Those lie on the curves are called knots.

Interpolation Let p(u) = c0+c1u+c2u2+c3u3 Given 4 control points p0, p1, p2, p3, we may make p(u) pass through all of them at u=0, 1/3, 2/3, 1. See Section 10.4 for the derivation of c = [c0, c1, c2, c3]T

Hermite Specification Specify a curve by two knots and two tangent vectors at the endpoints.

Bezier Curve Instead of interpolating all 4 control points (p0, p1, p2, p3), p1 and p2 controls the tangents at p0 and p3. The curve lies in the convex hull of the four control points.

Piecewise Curve Segments For curves with more than 4 control points, we may either: Increase the degree of polynomials, or Join piecewise segments. Do pieces meet smoothly at the join points?

Cn vs Gn Continuity Cn means continuity at n-th derivative. Gn doesn’t require the exact match of n-th derivatives at the joint, just being proportional. The tangents point in the same direction, but they may have different magnitudes.

B-Spline If we don’t require the curve to pass through any control point, we may have more control at the join points. To define the curve between pi and pi+1, use also pi-1 and pi+2

NURBS Non-uniform Rational B-Spline. In NURBS, we may use the weights to change the importance of a control point. We won’t discuss it in depth here. For details, see Sections 10.8.

Blending Polynomial Q: What are the blending polynomials for interpolation? (A: See P.488, Fig 10.11)

For A More Formal Discussion The above discussion is aimed at stimulating your interest. For a more formal discussion, especially if you’re interested in researches in these areas, see Angel’s Sections 10.2 to 10.7 [Bonus] Tensor-product surfaces are mentioned in 10.4.2

But, the graphics hardware knows triangles only…

Tessellation Curve surfaces can be approximated by (a lot of) polygons for the purpose of rendering. The tessellation may be static (done before rendering) or dynamic (during rendering).

Subdivision For example, the “de Casteljau” algorithm for rendering Bezier Splines

Curves and Surfaces in OpenGL OpenGL supports curves and surfaces through evaluators. OpenGL Utility library, GLU, provides a set of NURBS functions. For more information: See Angel’s section 10.12 The Utah teapot is available as an object in GLUT.