Subdivision overview

Similar documents
Subdivision Surfaces

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Subdivision Surfaces

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

Subdivision Curves and Surfaces: An Introduction

CS354 Computer Graphics Surface Representation III. Qixing Huang March 5th 2018

Subdivision Surfaces

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Curve Corner Cutting

Curves and Surfaces 2

Recursive Subdivision Surfaces for Geometric Modeling

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Subdivision Curves and Surfaces

Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Example: Loop Scheme. Example: Loop Scheme. What makes a good scheme? recursive application leads to a smooth surface.

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

UNIVERSITY OF CALGARY. Subdivision Surfaces. Advanced Geometric Modeling Faramarz Samavati

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Subdivision Surfaces. Homework 1: Questions/Comments?

Physically-Based Modeling and Animation. University of Missouri at Columbia

Joe Warren, Scott Schaefer Rice University

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

2D Spline Curves. CS 4620 Lecture 18

INF3320 Computer Graphics and Discrete Geometry

3D Modeling techniques

Advanced Graphics. Subdivision Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

2D Spline Curves. CS 4620 Lecture 13

A subdivision scheme for hexahedral meshes

Subdivision surfaces. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Modified Catmull-Clark Methods for Modelling, Reparameterization and Grid Generation

Triangle meshes I. CS 4620 Lecture 2

Computergrafik. Matthias Zwicker. Herbst 2010

Introduction to Geometry. Computer Graphics CMU /15-662

Modeling. Simulating the Everyday World

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Triangle meshes I. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2017

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

A subdivision scheme for hexahedral meshes

A Continuous 3-D Medial Shape Model with Branching

Interpolatory 3-Subdivision

u 0+u 2 new boundary vertex

Subdivision Surfaces. Course Syllabus. Course Syllabus. Modeling. Equivalence of Representations. 3D Object Representations

Generalizing the C 4 Four-directional Box Spline to Surfaces of Arbitrary Topology Luiz Velho Abstract. In this paper we introduce a new scheme that g

Grid Generation and Grid Conversion by Subdivision Schemes

Subdivision curves. University of Texas at Austin CS384G - Computer Graphics

G 2 Interpolation for Polar Surfaces

B-spline Curves. Smoother than other curve forms

Honeycomb Subdivision

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Mesh Representations & Geometry Processing

Smooth Patching of Refined Triangulations

Information Coding / Computer Graphics, ISY, LiTH. Splines

Subdivision on Arbitrary Meshes: Algorithms and Theory

Advanced Computer Graphics

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

Nonmanifold Subdivision

2001, Denis Zorin. Subdivision Surfaces

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley,

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Free-Form Deformation and Other Deformation Techniques

Near-Optimum Adaptive Tessellation of General Catmull-Clark Subdivision Surfaces

Advanced Modeling 2. Katja Bühler, Andrej Varchola, Eduard Gröller. March 24, x(t) z(t)

3D Modeling I. CG08b Lior Shapira Lecture 8. Based on: Thomas Funkhouser,Princeton University. Thomas Funkhouser 2000

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Postprocessing of Compressed 3D Graphic Data

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

Subdivision of Curves and Surfaces: An Overview

Lecture 3 Mesh. Dr. Shuang LIANG. School of Software Engineering Tongji University Spring 2013

Lecture IV Bézier Curves

Mar. 20 Math 2335 sec 001 Spring 2014

Technical Report. Removing polar rendering artifacts in subdivision surfaces. Ursula H. Augsdörfer, Neil A. Dodgson, Malcolm A. Sabin.

Shape Modeling and Geometry Processing

Spline Surfaces, Subdivision Surfaces

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

Local Mesh Operators: Extrusions Revisited

Normals of subdivision surfaces and their control polyhedra

Local Modification of Subdivision Surfaces Based on Curved Mesh

Multiresolution Meshes. COS 526 Tom Funkhouser, Fall 2016 Slides by Guskov, Praun, Sweldens, etc.

An Efficient Data Structure for Representing Trilateral/Quadrilateral Subdivision Surfaces

Triangle meshes I. CS 4620 Lecture Kavita Bala (with previous instructor Marschner) Cornell CS4620 Fall 2015 Lecture 2

Non-Uniform Recursive Doo-Sabin Surfaces

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Feature Adaptive GPU Rendering of Catmull-Clark Subdivision Surfaces

Taxonomy of interpolation. constraints on recursive subdivision. Ahmad H. Nasri 1, Malcolm A. Sabin 2. 1 Introduction

Smooth Subdivision of Tetrahedral Meshes

A Sub-Atomic Subdivision Approach

