Curve Surfaces June 4, 2007. Examples of Curve Surfaces Spheres The body of a car Almost everything in nature.

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.
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
Jehee Lee Seoul National University
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();
Lecture 29 of 42 Bezier Curves and Splines Wednesday, 02 April 2008
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Informationsteknologi Monday, December 10, 2007Computer Graphics - Class 161 Today’s class Curve fitting Evaluators Surfaces.
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.
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
RASTER CONVERSION ALGORITHMS FOR CURVES: 2D SPLINES 2D Splines - Bézier curves - Spline curves.
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
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.
Splines III – Bézier Curves
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.
Curves and Surfaces CSE3AGR - Paul Taylor Polynomials of Degree n Degree is equal to the highest exponent of a term. Higher exponents result in.
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.
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
INTERPOLATION & APPROXIMATION. Curve algorithm General curve shape may be generated using method of –Interpolation (also known as curve fitting) Curve.
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.
11/26/02(C) University of Wisconsin Last Time BSplines.
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.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
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.
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
Curve & Surface.
Representation of Curves & Surfaces
CS 445 / 645 Introduction to Computer Graphics
Parametric Curves.
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.
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

Curve Surfaces June 4, 2007

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) –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 = (r 2 -x 2 -y 2 ) 1/2 gives us the upper hemisphere only.

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

Parametric Functions x = f x (u, v) y = f y (u, v) z = f z (u, v) Cubic curve: p(u) = c 0 +c 1 u+c 2 u 2 +c 3 u 3 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) = c 0 +c 1 u+c 2 u 2 +c 3 u 3 Given 4 control points p 0, p 1, p 2, p 3, 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 = [c 0, c 1, c 2, c 3 ] 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 (p 0, p 1, p 2, p 3 ), p 1 and p 2 controls the tangents at p 0 and p 3. 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?

C n vs G n Continuity C n means continuity at n-th derivative. G n 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 p i and p i+1, use also p i-1 and p i+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

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 The Utah teapot is available as an object in GLUT.