Curve Corner Cutting

Similar documents
Subdivision Curves and Surfaces: An Introduction

Subdivision Surfaces

Subdivision Surfaces

Recursive Subdivision Surfaces for Geometric Modeling

Subdivision overview

Subdivision Curves and Surfaces

MA 323 Geometric Modelling Course Notes: Day 36 Subdivision Surfaces

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

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

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

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

Curves and Surfaces 2

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

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

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

An Efficient Data Structure for Representing Trilateral/Quadrilateral Subdivision Surfaces

Subdivision Surfaces

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

Subdivision Surfaces. Homework 1: Questions/Comments?

INF3320 Computer Graphics and Discrete Geometry

Using Semi-Regular 4 8 Meshes for Subdivision Surfaces

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

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

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

Non-Uniform Recursive Doo-Sabin Surfaces (NURDSes)

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

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

u 0+u 2 new boundary vertex

3D Modeling techniques

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

QUADRATIC UNIFORM B-SPLINE CURVE REFINEMENT

Spline Surfaces, Subdivision Surfaces

Interpolatory 3-Subdivision

Approximate Catmull-Clark Patches. Scott Schaefer Charles Loop

Modeling. Simulating the Everyday World

G 2 Interpolation for Polar Surfaces

Honeycomb Subdivision

Normals of subdivision surfaces and their control polyhedra

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

Subdivision on Arbitrary Meshes: Algorithms and Theory

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

SEMIREGULAR PENTAGONAL SUBDIVISIONS

Local Modification of Subdivision Surfaces Based on Curved Mesh

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

Joe Warren, Scott Schaefer Rice University

Volume Enclosed by Example Subdivision Surfaces

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

Geometric modeling 1

Free-Form Deformation and Other Deformation Techniques

Subdivision of Curves and Surfaces: An Overview

Normals of subdivision surfaces and their control polyhedra

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

SURFACE FAIRING FOR SHIP HULL DESIGN

Removing Polar Rendering Artifacts in Subdivision Surfaces

Smooth Patching of Refined Triangulations

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

G 2 Bezier Crust on Quad Subdivision Surfaces

Introduction to Geometry. Computer Graphics CMU /15-662

Curves, Surfaces and Recursive Subdivision

Subdivision based Interpolation with Shape Control

12.3 Subdivision Surfaces. What is subdivision based representation? Subdivision Surfaces

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

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

Polar Embedded Catmull-Clark Subdivision Surface

Local Mesh Operators: Extrusions Revisited

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

Rendering Subdivision Surfaces Efficiently on the GPU

On-Line Geometric Modeling Notes REFINEMENT

Approximating Catmull-Clark Subdivision Surfaces with Bicubic Patches

Approximate Geodesics on Smooth Surfaces of Arbitrary Topology

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Design by Subdivision

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

On Smooth Bicubic Surfaces from Quad Meshes

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

Efficient GPU Rendering of Subdivision Surfaces. Tim Foley,

ECS 178 Course Notes REFINEMENT

Semi-Regular 4 8 Refinement and Box Spline Surfaces

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

Mesh Representations & Geometry Processing

A subdivision scheme for hexahedral meshes

Connected & Manifold Sierpinsky Polyhedra

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

A Continuous 3-D Medial Shape Model with Branching

Assignment 1: Hello World

Advanced Computer Graphics

Smooth Multi-Sided Blending of bi-2 Splines

Voronoi Diagram. Xiao-Ming Fu

3D Modeling Parametric Curves & Surfaces

Approximating Subdivision Surfaces with Gregory Patches for Hardware Tessellation

Computergrafik. Matthias Zwicker. Herbst 2010

Hierarchical Grid Conversion

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

Non-Uniform Recursive Doo-Sabin Surfaces

Geometric Modeling in Graphics

BICUBIC UNIFORM B-SPLINE SURFACE REFINEMENT

Smooth Subdivision of Tetrahedral Meshes

Refinable Polycube G-Splines

Grid Generation and Grid Conversion by Subdivision Schemes

Digital Geometry Processing. Computer Graphics CMU /15-662

Transcription:

Subdivision ision Techniqueses Spring 2010 1

