1 / 37

Exploring Subdivision Curves and Surfaces in Computer Graphics

Learn about Bézier curves, subdivision techniques, and fractal mountains in CS184 - Spring 2011. Review DeCastlejau Algorithm and Subdivision of Bézier Curves. Understand the Quad.mesh (Catmull-Clark scheme) and Triangle.mesh (Loop scheme). Delve into the adaptive rendering, collision detection, and B-spline curve creation. Discover the Catmull-Clark Subdivision Surface and Loop Subdivision Surface. Explore the control mesh, topological split, and local averaging for creating smooth surfaces. Experience the elegance of subdivision schemes and their applications in computer graphics.

helenee
Download Presentation

Exploring Subdivision Curves and Surfaces in Computer Graphics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011

  2. Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains

  3. Review of Bézier CurvesDeCastlejau Algorithm V2 V3 V1 V4 Insert at t = ¾

  4. Review of Bézier CurvesDeCastlejau Algorithm 001 011 Ignore funny notation at vertices! (= CS 284 stuff ) Insert at t = ¾ 111 000

  5. Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 00¾ ¾11 Insert at t = ¾ 111 000

  6. Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 0¾¾ 00¾ ¾¾1 ¾11 Insert at t = ¾ 111 000

  7. Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 0¾¾ 00¾ ¾¾¾ ¾¾1 ¾11 Insert at t = ¾ 111 000

  8. Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 0¾¾ 00¾ ¾¾¾ ¾¾1 ¾11 Curve position and tangent for t = ¾ Insert at t = ¾ 111 000

  9. Subdivision of Bézier Curves 001 011 0¾1 0¾¾ 00¾ ¾¾¾ ¾¾1 ¾11 This also yields all control points for subdivision into 2 Bezier curves Insert at t = ¾ 111 000

  10. Subdivision of Bézier Curves 001 011 0¾1 0¾¾ 00¾ ¾¾¾ ¾¾1 ¾11 Convex Hull Property! Insert at t = ¾ 111 000

  11. Bézier Curves Summary • DeCastlejau algorithm is good for • Evaluating position(t) and tangent(t), • Subdividing the curve into 2 subcurves with their own control polygons. • Subdivision of Bézier curves and their convex hull property allows for: • Adaptive rendering based on a flatness criterion, • Adaptive collision detection using line segment tests.

  12. Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains

  13. V20 Subdivision Curves V30 An approximating scheme Limit curve V40 V10 • Subdivision is a recursive 2 step process • Topological split • Local averaging / smoothing

  14. E20 V20 Subdivision Curves V30 E10 E30 V40 V10 E40 • Subdivision is a repeated 2 step process • Topological split • Local averaging / smoothing

  15. E21 V20 Subdivision Curves V30 V21 V31 E11 E31 V41 V11 V40 V10 E41 • Subdivision is a repeated 2 step process • Topological split • Local averaging / smoothing

  16. E21 V20 Subdivision Curves V30 V21 V31 E11 E31 V41 V11 V40 V10 E41 • Subdivision is a repeated 2 step process • Topological split • Local averaging / smoothing

  17. E21 V20 Subdivision Curves V30 V21 V31 E11 E31 V41 V11 V40 V10 E41 • Subdivision is a repeated 2 step process • Topological split • Local averaging / smoothing

  18. Results in a B-spline Curve Knots: 4 1 2 3 4 1 2 3 4

  19. Subdivision Curve Summary • Subdivsion is a recursive 2 step process: • Topological split at midpoints, • Local averaging/smoothing operator applied. • Doubles the number of vertices at each step • Subdivision curves are nothing new: • Suitable averaging rules can yield uniform B-spline curves.

  20. Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains

  21. Subdivision Overview Control Mesh Topological Split Averaging Limit Surface • Subdivision is a two part process: • Topological split • Local averaging / smoothing

  22. Subdivision Overview Control Mesh Generation 1 Generation 2 Generation 3 Repeated uniform subdivisions of the control mesh converge to the limit surface. Limit surface can be calculated in closed form for stationary schemes(averaging mask does not change).

  23. Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces: • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains

  24. B-spline Surfaces • A cubic B-spline surface patch is controlled by a regular 4x4 grid of control points

  25. B-spline Surfaces • 2 adjacent patches share 12 control points and meet with C2 continuity

  26. B-spline Surfaces • Requires a regular rectangular control mesh grid and all valence-4 vertices to guarantee continuity.

  27. Catmull-Clark Subdivision Surface • Yields smooth surfaces over arbitrary topology control meshes. • Closed control mesh  closed limit surface. • Quad mesh generalization of B-splines • C1 at non-valence-4 vertices, • C2 everywhere else (B-splines). • Also: Sharp corners can be tagged • Allows for smooth and sharp features, • Allows for non-closed meshes.

  28. Catmull-Clark Subdivision Gen 0 Gen 1 Gen 2 • Extraordinary vertices are generated by non-valence-4vertices and faces in the input mesh. • No additional extraordinary vertices are created after the first generation of subdivision.

  29. C20 V20 C10 C30 V30 F20 E20 F10 F30 E30 E40 V00 E10 V10 V40 En0 F40 Fn0 C40 Cn0 Vn0 Catmull-Clark Averaging (simple averaging) n = valence

  30. Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains

  31. Loop Subdivision Surface Gen 0 Gen 1 Gen 2 n = valence

  32. Summary • Subdivision is a 2 step recursive process: • Topological split, • Local averaging / smoothing. • It is an easy way to make smooth objects • of irregular shape • of topologies other than rectangular (torus).

  33. Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains

  34. Fractals Sierpinski Triangle • Self-similar recursive modeling operators: Koch Snowflake

  35. Linear Fractal Mountains Gen 0: • 2-step recursive process: • Subdivide chain by creating edge midpoints, • Randomly perturb midpoint positions(proportional to subdivided edge length). Gen 1: Gen 2: Gen 3:

  36. Fractal Mountain Surfaces Gen 0 Gen 1 Gen 2 • 2-step recursive process: • Subdivide triangles at edge midpoints, • Randomly perturb midpoint positions.

  37. Fractal Mountains Summary • 2-step recursive process: • Topological split at edge midpoints, • Random perturbation of midpoint positions. • Triangle topological split maintains a water-tight connected mesh. • Useful to make uneven, “natural” terrain. • Often a low-order subdivision is good enough to control terrain-following vehicles.

More Related