Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.

Similar presentations


Presentation on theme: "Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184."— Presentation transcript:

1 Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184

2 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

3 Fractals Self-similar recursive modeling operators Sierpinski Triangle Koch Snowflake

4 Linear Fractal Mountains 2 step recursive process –Subdivide chain by creating edge midpoints –Randomly perturb midpoint positions Gen 0: Gen 1: Gen 2: Gen 3:

5 Fractal Mountain Surfaces 2 step recursive process –Subdivide triangles at edge midpoints –Randomly perturb midpoint positions Gen 0Gen 1Gen 2

6 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

7 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

8 Review of Bézier Curves DeCastlejau Algorithm V2V2 V4V4 V1V1 V3V3 Insert at t = ¾

9 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 Insert at t = ¾

10 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 00¾ ¾11 0¾1 Insert at t = ¾

11 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 00¾ ¾¾1 ¾11 0¾10¾1 0¾¾ Insert at t = ¾

12 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 00¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾

13 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 00¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾

14 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 00¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾

15 Review of Bézier Curves DeCastlejau Algorithm 001 000 111 011 00¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾

16 Bézier Curves Summary DeCastlejau algorithm –Evaluate Position(t) and Tangent(t) –Subdivides the curve into 2 subcurves with independent control polygons Subdivision of Bézier curves and convex hull property allows for: –Adaptive rendering based on a flatness criterion –Adaptive collision detection using line segment tests

17 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

18 Blossoming of Bsplines 234 123 456 345 01765432 Knots:

19 Blossoming of Bsplines 234 123 456 345 233.53.545 33.54 017654323.5 Knots:

20 Blossoming of Bsplines 234 123 456 345 233.53.545 33.54 33.53.53.53.54 017654323.5 Knots:

21 Blossoming of Bsplines 234 123 456 345 233.53.545 33.54 33.53.53.53.54 017654323.5 3.53.53.5 Knots:

22 Bspline Blossoming Summary Blossoming of Bsplines is a generalization of the DeCastlejau algorithm Control point index triples on the same control line share 2 indices with each other Inserting a knot (t value) –Adds a new control point and curve segment –Adjusts other control points to form a control polygon Inserting the same t value reduces the parametric continuity of the curve A control point triple with all 3 indices equal is a point on the Bspline curve

23 Bézier is a specific Bspline 234 123 456 345 01765432 Knots:

24 Bézier is a specific Bspline 234 123 456 345 233 444 445 334 0 333 344 1765432 Knots:

25 Bézier / Bspline Summary Bézier curves are a specific instance of non-uniform Bspline curves –Knot vector is [0,0,0,0,1,1,1,1] First and last control point are on the curve C 0 continuity at first and last control point

26 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

27 Subdivision Curves V20V20 V40V40 V10V10 V30V30 Subdivision is a recursive 2 step process –Topological split –Local averaging / smoothing

28 Subdivision Curves V20V20 V40V40 V10V10 V30V30 Subdivision is a repeated 2 step process –Topological split –Local averaging / smoothing E20E20 E40E40 E10E10 E30E30

29 Subdivision Curves V20V20 V40V40 V10V10 V30V30 Subdivision is a repeated 2 step process –Topological split –Local averaging / smoothing E21E21 E41E41 E11E11 E31E31 V21V21 V11V11 V41V41 V31V31

30 Subdivision Curves V20V20 V40V40 V10V10 V30V30 Subdivision is a repeated 2 step process –Topological split –Local averaging / smoothing E21E21 E41E41 E11E11 E31E31 V21V21 V11V11 V41V41 V31V31

31 Subdivision Curves V20V20 V40V40 V10V10 V30V30 Subdivision is a repeated 2 step process –Topological split –Local averaging / smoothing E21E21 E41E41 E11E11 E31E31 V21V21 V11V11 V41V41 V31V31

32 Subdivision of Bspline Curves 234 123 412 341 413214324 Knots:

33 Subdivision of Bspline Curves 234 123 412 341 413214324 22.53 33.542.534 233.5 344.5 3.544.5 4.512 3.541 411.5 11.52 44.51 4.511.5 1.522.5 2.533.5 1.523 122.5 Knots:

34 Averaging Rules 234 123 412 341 22.53 33.542.534 233.5 344.5 3.544.5 4.512 3.541 411.5 11.52 44.51 4.511.51.522.5 2.533.5 1.523 122.5 Vi2Vi2 Vi1Vi1 V i-1 1 V i+1 1 Vi2= Vi1Vi2= Vi1 V i-1 1

35 Subdivision Curve Summary Subdivsion is a recursive 2 step process –Topological linear split at midpoints –One local averaging / smoothing operator applied to all points Double the number of vertices at each step Subdivision curves are nothing new –Averaging rules chosen so that they are simply uniform Bspline curves

36 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

37 Subdivision Overview Subdivision is a two part process –Topological split –Local averaging / smoothing Control MeshTopological SplitAveraging

38 Subdivision Overview Repeated uniform subdivisions of the control mesh converge to the limit surface Stationary schemes (averaging mask does not change) –Limit position and normal from Eigen analysis Control MeshGeneration 1Generation 2Generation 3

39 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

40 Bspline Surfaces A single Bspline surface patch is controlled by a regular 4x4 grid of control points

41 Bspline Surfaces 2 adjacent patches share 12 control points and meet with C 2 continuity

42 Bspline Surfaces Requires a regular rectangular control mesh grid to guarantee continuity (all valence 4 vertices!) Subdivision can be performed by knot insertion (i.e. blossoming)

43 Catmull-Clark Subdivision Surfaces Smooth surfaces over arbitrary topology control meshes –Closed control mesh  closed limit surface Quad mesh generalization of Bsplines –C 1 at non-valence 4 vertices –C 2 every where else (Bsplines) Sharp corners can be tagged –Allows for smooth and sharp features –Allows for non-closed meshes

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

45 Catmull-Clark Averaging V00V00 V10V10 E10E10 V30V30 V40V40 Vn0Vn0 V20V20 C10C10 F10F10 En0En0 E40E40 E30E30 E20E20 Fn0Fn0 F40F40 F30F30 F20F20 C30C30 C40C40 Cn0Cn0 C20C20

46 Outline Fractal Mountains Review Bézier Curves Bsplines and Blossoming Subdivision Curves Subdivision Surfaces –Quad mesh (Catmull-Clark scheme) –Triangle mesh (Loop scheme)

47 Loop Subdivision Surfaces Gen 0Gen 1Gen 2

48 Conclusion Subdivision is a 2 step recursive process –Topological split –Local averaging / smoothing


Download ppt "Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184."

Similar presentations


Ads by Google