Curve Corner Cutting Take two points on different edges of a polygon and join them with a line segment. Then, use this line segment to replace all vertices and edges in between. This is corner cutting! Corner cutting can be local or non-local. A cut is locallif it removes exactly one vertex and adds two new ones. Otherwise, it is non-local. all local cuts non-local cut 2

Simple Corner Cutting: 1/5 On each edge, choose two numbers u 0 and v 0 and u+v 1, and divide the edge in the ratio of u:1- (u+v):v. u 1-(u+v) v Here is how to cut a corner. 3

Simple Corner Cutting: 2/5 Suppose we have a polyline P 0. Divide its edges with the above scheme, yielding a new polyline P 1. Dividing P 1 yields P 2,., and so on. What is P = Limit P i i The u s and v s do not have to be the same for every edge. Moreover, the u s and v s used to divide P i do not have to be equal to those u s s andv s v used to divide P i+1. 4

Simple Corner Cutting: 3/5 1/4 P 0 P 1 u = 1/3 and v = 1/4 P 2 1/3 5

Simple Corner Cutting: 4/5 For a polygon, one more leg from the last point to the first must also be divided accordingly. u = 1/3 and v =1/4 6

Simple Corner Cutting: 5/5 1/2 v 1 2u+v 1 u+2v 1 1 1/2 Chaikin used u = v = 1/4 u The following result was proved by Gregory and Qu, de Boor, and Paluszny, Prautzsch and Schäfer. If all u s and v s lies in the interior of the area bounded by u 0, v 0, u+2v 1 and 2u+v 1, then P is a C 1 curve. This procedure was studied by Chaikin in 1974, and was later proved that the limit curve is a B-spline curve of degree 2. 7

FYI Subdivision and refinement has its first significant use in Pixar s Geri sgame Game. Geri s Game received the Academy Award for Best Animated Short Film in 1997. http://www.pixar.com/shorts/gg/ 8

Facts about Subdivision Surfaces Subdivision surfaces are limit surfaces: It starts with a mesh It is then refined by repeated subdivision Since the subdivision process can be carried out infinite number of times, the intermediate meshes are approximations of the actual subdivision surface. Subdivision surfaces is a simple technique for describing complex surfaces of arbitrary topology with guaranteed continuity. Also supports Multiresolution. 9

What Can You Expect from? It is easy to model a large number of surfaces of various types. Usually, it generates smooth surfaces. It has simple and intuitive interaction with models. It can model sharp and semi-sharp features of surfaces. Its representation is simple and compact (e.g., winged-edge and half-edge data structures, etc). We only discuss 2-manifolds without boundary. 10

