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

Slides:



Advertisements
Similar presentations
Advanced Computer Graphics (Spring 2005) COMS 4162, Lecture 14: Review / Subdivision Ravi Ramamoorthi Slides courtesy.
Advertisements

Advanced Computer Graphics CSE 190 [Spring 2015], Lecture 10 Ravi Ramamoorthi
© University of Wisconsin, CS559 Spring 2004
Jehee Lee Seoul National University
B-Spline Blending Functions
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.
Subdivision Curves & Surfaces and Fractal Mountains. CS184 – Spring 2011.
Surfaces Chiew-Lan Tai. Surfaces 2 Reading Required Hills Section Hearn & Baker, sections 8.11, 8.13 Recommended Sections 2.1.4, , 3D Computer.
CS CS 175 – Week 9 B-Splines Definition, Algorithms.
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]
ENDS 375 Foundations of Visualization Geometric Representation 10/5/04.
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.
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 = ¾.
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.
Subdivision/Refinement Dr. S.M. Malaek Assistant: M. Younesi.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
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.
Geometric Modeling using Polygonal Meshes Lecture 1: Introduction Hamid Laga Office: South.
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.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Subdivision Schemes Basic idea: Start with something coarse, and refine it into smaller pieces for rendering –We have seen how subdivision may be used.
Non-Uniform Rational B-Splines NURBS. NURBS Surfaces NURBS surfaces are based on curves. The main advantage of using NURBS surfaces over polygons, is.
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.
Curves: ch 4 of McConnell General problem with constructing curves: how to create curves that are “smooth” CAD problem Curves could be composed of segments.
Rendering Curves and Surfaces Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico 1 Angel:
11/26/02(C) University of Wisconsin Last Time BSplines.
A Note on Subdivision Kwan Pyo Ko Dongseo University
Subdivision Surfaces Dr. Scott Schaefer.
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.
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
Curve & Surface.
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:

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

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

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

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

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

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

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 = ¾

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 = ¾

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

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

Blossoming of Bsplines Knots:

Blossoming of Bsplines Knots:

Blossoming of Bsplines Knots:

Blossoming of Bsplines Knots:

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

Bézier is a specific Bspline Knots:

Bézier is a specific Bspline Knots:

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

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

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

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

Subdivision of Bspline Curves Knots:

Subdivision of Bspline Curves Knots:

Averaging Rules Vi2Vi2 Vi1Vi1 V i-1 1 V i+1 1 Vi2= Vi1Vi2= Vi1 V i-1 1

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

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

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

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

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

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

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

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)

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

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

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

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

Loop Subdivision Surfaces Gen 0Gen 1Gen 2

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