CS-378: Game Technology Lecture #5: Curves and Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic,

Slides:



Advertisements
Similar presentations
Interpolating curves.
Advertisements

CS-378: Game Technology Lecture #1: Scan Conversion Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic,
Lecture Notes #11 Curves and Surfaces II
Computer Graphics (Spring 2008) COMS 4160, Lecture 6: Curves 1
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
Jehee Lee Seoul National University
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.
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 12: Spline Curves (review) Ravi Ramamoorthi Most material.
CS CS 175 – Week 8 Bézier Curves Definition, Algorithms.
1 Lecture 13 Modeling Curved Lines and Surfaces. 2 Types of Surfaces Ruled Surfaces B-Splines and Bezier Curves Surfaces of Revolution.
09/09/02 Dinesh Manocha, COMP258 Properties of Bezier Curves Invariance under affine parameter transformation P i B i,n (u) = P i B i,n ((u –a)/(b-a))
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
Modelling: Curves Week 11, Wed Mar 23
University of British Columbia CPSC 414 Computer Graphics © Tamara Munzner 1 Curves Week 13, Mon 24 Nov 2003.
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
Computer Graphics Lecture 13 Curves and Surfaces I.
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.
V. Space Curves Types of curves Explicit Implicit Parametric.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
CS 445 / 645 Introduction to Computer Graphics Lecture 23 Bézier Curves Lecture 23 Bézier Curves.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Cornell CS465 Fall 2004 Lecture 15© 2004 Steve Marschner 1 2D Spline Curves CS 465 Lecture 15.
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.
CS 445/645 Fall 2001 Splines/Film/Animation. Final Exam Thursday, December 13 th from 7 – 10 p.m. –Room Olsson 011 You may use one sheet of notes (8.5.
CS 376 Introduction to Computer Graphics 04 / 25 / 2007 Instructor: Michael Eckmann.
Greg Humphreys CS445: Intro Graphics University of Virginia, Fall 2003 Parametric Curves & Surfaces Greg Humphreys University of Virginia CS 445, Spring.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
(c) 2002 University of Wisconsin
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
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:
1 대상물체의 형상화를 위해 사용되는 기술  인공물체 : 기하학적 Primitive ( 선, 면, 구, 육면체 ) 등을 이 용하여 형상화. 입력물 : 형상화 물체의 3 차원 좌표값 출력물 : 선구조형상 (Wire framed objects) Technique:Geometric.
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.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Introduction to Parametric Curve and Surface Modeling.
© University of Wisconsin, CS559 Spring 2004
CS5500 Computer Graphics May 11, 2006
CS 445 / 645 Introduction to Computer Graphics
Chapter 10-2: Curves.
2D Spline Curves CS 465 Lecture 15 © 2004 Steve Marschner • 1.
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Parametric Curves.
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Fall 2004
© University of Wisconsin, CS559 Spring 2004
Spline Curves COMP 575/COMP 770.
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.
Three-Dimensional Object Representation
Lecture 21: B Spline Curve
Introduction to Parametric Curve and Surface Modeling
Presentation transcript:

CS-378: Game Technology Lecture #5: Curves and Surfaces Prof. Okan Arikan University of Texas, Austin Thanks to James O’Brien, Steve Chenney, Zoran Popovic, Jessica Hodgins V

2 Administrative Final Project First deliverable Homework is out

3 Today General curve and surface representations Splines and other polynomial bases Points

4 Geometry Representations Constructive Solid Geometry (CSG) Parametric Polygons Subdivision surfaces Implicit Surfaces Point-based Surface

5 Geometry Representations Object made by CSG Converted to polygons

6 Geometry Representations Object made by CSG Converted to polygons Converted to implicit surface

7 Geometry Representations CSG on implicit surfaces

8 Geometry Representations Point-based surface descriptions Ohtake, et al., SIGGRAPH 2003

9 Geometry Representations Subdivision surface (different levels of refinement) Images from Subdivision.org

10 Geometry Representations Various strengths and weaknesses Ease of use for design Ease/speed for rendering Simplicity Smoothness Collision detection Flexibility (in more than one sense) Suitability for simulation many others...

11 Parametric Representations Curves: Surfaces: Volumes: and so on... Note: a vector function is really n scalar functions

12 Same curve/surface may have multiple formulae Parametric Rep. Non-unique

13 Simple Differential Geometry Tangent to curve Tangents to surface Normal of surface Also: curvature, curve normals, curve bi-normal, others... Degeneracies: or

14 Discretization Arbitrary curves have an uncountable number of parameters i.e. specify function value at all points on real number line

15 Discretization Arbitrary curves have an uncountable number of parameters Pick complete set of basis functions Polynomials, Fourier series, etc. Truncate set at some reasonable point Function represented by the vector (list) of The may themselves be vectors

16 Polynomial Basis Power Basis The elements of are linearly independant i.e. no good approximation Skipping something would lead to bad results... odd stiffness

17 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? For now, assume

18 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis?

19 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis?

20 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis?

21 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis?

22 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? Hermite basis functions

23 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? Hermite basis functions Probably not to scale.

24 Hermite Basis Specify curve by Endpoint values Endpoint tangents (derivatives) Parameter interval is arbitrary (most times) Don’t need to recompute basis functions These are cubic Hermite Could do construction for any odd degree derivatives at end points

25 Cubic Bézier Similar to Hermite, but specify tangents indirectly Note: all the control points are points in space, no tangents.

26 Cubic Bézier Similar to Hermite, but specify tangents indirectly

27 Cubic Bézier Plot of Bézier basis functions

28 Changing Bases Power basis, Hermite, and Bézier all are still just cubic polynomials The three bases all span the same space Like different axes in Changing basis

29 Useful Properties of a Basis Convex Hull All points on curve inside convex hull of control points Bézier basis has convex hull property

30 Useful Properties of a Basis Invariance under class of transforms Transforming curve is same as transforming control points Bézier basis invariant for affine transforms Bézier basis NOT invariant for perspective transforms NURBS are though...

31 Useful Properties of a Basis Local support Changing one control point has limited impact on entire curve Nice subdivision rules Fast evaluation scheme Interpolation -vs- approximation

32 DeCasteljau Evaluation A geometric evaluation scheme for Bézier

33 Joining If you change a, b, or c you must change the others But if you change a, b, or c you do not have to change beyond those three. *Local Support*

34 Tensor-Product Surfaces Surface is a curve swept through space Replace control points of curve with other curves

35 Hermite Surface Bases Plus symmetries...

36 Hermite Surface Hump Functions Plus symmetries...

Points

38 A Thought Experiment Laser scanners Millions to billions of points Typical image At most a few million pixels More points than pixels...

39 “Point-Based Graphics” Surfaces represented only by points Maybe normals also No topology How can we do Rendering Modeling opperations Simulation

40 Rendering For each point draw a little “splat” Use associated normal for shading Possibly apply texture If “splats” are small compared to spacing then gaps result Ohtake, et al., SIGGRAPH 2003 Splatting too many points would waste time

41 Rendering “QSplat” algorithm Build hierarchical tree of the points Use bounding spheres to estimate size of clusters Render clusters based on screen size Use cluster-normals for internal nodes From Rusinkiewicz and Levoy, SIGGRAPH 2000.

42 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

43 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

44 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

45 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

46 Defining a Surface Two related methods Surface is a point attractor Point-set surfaces Implicit surface Multi-level Partition of Unity Implicits Implicit Moving Least-Squares

47 Point-Set Surfaces Surface is the attractor of a repeated projection process Find nearby points Fit plane (weighted) Project into plane Repeat Does it converge? How to weight points? From Amenta and Kil, SIGGRAPH 2004.

48 Implicit Moving Lest-Squares Define a scalar function that is zero passing through all the points From Shen, et al., SIGGRAPH, 2004.

49 Implicit Moving Lest-Squares From Shen, et al., SIGGRAPH, Function is zero on boundary Decreases in outward direction

50 Moving Least-Square Interpolation Standard Least Square

51 Moving Least-Square Interpolation Moving Least Square

52 Moving Least-Square Interpolation Least SquareMoving Least Square Interpolating Approximating

53 Editing Operations Implicit function can be Combined w/ booleans Warped Offset Composed And more... Ohtake, et al., SIGGRAPH 2003

54 Editing Operations Implicit function can be Combined w/ booleans Warped Offset Composed And more... Ohtake, et al., SIGGRAPH 2003

55 Implicit function can be Combined w/ booleans Warped Offset Composed And more... Editing Operations Ohtake, et al., SIGGRAPH 2003

56 Point-Based Simulation MLS originated in mechanics literature Natural use in graphics for animation From Mueller, et al., SCA, 2004.