Regular Quad Mesh Subdivision: 1/3 Assume all faces in a mesh are quadrilaterals and each vertex has four adjacent faces. From the vertices C 1 1, C 2 2, C 3 and C 4 of a quadrilateral, four new vertices c 1, c 2, c 3 and c 4 can be computed in the following way y( (mod 4): 3 9 3 1 c = C + C + C + C 16 16 16 16 i i 1 i i+ 1 i+ 2 If we define matrix Q as follows: 9 /16 3 /16 1/16 3 /16 3 /16 9 /16 3 /16 1/16 Q= 1/16 3 /16 9 /16 3 /16 3 /16 1/16 3 /16 9 /16 11

Regular Quad Mesh Subdivision: 2/3 Then, we have the following relation: c1 C1 c2 C2 = Q c 3 C 3 c4 C4 C 4 c 4 c 3 C 3 c 1 c 2 C 1 C 2 12

Regular Quad Mesh Subdivision: 3/3 New vertices c 1, c 2, c 3 and c 4 of the current face are connected to the c i s of the neighboring faces to form new, smaller faces. The new mesh is still a quadrilateral mesh. original mesh new mesh this corner is cut! 13

Arbitrary Grid Mesh If a vertex in a quadrilateral (resp., triangular) mesh is not adjacent to four (resp., six) neighbors, it is an extraordinary vertex. A non-regular quad or triangular mesh has extraordinary vertices and extraordinary faces. extraordinary vertices quad mesh triangular mesh 14

Doo-Sabin Subdivision: 1/6 Doo and Sabin, in 1978, suggested the following for computing c i s from C i s: c n i = αijc j j= 1 where α ij s are defined as follows: n + 5 i = j 4 n αij = 1 2 π ( i j ) 3+ 2cos otherwise 4n n 15

Doo-Sabin Subdivision: 2/6 F-face E-face V-facef There are three types of faces in the new mesh. A F-facef is obtained by connecting the c i s of a face. An E-face is obtained by connecting the c i s of the faces that share an edge. A V-face is obtained by connecting the c i s that t surround a vertex. 16

Doo-Sabin Subdivision: 3/6 Most faces are quadrilaterals. None four-sided faces are those V-faces and converge to points whose valency is not four (i.e., extraordinary vertices). Thus,, a large portion of the limit surface are covered by quadrilaterals, and the surface is mostly a B-spline surfaces of degree (2,2). However, it is only G 1 everywhere. 17

Doo-Sabin Subdivision: 4/6 1 2 3 18 4 5 6

Doo-Sabin Subdivision: 5/6 1 2 3 4 5 19

Doo-Sabin Subdivision: 6/6 1 2 3 4 5 20

Catmull-Clark Algorithm: 1/10 Catmull and Clark proposed another algorithm in the same year as Doo and Sabin did (1978). In fact, both papers p appeared in the journal Computer-Aided Design back to back! Catmull-Clark s Clark s algorithm is rather complex. It computes a face point for each face, followed by an edge point for each edge, and then a vertex point for each vertex. Once these new points are available, a new mesh is constructed. 21

Catmull-Clark Algorithm: 2/10 Compute a face point for each face. This face point is the gravity center or centroid of the face, which is the average of all vertices of that face: 22

Catmull-Clark Algorithm: 3/10 Compute an edge point for each edge. An edge point is the average of the two endpoints of that edge and the two face points of that edge s adjacent faces. 23

Catmull-Clark Algorithm: 4/10 Compute a vertex point for each vertex v as follows: ' 1 2 n 3 v = Q+ R+ v n n n m f Q the average of all new face 1 2 Q points of v R the average of all mid-points f (i.e., m i s) of vertex v 1 v m 3 v - the original vertex n - # of incident edges of v m 2 R f 3 24

Catmull-Clark Algorithm: 5/10 For each face, connect its face point f to each edge point, and connect each new vertex v to the two edge points of the edges incident to v. e f 25

Catmull-Clark Algorithm: 6/10 face point edge point vertex point vertex-edge connection 26 face-edge connection

Catmull-Clark Algorithm: 7/10 After the first run, all faces are four sided. If all faces are four-sided, each has four edge points e 1, e 2, e 3 and e 4, four vertices v 1, v 2, v 3 and v 4, and one new vertex v. Their relation can be represented as follows: A vertex at any level converges to the following: 4 4 4 j= 1 j j= 1 j 2 n + + v = v e f nn ( + 5) The limit surface is a B-spline surface of degree (3,3). 27

Catmull-Clark Algorithm: 8/10 1 2 3 4 5 6 28

Catmull-Clark Algorithm: 9/10 1 2 3 4 5 29

Catmull-Clark Algorithm: 10/10 1 2 3 30 4 5

Loop s Algorithm: 1/6 Loop s (i.e., Charles Loop s) algorithm only works for triangle meshes. Loop s p algorithm computes a new edge point for each edge and a new vertex for each vertex. Let v 1 v 2 be an edge and the other vertices of the incident triangles be v left and v right. The new edge point e is computed as follows. e= 3 v v 1 v v 8 8 ( + ) + ( + ) 1 2 left right 1 v left 3 3 v 1 v 2 1 v right 31

Loop s Algorithm: 2/6 For each vertex v, its new vertex point v is computed below, where v 1, v 2,, v n are adjacent vertices n ' v = (1 nα) v+ α v j j= 1 1-nα where α is α α α α α 3 n= 3 16 α = 2 15 3 1 2π + cos n> 3 n 8 8 4 n 32

Loop s Algorithm: 3/6 Let a triangle be defined by X 1, X 2 and X 3 and the v 1 corresponding new vertex points be v 1, v 2 and v 3. X 1 e 2 Let the edge points of edges e v 1 v 2, v 2 v 3 and v 3 v 1 be e 3, e 1 3 and e 2. The new triangles e 1 are v 1e 2e 3 3, v 2e 3e 1 1, v 3e 1e 2 and X v 2 3 e 1 e 2 e 3. This is a 1-to-4 X 3 scheme. v 2 This algorithm was developed by Charles Loop in 1987. 33

Loop s Algorithm: 4/6 Pick a vertex in the original or an intermediate mesh. If this vertex has n adjacent vertices v 1, v 2,, v n, it converges to v : n 3+ 8( n 1) α 8α v = + v j 3 + 8 n α 3 + 8 n α j = 1 If all vertices have valency 6, the limit surface is a collection of C 2 Bézier triangles. However, only a torus can be formed with all valency 6 vertices. Vertices with different valencies converge to extraordinary vertices where the surface is only G 1. 34

Loop s Algorithm: 5/6 Doo-Sabin Catmull-Clark 35

Loop s Algorithm: 6/6 Doo-Sabin 36 Catmull-Clark

Peters-Reif Algorithm: 1/4 This is an extremely simple algorithm. Compute the midpoint of each edge For each face, create a face by connecting the midpoints of it edges There are two types of faces: faces inscribed to the existing ones and faces whose vertices are the midpoints of edges that are incident to a common vertex. 37

Peters-Reif Algorithm: 2/4 The original and new vertices has a relationship as follows: 1 1 0 2 2 ' v 1 1 1 v1 ' 0 0 v2 2 2 v2 = ' v 1 1 n 1 1 0 vn ' 2 2 vn vn 1 1 0 0 2 2 The limit of this process consists of a set of regular planar polygons that are the tangent planes of the limit surface, which is G 1. Peters-Reif algorithm was developed by J. Peters and U. Reif in 1998. 38

Peters-Reif Algorithm: 3/4 39

Peters-Reif Algorithm: 4/4 Doo-Sabin Catmull-Clark 40

3-Subdivision of Kobbelt: 1/8 This algorithm was developed by Leif Kobbelt in 2000, and only works for triangle meshes. This simple algorithm consists of three steps: 1) Dividing each triangle at the center into 3 more triangles 2) Perturb the vertices of each triangle 3) Flip the edges of the perturbed triangle (see next slide). 41

