subdivision curves & surfaces and fractal mountains

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

Upload: johannes-jesse

Post on 31-Dec-2015

64 views

Category:

Documents


4 download

DESCRIPTION

Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011. Outline. Review B é zier Curves Subdivision Curves Subdivision Surfaces Quad mesh (Catmull-Clark scheme) Triangle mesh (Loop scheme) Fractal Mountains. Review of B é zier Curves DeCastlejau Algorithm. V 2. V 3. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision Curves & Surfaces and Fractal Mountains.

CS184 – Spring 2011

Page 2: Subdivision Curves & Surfaces  and Fractal Mountains

Outline

• Review Bézier Curves

• Subdivision Curves

• Subdivision Surfaces– Quad mesh (Catmull-Clark scheme)– Triangle mesh (Loop scheme)

• Fractal Mountains

Page 3: Subdivision Curves & Surfaces  and Fractal Mountains

Review of Bézier CurvesDeCastlejau Algorithm

V2

V4V1

V3

Insert at t = ¾

Page 4: Subdivision Curves & Surfaces  and Fractal Mountains

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

Insert at t = ¾

Ignore funny notation at vertices!

(= CS 284 stuff )

Page 5: Subdivision Curves & Surfaces  and Fractal Mountains

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾11

0¾1

Insert at t = ¾

Page 6: Subdivision Curves & Surfaces  and Fractal Mountains

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

Insert at t = ¾

Page 7: Subdivision Curves & Surfaces  and Fractal Mountains

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Page 8: Subdivision Curves & Surfaces  and Fractal Mountains

Review of Bézier CurvesDeCastlejau Algorithm

001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Curve position and tangent for t = ¾

Page 9: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision of Bézier Curves001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

This also yields all control points for subdivision into 2 Bezier curves

Page 10: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision of Bézier Curves001

000 111

011

00¾

¾¾1

¾11

0¾10¾¾

¾¾¾

Insert at t = ¾

Convex Hull Property!

Page 11: Subdivision Curves & Surfaces  and Fractal Mountains

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.

Page 12: Subdivision Curves & Surfaces  and Fractal Mountains

Outline

• Review Bézier Curves

• Subdivision Curves

• Subdivision Surfaces– Quad mesh (Catmull-Clark scheme)– Triangle mesh (Loop scheme)

• Fractal Mountains

Page 13: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision CurvesV2

0

V40V1

0

V30

• Subdivision is a recursive 2 step process

– Topological split

– Local averaging / smoothing

Limit curve

An approximating scheme

Page 14: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision CurvesV2

0

V40V1

0

V30

• Subdivision is a repeated 2 step process

– Topological split

– Local averaging / smoothing

E20

E40

E10 E3

0

Page 15: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision CurvesV2

0

V40V1

0

V30

• Subdivision is a repeated 2 step process

– Topological split

– Local averaging / smoothing

E21

E41

E11 E3

1

V21

V11 V4

1

V31

Page 16: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision CurvesV2

0

V40V1

0

V30

• Subdivision is a repeated 2 step process

– Topological split

– Local averaging / smoothing

E21

E41

E11 E3

1

V21

V11 V4

1

V31

Page 17: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision CurvesV2

0

V40V1

0

V30

• Subdivision is a repeated 2 step process

– Topological split

– Local averaging / smoothing

E21

E41

E11 E3

1

V21

V11 V4

1

V31

Page 18: Subdivision Curves & Surfaces  and Fractal Mountains

Results in a B-spline Curve

4 1 321432 4Knots:

Page 19: Subdivision Curves & Surfaces  and Fractal Mountains

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.

Page 20: Subdivision Curves & Surfaces  and Fractal Mountains

Outline

• Review Bézier Curves

• Subdivision Curves

• Subdivision Surfaces– Quad mesh (Catmull-Clark scheme)– Triangle mesh (Loop scheme)

• Fractal Mountains

Page 21: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision Overview

• Subdivision is a two part process:– Topological split

– Local averaging / smoothing

Control Mesh Topological Split Averaging

Limit Surface

Page 22: Subdivision Curves & Surfaces  and Fractal Mountains

Subdivision Overview

• 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).

Control Mesh Generation 1 Generation 2 Generation 3

Page 23: Subdivision Curves & Surfaces  and Fractal Mountains

Outline

• Review Bézier Curves

• Subdivision Curves

• Subdivision Surfaces:– Quad mesh (Catmull-Clark scheme)– Triangle mesh (Loop scheme)

• Fractal Mountains

Page 24: Subdivision Curves & Surfaces  and Fractal Mountains

B-spline Surfaces

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

Page 25: Subdivision Curves & Surfaces  and Fractal Mountains

B-spline Surfaces

• 2 adjacent patches share 12 control points and meet with C2 continuity

Page 26: Subdivision Curves & Surfaces  and Fractal Mountains

B-spline Surfaces

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

Page 27: Subdivision Curves & Surfaces  and Fractal Mountains

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.

Page 28: Subdivision Curves & Surfaces  and Fractal Mountains

Catmull-Clark Subdivision

• Extraordinary vertices are generated by non-valence-4 vertices and faces in the input mesh.

• No additional extraordinary vertices are created after the first generation of subdivision.

Gen 0 Gen 1 Gen 2

Page 29: Subdivision Curves & Surfaces  and Fractal Mountains

Catmull-Clark Averaging

n

Fn1

En1

23)V-(nV

n

1

n

1

ggg0

1g0

∑ ∑= =+

++= i i

ii

V00

V10E1

0

V30

V40

Vn0

V20

C10

F10

En0

E40

E30

E20

Fn0

F40

F30

F20C3

0

C40 Cn

0

C20

4

VCVVF

g1

ggg0g ++++

= iiii

2

VVE

gg0g i

i

+=

(simple averaging)

n = valence

Page 30: Subdivision Curves & Surfaces  and Fractal Mountains

Outline

• Review Bézier Curves

• Subdivision Curves

• Subdivision Surfaces– Quad mesh (Catmull-Clark scheme)– Triangle mesh (Loop scheme)

• Fractal Mountains

Page 31: Subdivision Curves & Surfaces  and Fractal Mountains

Loop Subdivision SurfaceGen 0 Gen 1 Gen 2

2

VVE

gg0g i

i

+=

( )

∑=

+ −+=

+=

n

1

gg0

1g0

2

En

1)1(VV

32

n)/2cos(23

iiaa

n = valence

Page 32: Subdivision Curves & Surfaces  and Fractal Mountains

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).

Page 33: Subdivision Curves & Surfaces  and Fractal Mountains

Outline

• Review Bézier Curves

• Subdivision Curves

• Subdivision Surfaces– Quad mesh (Catmull-Clark scheme)– Triangle mesh (Loop scheme)

• Fractal Mountains

Page 34: Subdivision Curves & Surfaces  and Fractal Mountains

Fractals• Self-similar recursive modeling operators:

Sierpinski Triangle

Koch Snowflake

Page 35: Subdivision Curves & Surfaces  and Fractal Mountains

Linear Fractal Mountains

• 2-step recursive process:– Subdivide chain by creating edge midpoints,– Randomly perturb midpoint positions

(proportional to subdivided edge length).

Gen 0:

Gen 1:

Gen 2:

Gen 3:

Page 36: Subdivision Curves & Surfaces  and Fractal Mountains

Fractal Mountain Surfaces

• 2-step recursive process:– Subdivide triangles at edge midpoints,– Randomly perturb midpoint positions.

Gen 0 Gen 1 Gen 2

Page 37: Subdivision Curves & Surfaces  and Fractal Mountains

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.