370 likes | 385 Views
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.
E N D
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 CurvesDeCastlejau Algorithm V2 V3 V1 V4 Insert at t = ¾
Review of Bézier CurvesDeCastlejau Algorithm 001 011 Ignore funny notation at vertices! (= CS 284 stuff ) Insert at t = ¾ 111 000
Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 00¾ ¾11 Insert at t = ¾ 111 000
Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 0¾¾ 00¾ ¾¾1 ¾11 Insert at t = ¾ 111 000
Review of Bézier CurvesDeCastlejau Algorithm 001 011 0¾1 0¾¾ 00¾ ¾¾¾ ¾¾1 ¾11 Insert at t = ¾ 111 000
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
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
Subdivision of Bézier Curves 001 011 0¾1 0¾¾ 00¾ ¾¾¾ ¾¾1 ¾11 Convex Hull Property! Insert at t = ¾ 111 000
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.
Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains
V20 Subdivision Curves V30 An approximating scheme Limit curve V40 V10 • Subdivision is a recursive 2 step process • Topological split • Local averaging / smoothing
E20 V20 Subdivision Curves V30 E10 E30 V40 V10 E40 • Subdivision is a repeated 2 step process • Topological split • Local averaging / smoothing
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
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
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
Results in a B-spline Curve Knots: 4 1 2 3 4 1 2 3 4
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.
Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains
Subdivision Overview Control Mesh Topological Split Averaging Limit Surface • Subdivision is a two part process: • Topological split • Local averaging / smoothing
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).
Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces: • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains
B-spline Surfaces • A cubic B-spline surface patch is controlled by a regular 4x4 grid of control points
B-spline Surfaces • 2 adjacent patches share 12 control points and meet with C2 continuity
B-spline Surfaces • Requires a regular rectangular control mesh grid and all valence-4 vertices to guarantee continuity.
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.
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.
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
Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains
Loop Subdivision Surface Gen 0 Gen 1 Gen 2 n = valence
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).
Outline • Review Bézier Curves • Subdivision Curves • Subdivision Surfaces • Quad mesh (Catmull-Clark scheme) • Triangle mesh (Loop scheme) • Fractal Mountains
Fractals Sierpinski Triangle • Self-similar recursive modeling operators: Koch Snowflake
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:
Fractal Mountain Surfaces Gen 0 Gen 1 Gen 2 • 2-step recursive process: • Subdivide triangles at edge midpoints, • Randomly perturb midpoint positions.
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.