University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces.

Slides:



Advertisements
Similar presentations
Interpolating curves.
Advertisements

© University of Wisconsin, CS559 Spring 2004
2002 by Jim X. Chen: Bezier Curve Bezier Curve.
Lecture 10 Curves and Surfaces I
Overview June 9- B-Spline Curves June 16- NURBS Curves June 30- B-Spline Surfaces.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
B-Spline Blending Functions
1 Introduction Curve Modelling Jack van Wijk TU Eindhoven.
1 Curves and Surfaces. 2 Representation of Curves & Surfaces Polygon Meshes Parametric Cubic Curves Parametric Bi-Cubic Surfaces Quadric Surfaces Specialized.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Curves Chiew-Lan Tai. Curves 2 Reading Required Hearn & Baker, 8-8 – 8-10, 8-12 Foley, 11.2.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
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.
Curves Locus of a point moving with one degree of freedom
1. 2 The use of curved surfaces allows for a higher level of modeling, especially for the construction of highly realistic models. There are several approaches.
Geometric Modeling Surfaces Mortenson Chapter 6 and Angel Chapter 9.
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.
Bezier and Spline Curves and Surfaces CS4395: Computer Graphics 1 Mohan Sridharan Based on slides created by Edward Angel.
COEN Computer Graphics I
Multiple Integrals 12. Surface Area Surface Area In this section we apply double integrals to the problem of computing the area of a surface.
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
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
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.
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.
Korea University Jung Lee, Computer Graphics Laboratory 3D Game Engine Design David H. Eberly 8.3 Special Surfaces 2001/11/13.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric Curves.
Curves and Surfaces Chapter 10. CS 480/680 2Chapter 9 -- Hierarchical Models Introduction: Introduction: Until now we have worked with flat entities such.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Affine Transformations.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
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.
11/6/ :55 Graphics II Introduction to Parametric Curves and Surfaces Session 2.
Parametric Curves & Surfaces
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
Splines I – Curves and Properties based on: Michael Gleicher Curves, chapter 15 in Fundamentals of Computer Graphics, 3 rd ed. (Shirley & Marschner) Slides.
11/26/02(C) University of Wisconsin Last Time BSplines.
(c) 2002 University of Wisconsin
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
Foundations of Computer Graphics (Spring 2012) CS 184, Lecture 12: Curves 1
Surface Modeling Parametric Surfaces Dr. S.M. Malaek Assistant: M. Younesi.
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
Curve & Surface.
Subdivision curves.
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
Subdivision curves.
© University of Wisconsin, CS559 Spring 2004
UNIT-5 Curves and Surfaces.
Introduction to Parametric Curve and Surface Modeling
Overview June 9- B-Spline Curves June 16- NURBS Curves
Presentation transcript:

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Parametric surfaces

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 2 Reading Required: Watt, 2.1.4, Optional Watt, 3.6. Bartels, Beatty, and Barsky. An Introduction to Splines for use in Computer Graphics and Geometric Modeling, 1987.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 3 Mathematical surface representations  Explicit z = f(x,y) (a.k.a., a “height field”) what if the curve isn’t a function, like a sphere?  Implicit g(x,y,z) = 0  Parametric S(u,v) = (x(u,v), y(u,v), z(u,v)) For the sphere: x(u,v) = r cos 2  v sin  u y(u,v) = r sin 2  v sin  u z(u,v) = r cos  u As with curves, we’ll focus on parametric surfaces.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 4 Surfaces of revolution Idea: rotate a 2D profile curve around an axis. What kinds of shapes can you model this way? Find: A surface S(u,v) which is radius(z) rotated about the z axis. Solution:

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 5 Extruded surfaces Given: A curve C(u) in the xy-plane: Find: A surface S(u,v) which is C(u) extruded along the z axis. Solution:

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 6 General sweep surfaces The surface of revolution is a special case of a swept surface. Idea: Trace out surface S(u,v) by moving a profile curve C(u) along a trajectory curve T(v). More specifically: Suppose that C(u) lies in an (x c,y c ) coordinate system with origin O c. For every point along T(v), lay C(u) so that O c coincides with T(v).

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 7 The big issue: How to orient C(u) as it moves along T(v)? Here are two options: 1. Fixed (or static): Just translate O c along T(v). 2. Moving. Use the Frenet frame of T(v). Allows smoothly varying orientation. Permits surfaces of revolution, for example. Orientation

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 8 Frenet frames Motivation: Given a curve T(v), we want to attach a smoothly varying coordinate system. To get a 3D coordinate system, we need 3 independent direction vectors. As we move along T(v), the Frenet frame (t,b,n) varies smoothly.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 9 Frenet swept surfaces Orient the profile curve C(u) using the Frenet frame of the trajectory T(v): Put C(u) in the normal plane. Place O c on T(v). Align x c for C(u) with b. Align y c for C(u) with -n. If T(v) is a circle, you get a surface of revolution exactly! What happens at inflection points, i.e., where curvature goes to zero?

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 10 Variations Several variations are possible: Scale C(u) as it moves, possibly using length of T(v) as a scale factor. Morph C(u) into some other curve as it moves along T(v). …

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 11 Directly defining parametric surf. Flashback to curves: We directly defined parametric function f(u), as a cubic polynomial. Why a cubic polynomial? - minimum degree for C2 continuity - “well behaved” Can we do something similar for surfaces? Initially, just think of a height field: height = f(u,v).

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 12 Cubic patches Cubics curves are good… Let’s extend them in the obvious way to surfaces: 16 terms in this function. Let’s allow the user to pick the coefficient for each of them:

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 13 Interesting properties What happens if I pick a particular ‘u’? What happens if I pick a particular ‘v’? What do these look like graphically on a patch?

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 14 Use control points As before, directly manipulating coefficients is not intuitive. Instead, directly manipulate control points. These control points indirectly set the coefficients, using approaches like those we used for curves.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 15 Tensor product Bézier surface Let’s walk through the steps: Which control points are interpolated by the surface?

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 16 Matrix form of Bézier surfaces Recall that Bézier curves can be written in terms of the Bernstein polynomials: They can also be written in a matrix form: Tensor product surfaces can be written out similarly:

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 17 Tensor product B-spline surfaces As with spline curves, we can piece together a sequence of Bézier surfaces to make a spline surface. If we enforce C 2 continuity and local control, we get B-spline curves: treat rows of B as control points to generate Bézier control points in u. treat Bézier control points in u as B-spline control points in v. treat B-spline control points in v to generate Bézier control points in u.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 18 Which B-spline control points are interpolated by the surface? Tensor product B-spline surfaces

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 19 Continuity for surfaces Continuity is more complex for surfaces than curves. Must examine partial derivatives at patch boundaries. G 1 continuity refers to tangent plane.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 20 Trimmed NURBS surfaces Uniform B-spline surfaces are a special case of NURBS surfaces. Sometimes, we want to have control over which parts of a NURBS surface get drawn. For example: We can do this by trimming the u-v domain. Define a closed curve in the u-v domain (a trim curve) Do not draw the surface points inside of this curve. It’s really hard to maintain continuity in these regions, especially while animating.

University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell 21 Next class: Subdivision surfaces Topic: How do we extend ideas from subdivision curves to the problem of representing surfaces? Recommended Reading: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications, 1996, section [Course reader pp ]