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

Slides:



Advertisements
Similar presentations
© University of Wisconsin, CS559 Spring 2004
Advertisements

Cubic Curves CSE167: Computer Graphics Instructor: Steve Rotenberg UCSD, Fall 2006.
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
1 Dr. Scott Schaefer Bezier Triangles and Multi-Sided Patches.
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
MIT EECS 6.837, Durand and Cutler Curves & Surfaces.
On Triangle/Quad Subdivision Scott Schaefer and Joe Warren TOG 22(1) 28 – 36, 2005 Reporter: Chen zhonggui
Subdivision Surfaces Introduction to Computer Graphics CSE 470/598 Arizona State University Dianne Hansford.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
Cornell CS465 Fall 2004 Lecture 16© 2004 Steve Marschner 1 Curved surfaces CS 465 Lecture 16.
Fractal Mountains, Splines, and Subdivision Surfaces Jordan Smith UC Berkeley CS184.
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Linear Fractal Mountains 2 step recursive process: –Subdivide chain by creating edge midpoints –Randomly perturb midpoint positions Gen 0: Gen 1: Gen 2:
Normal based subdivision scheme for curve and surface design 杨勋年
Content Subdivision First some basics (control point polygon, mesh)
1 Subdivision Surfaces CAGD Ofir Weber. 2 Spline Surfaces Why use them?  Smooth  Good for modeling - easy to control  Compact (complex objects are.
Subdivision Overview Subdivision is a two part process Control Mesh
Subdivision Primer CS426, 2000 Robert Osada [DeRose 2000]
Bspline Notes Jordan Smith UC Berkeley CS184. Outline Bézier Basis Polynomials –Linear –Quadratic –Cubic Uniform Bspline Basis Polynomials –Linear –Quadratic.
1 Dr. Scott Schaefer Subdivision Curves. 2/96 What is subdivision? Set of rules S that take a curve as input and produce a more highly refined curve as.
Smooth Geometry Images Frank Losasso, Hugues Hoppe, Scott Schaefer, Joe Warren.
Introduction to Subdivision Surfaces. Subdivision Curves and Surfaces 4 Subdivision curves –The basic concepts of subdivision. 4 Subdivision surfaces.
Review of Bézier Curves DeCastlejau Algorithm V2V2 V4V4 V1V1 V3V3 Insert at t = ¾.
Splines III – Bézier Curves
Curves and Surfaces (cont’) Amy Zhang. Conversion between Representations  Example: Convert a curve from a cubic B-spline curve to the Bézier form:
Smooth Spline Surfaces over Irregular Topology Hui-xia Xu Wednesday, Apr. 4, 2007.
11/30/04© University of Wisconsin, CS559 Fall 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Subdivision surfaces Construction and analysis Martin Reimers CMA/IFI, University of Oslo September 24th 2004.
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Surfaces Lecture 6 (Modelling). Reminder: Homogenous Co-ordinates l2D Translations cannot be encoded using matrix multiplication because points at the.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
Subdivision Surfaces in Character Animation Tony DeRose Michael KassTien Truong Pixar Animation Studios Balaji KannanChen Shen.
Graphics Graphics Korea University cgvr.korea.ac.kr Creating Virtual World I 김 창 헌 Department of Computer Science Korea University
4/15/04© University of Wisconsin, CS559 Spring 2004 Last Time More modeling: –Hierarchical modeling –Instancing and Parametric Instancing –Constructive.
Manuel Mesters - Subdivision Surfaces computer graphics & visualization Seminar Computer Graphics Geometric representation and processing: Subdivision.
1 Dr. Scott Schaefer Smooth Curves. 2/109 Smooth Curves Interpolation  Interpolation through Linear Algebra  Lagrange interpolation Bezier curves B-spline.
Introduction to Subdivision surfaces Martin Reimers CMA, University of Oslo.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Parametric Surfaces Define points on the surface in terms of two parameters Simplest case: bilinear interpolation s t s x(s,t)x(s,t) P 0,0 P 1,0 P 1,1.
Subdivision Curve (and its relations to wavelets) Jyun-Ming Chen Spring 2001.
Procedural Models How to easily generate complex data?
Lee Byung-Gook Dongseo Univ.
1 Subdivision. 2 Subdivision for game Why? Large model require many memory for storage Need to dynamically tessellated during game play Make surface modeling.
04/18/02(c) 2002 University of Wisconsin Last Time Hermite Curves Bezier Curves.
11/26/02(C) University of Wisconsin Last Time BSplines.
A Note on Subdivision Kwan Pyo Ko Dongseo University
Subdivision Surfaces Dr. Scott Schaefer.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
Splines Sang Il Park Sejong University. Particle Motion A curve in 3-dimensional space World coordinates.
Construction of Navau and Garcia. Basic steps Construction has two parameters: smoothness k and n > k, defining how closely the surface follows the control.
CS 318 Intro to Computer Graphics John C. Hart
University of Texas at Austin CS384G - Computer Graphics Fall 2008 Don Fussell Subdivision surfaces.
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
CS559: Computer Graphics Lecture 36: Subdivision Surfaces, Fractals, and Animation Li Zhang Spring 2008 Many slides from James Kuffner’s graphics class.
CS559: Computer Graphics Lecture 33: Shape Modeling Li Zhang Spring 2008.
Subdivision Schemes. Center for Graphics and Geometric Computing, Technion What is Subdivision?  Subdivision is a process in which a poly-line/mesh is.
CS559: Computer Graphics Lecture 24: Shape Modeling Li Zhang Spring 2010.
© University of Wisconsin, CS559 Spring 2004
Bezier Triangles and Multi-Sided Patches
Advanced Computer Graphics
Daniil Rodin for CAGD course, 2016
Smooth Surfaces Dr. Scott Schaefer.
© University of Wisconsin, CS559 Fall 2004
The Variety of Subdivision Schemes
Multiresolution Meshes for 3-D Object Description
Subdivision Surfaces 고려대학교 컴퓨터 그래픽스 연구실 cgvr.korea.ac.kr.
Last Time B-splines Project 3 was made available
Presentation transcript:

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 V2V2 V4V4 V1V1 V3V3 Insert at t = ¾

Review of Bézier Curves DeCastlejau Algorithm Insert at t = ¾ Ignore funny notation at vertices! (= CS 284 stuff )

Review of Bézier Curves DeCastlejau Algorithm ¾ ¾11 0¾1 Insert at t = ¾

Review of Bézier Curves DeCastlejau Algorithm ¾ ¾¾1 ¾11 0¾10¾1 0¾¾ Insert at t = ¾

Review of Bézier Curves DeCastlejau Algorithm ¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾

Review of Bézier Curves DeCastlejau Algorithm ¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾ Curve position and tangent for t = ¾

Subdivision of Bézier Curves ¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾ This also yields all control points for subdivision into 2 Bezier curves

Subdivision of Bézier Curves ¾ ¾¾1 ¾11 0¾1 0¾¾ ¾¾¾ Insert at t = ¾ Convex Hull Property!

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

Subdivision Curves V20V20 V40V40 V10V10 V30V30 Subdivision is a recursive 2 step process –Topological split –Local averaging / smoothing Limit curve An approximating scheme

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

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

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

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

Results in a B-spline Curve Knots:

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 Subdivision is a two part process: –Topological split –Local averaging / smoothing Control MeshTopological SplitAveraging Limit Surface

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 MeshGeneration 1Generation 2Generation 3

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 C 2 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 –C 1 at non-valence-4 vertices, –C 2 everywhere else (B-splines). Also: Sharp corners can be tagged –Allows for smooth and sharp features, –Allows for non-closed meshes.

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 0Gen 1Gen 2

Catmull-Clark Averaging V00V00 V10V10 E10E10 V30V30 V40V40 Vn0Vn0 V20V20 C10C10 F10F10 En0En0 E40E40 E30E30 E20E20 Fn0Fn0 F40F40 F30F30 F20F20 C30C30 C40C40 Cn0Cn0 C20C20 (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 0Gen 1Gen 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 Self-similar recursive modeling operators: Sierpinski Triangle Koch Snowflake

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:

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

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.