Download presentation
Presentation is loading. Please wait.
Published byDella Logan Modified over 9 years ago
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.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.