Hierarchical Grid Conversion

Normals of subdivision surfaces and their control polyhedra

SEMIREGULAR PENTAGONAL SUBDIVISIONS

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

Volume Enclosed by Example Subdivision Surfaces

CHARMS: A Simple Framework for Adaptive Simulation SIGGRAPH Presented by Jose Guerra

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

Geometric modeling 1

Topological Issues in Hexahedral Meshing

08 - Designing Approximating Curves

Triangle meshes. Computer Graphics CSE 167 Lecture 8

Transcription:

Subdivision overview CS4620 Lecture 16 2018 Steve Marschner 1

Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners Still too jagged? Cut off the new corners process converges to a smooth curve Chaikin s algorithm http://www.multires.caltech.edu/ teaching/demos/java/chaikin.htm 2018 Steve Marschner 2

Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners Still too jagged? Cut off 1 1 2 the new corners process converges to a smooth curve Chaikin s algorithm http://www.multires.caltech.edu/ teaching/demos/java/chaikin.htm 2018 Steve Marschner 2

Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners Still too jagged? Cut off the new corners process converges to a smooth curve Chaikin s algorithm http://www.multires.caltech.edu/ teaching/demos/java/chaikin.htm 2018 Steve Marschner 2

Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners Still too jagged? Cut off the new corners process converges to a smooth curve Chaikin s algorithm http://www.multires.caltech.edu/ teaching/demos/java/chaikin.htm 2018 Steve Marschner 2

Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners Still too jagged? Cut off the new corners process converges to a smooth curve Chaikin s algorithm http://www.multires.caltech.edu/ teaching/demos/java/chaikin.htm 2018 Steve Marschner 2

Corner cutting in equations New points are linear combinations of old ones Different treatment for odd-numbered and evennumbered points. p k 1 i p k 2i p k 2i+1 p k 1 i+1 p k 2i =(3p k 1 i + p k 1 i+1 )/4 p k 2i+1 =(p k 1 i +3p k 1 i+1 )/4 2018 Steve Marschner 3

Spline-splitting math for B-splines Can use spline-matrix math from previous lecture to split a B-spline segment in two at s = t = 0.5. Result is especially nice because the rules for adjacent segments agree (not true for all splines). 2 s 3 S L = 6 s 2 4 S R = 2 s 3 s 3 7 5 1 P L = M 1 S L MP P R = M 1 S R MP 63s 2 (1 s) s 2 7 43s(1 s) 2 2s(1 s) s 5 (1 s) 3 (1 s) 2 (1 s) 1 3 P L = P R = 2 3 4 4 0 0 61 6 1 0 7 40 4 4 05 0 1 6 1 2 3 1 6 1 0 60 4 4 0 7 40 1 6 15 0 0 4 4 2018 Steve Marschner 4

Subdivision for B-splines Control vertices of refined spline are linear combinations of the c.v.s of the coarse spline ODD EVEN 2018 Steve Marschner 5

Drawing a picture of the rule Conventionally illustrate subdivision rules as a mask that you match against the neighborhood often implied denominator = sum of weights B-spline even odd 1 6 4 4 1 corner-cutting even odd 3 1 1 3 2018 Steve Marschner 6

[Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Cubic B-Spline even odd odd even [Stanford CS468 Fall 2010 slides] 2018 Steve Marschner 7

Subdivision curves Key idea: let go of the polynomials as the definition of the curve, and let the refinement rule define the curve Curve is defined as the limit of a refinement process properties of curve depend on the rules some rules make polynomial curves, some don t complexity shifts from implementations to proofs 2018 Steve Marschner 8

Playing with the rules Once a curve is defined using subdivision we can customize its behavior by making exceptions to the rules. Example: handle endpoints by simply using the mask [1] at that point. Resulting curve is a uniform B-spline in the middle, but near the exceptional points it is something different. it might not be a polynomial but it is still linear, still has basis functions the three coordinates of a surface point are still separate 2018 Steve Marschner 9

From curves to surfaces [Stanford CS468 Fall 2010 slides] [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 10

Subdivision surfaces [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 11

Generalizing from curves to surfaces Two parts to subdivision process Subdividing the mesh (computing new topology) For curves: replace every segment with two segments For surfaces: replace every face with some new faces Positioning the vertices (computing new geometry) For curves: two rules (one for odd vertices, one for even) New vertex s position is a weighted average of positions of old vertices that are nearby along the sequence For surfaces: two kinds of rules (still called odd and even) New vertex s position is a weighted average of positions of old vertices that are nearby in the mesh 2018 Steve Marschner 12

Subdivision of meshes Quadrilaterals Catmull-Clark 1978 Triangles Loop 1987 [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 13

Loop regular rules [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 14

Catmull-Clark regular rules 2018 Steve Marschner 15

Creases With splines, make creases by turning off continuity constraints With subdivision surfaces, make creases by marking edges sharp use different rules for vertices with sharp edges these rules produce B-splines that depend only on vertices along crease [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 16

Boundaries At boundaries the masks do not work mesh is not manifold; edges do not have two triangles Solution: same as crease shape of boundary is controlled only by vertices along boundary [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 17

Extraordinary vertices Vertices that don t have the standard valence Unavoidable for most topologies Difference from splines treatment of extraordinary vertices is really the only way subdivision surfaces are different from spline patches [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 18

Full Loop rules (triangle mesh) [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 19

Full Catmull-Clark rules (quad mesh) [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 20

Loop Subdivision Example control polyhedron 2018 Steve Marschner 21

Loop Subdivision Example refined control polyhedron 2018 Steve Marschner 22

Loop Subdivision Example odd subdivision mask 2018 Steve Marschner 23

Loop Subdivision Example subdivision level 1 2018 Steve Marschner 24

Loop Subdivision Example even subdivision mask (ordinary vertex) 2018 Steve Marschner 25

Loop Subdivision Example subdivision level 1 2018 Steve Marschner 26

Loop Subdivision Example even subdivision mask (extraordinary Cornell CS4620 Spring 2018 Lecture vertex) 16 2018 Steve Marschner 27

Loop Subdivision Example subdivision level 1 2018 Steve Marschner 28

Loop Subdivision Example subdivision level 1 2018 Steve Marschner 29

Loop Subdivision Example subdivision level 2 2018 Steve Marschner 30

Loop Subdivision Example subdivision level 3 2018 Steve Marschner 31

Loop Subdivision Example subdivision level 4 2018 Steve Marschner 32

Loop Subdivision Example limit surface 2018 Steve Marschner 33

Relationship to splines In regular regions, behavior is identical At extraordinary vertices, achieve C 1 near extraordinary, different from splines Linear everywhere mapping from parameter space to 3D is a linear combination of the control points emergent basis functions per control point match the splines in regular regions custom basis functions around extraordinary vertices 2018 Steve Marschner 34

Loop vs. Catmull-Clark [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 35

Loop vs. Catmull-Clark [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 36

Loop vs. Catmull-Clark Loop (after splitting faces) Catmull-Clark [Schröder & Zorin SIGGRAPH 2000 course 23] 2018 Steve Marschner 37

Loop with creases [Hugues Hoppe] 2018 Steve Marschner 38

Catmull-Clark with creases [DeRose et al. SIGGRAPH 1998] 2018 Steve Marschner 39

Clark scheme to admit semi-sharp creases that is, creases of controllable sharpness, a simple example of which is shown in Figure 7. Variable sharpness creases Idea: subdivide for a few levels using the crease rules, then proceed with the normal smooth rules. Result: a soft crease that gets sharper as we increase Clark scheme to admit semi-sharp creases levels that is, creases of conarbitrary number of subdivision steps, followed by another the number of of sharp subdivision steps (a) (b) trollable sharpness, a simple example of which is shown in Figure 7. rules that are applied to the limit. Smoothness therefore de (a) sharpness 0 (b) sharpness 1 only on the second set of rules. Hybrid subdivision can be u duri obtain semi-sharp creases by using infinitely sharp rules durin first few subdivision steps, followed by use of the smooth rul subsequent subdivision steps. Intuitively this leads to surface are sharp at coarse scales, but smooth at finer scales. Now the details. To set the stage for the general situation w the sharpness can vary along a crease, we consider two illust special cases. Case 1: A constant integer sharpness s crease: We subd s times using the infinitely sharp rules, then switch to the sm subdivid rules. In other words, an edge of sharpness s 0 is subdivide ing the sharp edge rule. The two subedges created each have s (d) 1. A sharpness s 0 edge is considered smooth, ness s (c) sharpness 2 sharpness 3 stays smooth for remaining subdivisions. In the limit where s the sharp rules are used for all steps, leading to an infinitely i crease. An example of integer sharpness creases is shown in ure 7. A more complicated example where two creases of dif sharpnesses intersect is shown in Figure 2018 Steve8. Marschner 40

Geri s Game Pixar short film to test subdivision in production Catmull-Clark (quad mesh) surfaces complex geometry extensive use of creases subdivision surfaces to support cloth dynamics [DeRose et al. SIGGRAPH 1998] 2018 Steve Marschner 41