Presentation is loading. Please wait.

Presentation is loading. Please wait.

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,

Similar presentations


Presentation on theme: "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,"— Presentation transcript:

1 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 V2005-14-1.1

2 2 Administrative Final Project First deliverable Homework is out

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

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

5 5 Geometry Representations Object made by CSG Converted to polygons

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

7 7 Geometry Representations CSG on implicit surfaces

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

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

10 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 11 Parametric Representations Curves: Surfaces: Volumes: and so on... Note: a vector function is really n scalar functions

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

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

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

15 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 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 17 Specifying a Curve Given desired values (constraints) how do we determine the coefficients for cubic power basis? For now, assume

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

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

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

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

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

23 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 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 25 Cubic Bézier Similar to Hermite, but specify tangents indirectly Note: all the control points are points in space, no tangents.

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

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

28 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 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 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 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 32 DeCasteljau Evaluation A geometric evaluation scheme for Bézier

33 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 34 Tensor-Product Surfaces Surface is a curve swept through space Replace control points of curve with other curves

35 35 Hermite Surface Bases Plus symmetries...

36 36 Hermite Surface Hump Functions Plus symmetries...

37 Points

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

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

40 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 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 42 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

43 43 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

44 44 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

45 45 Rendering From Rusinkiewicz and Levoy, SIGGRAPH 2000.

46 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 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 48 Implicit Moving Lest-Squares Define a scalar function that is zero passing through all the points From Shen, et al., SIGGRAPH, 2004.

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

50 50 Moving Least-Square Interpolation Standard Least Square

51 51 Moving Least-Square Interpolation Moving Least Square

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

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

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

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

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


Download ppt "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,"

Similar presentations


Ads by Google