3-Subdivision of Kobbelt: 2/8 Step 1: Subdividing new edge V 1 For each triangle, compute its center: C = (V 1 +V 2 +V 3 )/3 V 2 V 3 C Connect the center to each vertex to create 3 triangles. This is a 1-to-3 scheme! 42

3-Subdivision of Kobbelt: 3/8 Step 2: Flipping Edges Since each original edge is adjacent to two triangles, flipping an edge means removing the original edge and replacing it by the new edge joining the centers. Dotted: original Solid: flipped 43

3-Subdivision of Kobbelt: 4/8 Final Result Remove the original edges and we have a new triangle mesh! But, the original vertices must also be perturbed a little to preserve smoothness. 44

3-Subdivision S ision of Kobbelt: 5/8 Actual Computation For each triangle with vertices V 1, V 2 and V 3, compute its center C: 1 C= ( V1+ V 2 +V3) 3 For each vertex V and its neighbors V 1 1, V 2 2,, V n, compute a perturbed V as follows: α n ' n V = ( 1 α n ) V+ V i n i = 1 where α n is computed as follows: 1 2ππ αn = 4 2cos 9 n Replace V i s with V i s and do edge flipping. 45

3-Subdivision of Kobbelt: 6/8 Important Results The 3-subdivision converges! The limit surface is C 2 everywhere except for extraordinary ypoints. It is only C 1 at extraordinary points (i.e., vertices with valance 6). The 3-subdivision can be extended to an adaptive scheme for finer subdivision control. 46

3-Subdivision of Kobbelt: 7/8 1 2 3 2 4 5 5 rendered d 47

3-Subdivision of Kobbelt: 8/8 1 2 3 48 4 5 5 rendered

The End 49