Fractal Mountains, Splines, and Subdivision Surfaces - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

Fractal Mountains, Splines, and Subdivision Surfaces

Description:

none – PowerPoint PPT presentation

Number of Views:180
Avg rating:3.0/5.0
Slides: 49
Provided by: Jord4
Category:

less

Transcript and Presenter's Notes

Title: Fractal Mountains, Splines, and Subdivision Surfaces


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
Gen 0
Gen 1
Gen 2
Gen 3
  • 2 step recursive process
  • Subdivide chain by creating edge midpoints
  • Randomly perturb midpoint positions

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

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 CurvesDeCastlejau Algorithm
V2
V3
V1
V4
Insert at t ¾
9
Review of Bézier CurvesDeCastlejau Algorithm
001
011
111
Insert at t ¾
000
10
Review of Bézier CurvesDeCastlejau Algorithm
001
011
0¾1
00¾
¾11
111
Insert at t ¾
000
11
Review of Bézier CurvesDeCastlejau Algorithm
001
011
0¾1
0¾¾
00¾
¾¾1
¾11
111
Insert at t ¾
000
12
Review of Bézier CurvesDeCastlejau Algorithm
001
011
0¾1
0¾¾
00¾
¾¾¾
¾¾1
¾11
111
Insert at t ¾
000
13
Review of Bézier CurvesDeCastlejau Algorithm
001
011
0¾1
0¾¾
00¾
¾¾¾
¾¾1
¾11
111
Insert at t ¾
000
14
Review of Bézier CurvesDeCastlejau Algorithm
001
011
0¾1
0¾¾
00¾
¾¾¾
¾¾1
¾11
111
Insert at t ¾
000
15
Review of Bézier CurvesDeCastlejau Algorithm
001
011
0¾1
0¾¾
00¾
¾¾¾
¾¾1
¾11
111
Insert at t ¾
000
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
345
456
123
Knots
0
1
7
6
5
4
3
2
19
(No Transcript)
20
Blossoming of Bsplines
234
345
33.54
33.53.5
3.53.54
233.5
3.545
456
123
Knots
0
1
7
6
5
4
3
2
3.5
21
Blossoming of Bsplines
234
345
33.54
33.53.5
3.53.54
3.53.53.5
233.5
3.545
456
123
Knots
0
1
7
6
5
4
3
2
3.5
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
345
456
123
Knots
0
1
7
6
5
4
3
2
24
Bézier is a specific Bspline
234
345
334
344
444
333
445
233
456
123
Knots
0
1
7
6
5
4
3
2
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
  • C0 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
V20
V30
V40
V10
  • Subdivision is a recursive 2 step process
  • Topological split
  • Local averaging / smoothing

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

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

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

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

32
Subdivision of Bspline Curves
234
341
123
412
Knots
4
1
3
2
1
4
3
2
4
33
Subdivision of Bspline Curves
33.54
2.534
344.5
234
341
233.5
3.541
3.544.5
2.533.5
44.51
22.53
4.511.5
1.522.5
411.5
1.523
123
4.512
412
11.52
122.5
Knots
4
1
3
2
1
4
3
2
4
34
Averaging Rules
Vi1
Vi-11
33.54
2.534
344.5
Vi11
234
341
Vi2
233.5
3.541
3.544.5
2.533.5
Vi2 Vi1
Vi-11
44.51
22.53
411.5
4.511.5
1.522.5
1.523
Vi11
123
4.512
412
11.52
122.5
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
Control Mesh
Topological Split
Averaging
  • Subdivision is a two part process
  • Topological split
  • Local averaging / smoothing

38
Subdivision Overview
Control Mesh
Generation 1
Generation 2
Generation 3
  • 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

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 C2 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
  • C1 at non-valence 4 vertices
  • C2 every where else (Bsplines)
  • Sharp corners can be tagged
  • Allows for smooth and sharp features
  • Allows for non-closed meshes

44
Catmull-Clark Subdivision
Gen 0
Gen 1
Gen 2
  • 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

45
Catmull-Clark Averaging
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 0
Gen 1
Gen 2
48
Conclusion
  • Subdivision is a 2 step recursive process
  • Topological split
  • Local averaging / smoothing
Write a Comment
User Comments (0)
About PowerShow.com