teaching meshes, subdivision and multiresolution techniques · teaching meshes, subdivision and...

15
Teaching meshes, subdivision and multiresolution techniques Stephan Bischoff, Leif Kobbelt Computer Graphics Group, RWTH Aachen Abstract In recent years, geometry processing algorithms that directly operate on polygonal meshes have become an indispensable tool in computer graphics, CAD/CAM applications, numer- ical simulations, and medical imaging. Because the demand for people that are specialized in these techniques increases steadily the topic is finding its way into the standard curric- ula of related lectures on computer graphics and geometric modeling and is often the subject of seminars and presen- tations. In this article we suggest a toolbox to educators who are planning to set up a lecture or talk about geometry processing for a specific audience. For this we propose a set of teaching blocks, each of which covers a specific subtopic. These teaching blocks can be assembled so as to fit differ- ent occasions like lectures, courses, seminars and talks and different audiences like students and industrial practition- ers. We also provide examples that can be used to deepen the subject matter and give references to the most relevant work. 1 Introduction In the last decade the processing of polygonal meshes has emerged as an active and very productive research area. This can basically be attributed to two developments: Modern geometry acquisition devices, like laser scan- ners and MRT, easily produce raw polygonal meshes of ever growing complexity Downstream applications like analysis tools (medical imaging), computer aided manufacturing, or numerical simulations all require high quality polygonal meshes as input. The need to bridge the gap between raw triangle soup data and high-quality polygon meshes has driven the research on efficient data structures and algorithms that directly oper- ate on polygonal meshes rather than on a (most often not feasible) intermediate CAD representation. We roughly structure the main area of geometry process- ing into three major sub-topics: meshes, subdivision and multiresolution techniques. The topic meshes covers the ba- sic data structures and algorithms that are used for repre- senting and modifying polygonal geometry. Here we find al- gorithms that are used to create, analyze, smooth, decimate or parameterize polygonal meshes. Subdivision methods pro- vide a link between (discrete) polygonal meshes and con- ventional (continuous) spline surface representations. Their main application is geometric modeling and adaptive mesh- ing for finite element computations. Multiresolution tech- niques decompose the model into a hierarchy of meshes that represent different levels of detail. Technically this hierar- chy can be exploited in order to significantly speed up many algorithms. More important, however, is the semantic ef- fect in that such hierarchies can be used for intuitive mod- eling metaphors or highly efficient geometry compression al- gorithms. Due to the increasing demand for people that are special- ized in geometry processing, the topic is finding its way into related lectures and is also the subject of many seminars and talks. There is, however, no canonical curriculum to draw from. In this article we propose to alleviate this problem by structuring the subject into a set of teaching blocks each of which covers a certain subtopic. Each teaching block con- sists of . . . . . . a number of keywords that compactly describe the essence of the block. After teaching a teaching block the students should be able to reconstruct the contents by means of the keywords. . . . a list of references to recent publications. . . . the actual contents of the block in form of a short description. This description is not meant to be tutorial in nature but as a rough guideline for lecturers. The idea is that these teaching blocks can be put together in various ways such as to accommodate different audiences and occasions: A one-semester general course on geometry processing would comprise all of the presented blocks and combine it with more classical material on spline theory and NURBS. As part of an advanced course on computer graphics, geometry processing can be covered by the more prac- tical blocks on meshes and subdivision. An advanced and more specialized course on geometric modeling would focus on the subdivision and multires- olution blocks, possibly including the more theoretical material on the convergence analysis. A seminar for industrial practitioners would primarily focus on the practical blocks and the examples. Figure 1 gives an overview of all the blocks and their rela- tionships. 2 Preliminaries In this paper we will only deal with the core topics in ge- ometry processing. However, for many of these topics some previous knowledge in mathematics and/or geometric mod- eling is indispensable for the students. Concepts that should be known from calculus include con- tinuity/differentiability of functions, sequences of functions, convergence criteria, Taylor expansion and approximation power. From linear algebra the basic concepts of vector spaces, linear maps and spectral theory should be available as well as knowledge of notions from affine geometry.

Upload: hoangcong

Post on 11-Nov-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

Teaching meshes, subdivision and multiresolution techniques

Stephan Bischoff, Leif Kobbelt

Computer Graphics Group, RWTH Aachen

Abstract

In recent years, geometry processing algorithms that directlyoperate on polygonal meshes have become an indispensabletool in computer graphics, CAD/CAM applications, numer-ical simulations, and medical imaging. Because the demandfor people that are specialized in these techniques increasessteadily the topic is finding its way into the standard curric-ula of related lectures on computer graphics and geometricmodeling and is often the subject of seminars and presen-tations. In this article we suggest a toolbox to educatorswho are planning to set up a lecture or talk about geometryprocessing for a specific audience. For this we propose a setof teaching blocks, each of which covers a specific subtopic.These teaching blocks can be assembled so as to fit differ-ent occasions like lectures, courses, seminars and talks anddifferent audiences like students and industrial practition-ers. We also provide examples that can be used to deepenthe subject matter and give references to the most relevantwork.

1 Introduction

In the last decade the processing of polygonal meshes hasemerged as an active and very productive research area. Thiscan basically be attributed to two developments:

• Modern geometry acquisition devices, like laser scan-ners and MRT, easily produce raw polygonal meshes ofever growing complexity

• Downstream applications like analysis tools (medicalimaging), computer aided manufacturing, or numericalsimulations all require high quality polygonal meshesas input.

The need to bridge the gap between raw triangle soup dataand high-quality polygon meshes has driven the research onefficient data structures and algorithms that directly oper-ate on polygonal meshes rather than on a (most often notfeasible) intermediate CAD representation.

We roughly structure the main area of geometry process-ing into three major sub-topics: meshes, subdivision andmultiresolution techniques. The topic meshes covers the ba-sic data structures and algorithms that are used for repre-senting and modifying polygonal geometry. Here we find al-gorithms that are used to create, analyze, smooth, decimateor parameterize polygonal meshes. Subdivision methods pro-vide a link between (discrete) polygonal meshes and con-ventional (continuous) spline surface representations. Theirmain application is geometric modeling and adaptive mesh-ing for finite element computations. Multiresolution tech-niques decompose the model into a hierarchy of meshes thatrepresent different levels of detail. Technically this hierar-chy can be exploited in order to significantly speed up manyalgorithms. More important, however, is the semantic ef-fect in that such hierarchies can be used for intuitive mod-

eling metaphors or highly efficient geometry compression al-gorithms.

Due to the increasing demand for people that are special-ized in geometry processing, the topic is finding its way intorelated lectures and is also the subject of many seminars andtalks. There is, however, no canonical curriculum to drawfrom. In this article we propose to alleviate this problem bystructuring the subject into a set of teaching blocks each ofwhich covers a certain subtopic. Each teaching block con-sists of . . .

• . . . a number of keywords that compactly describe theessence of the block. After teaching a teaching blockthe students should be able to reconstruct the contentsby means of the keywords.

• . . . a list of references to recent publications.

• . . . the actual contents of the block in form of a shortdescription. This description is not meant to be tutorialin nature but as a rough guideline for lecturers.

The idea is that these teaching blocks can be put togetherin various ways such as to accommodate different audiencesand occasions:

• A one-semester general course on geometry processingwould comprise all of the presented blocks and combineit with more classical material on spline theory andNURBS.

• As part of an advanced course on computer graphics,geometry processing can be covered by the more prac-tical blocks on meshes and subdivision.

• An advanced and more specialized course on geometricmodeling would focus on the subdivision and multires-olution blocks, possibly including the more theoreticalmaterial on the convergence analysis.

• A seminar for industrial practitioners would primarilyfocus on the practical blocks and the examples.

Figure 1 gives an overview of all the blocks and their rela-tionships.

2 Preliminaries

In this paper we will only deal with the core topics in ge-ometry processing. However, for many of these topics someprevious knowledge in mathematics and/or geometric mod-eling is indispensable for the students.

Concepts that should be known from calculus include con-tinuity/differentiability of functions, sequences of functions,convergence criteria, Taylor expansion and approximationpower. From linear algebra the basic concepts of vectorspaces, linear maps and spectral theory should be availableas well as knowledge of notions from affine geometry.

Page 2: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

Subdivision schemes Subdivision matrixRefinement

Boxsplines Convergence

Adaptive subdivisionPractical schemes

Multiresolution analysis

LiftingSurface hierarchies

Discrete differentialgeometry

Taylor expansion

Affine geometry

Calculus

Linear Algebra Mathematicalbackground

Meshes

Parameterization

Data structures

Smoothing

Decimation

ConversionCompression

Voronoi techniques

Remeshing

Figure 1: Teaching block overview. For the sake of com-pleteness we have also included a “mathematics” block thatis, however, not further explained in this paper.

We have also experienced that students benefit from set-ting the topic into the broader view of computer graph-ics/geometric modeling. In particular the students shouldbe familiar with the different approaches to represent sur-face geometry either explicitly, parametrically or implicitlyand to use points, patches or volume elements as the basicstructural primitive.

3 Meshes

In the following we will describe the basic data structuresand algorithms that are used to process polygonal meshes.Most of these data structures and algorithms can be under-stood without previous knowledge. Their implementation isoften straightforward which makes them suited as practicalexercises.

3.1 Data structures

. winged-edge, halfedge

. [9, 10, 49, 66, 97]

The many data structures that are available for represent-ing polygonal meshes are designed such as to facilitate theaccess to local neighborhood information, e.g. enumeratingthe 1-ring of a vertex. Furthermore, as constant-size datastructures can be stored more compactly one often restrictsoneself to triangle meshes or uses edges as the topologicalprimitive.

Example: Winged- and Halfedge The prevalent datastructures for representing orientable two-manifold polygo-nal meshes are the winged-edge and the halfedge data struc-tures. In contrast to a simple shared vertex representation,they allow one to easily access neighborhood information.

Shared vertex, winged edge and halfedge representation

The winged-edge data structure associates with each edgeeight references: two vertices, two faces and four incidentedges. Since edges cannot be oriented globally consistent, acase distinction is necessary during traversal.

Splitting an edge into two neighboring halfedges results inthe halfedge data structure, where each halfedge stores fourpointers to a vertex, its next and opposite halfedge and to aface.

Face based data structures Face-based data structures areespecially convenient for subdivision and multiresolution hi-erarchies [99]. Here the basic structuring element is a facethat contains pointers to its adjacent vertices and faces andfor each adjacent face the index of the adjacent edge. In aquadtree one additionally stores pointers to the child faces.

Other examples There are a number of less commonly useddata structures, including quad edge that simultaneously en-codes a mesh and its dual and is able to represent non-orientable manifolds, radial edge for handling non-manifoldmeshes and directed edges which is very memory efficient butrestricted to triangular meshes.

3.2 Voronoi diagram and Delaunay triangulation

. Voronoi diagram, Delaunay triangulation

. [6, 19, 30, 33, 39, 84]

Given n points pi ∈� d the Voronoi region corresponding

to pi is defined as

Vi = {p : dist(p,pi) ≤ dist(p,pj) for all j 6= i}resulting in a partition of

� d into Voronoi regions.

Voronoi–Diagram and Delaunay–Triangulation

The dual of the Voronoi diagram is called the Delaunay tri-angulation. For d = 2 we have that a triangulation is De-launay iff for each edge the circle circumscribing one adja-cent triangle does not contain the opposite vertex. Amongall possible triangulations, the Delaunay triangulation is theone that maximizes the smallest angle.

Example: Fortune’s sweep-line algorithm In case d = 2a nice visual interpretation of the Voronoi diagram can begiven as follows. Embed

� 2 as the z = 0 plane into� 3

and locate on each point pi a cone of opening angle 45◦. Ifone then views the configuration from z = −∞, the Voronoidiagram is given by the visible parts of the cones. Fortune’salgorithm exploits this observation by sweeping a slantedplane over the points thereby successively constructing theVoronoi diagram or the Delaunay triangulation.

Page 3: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

Example: Delaunay triangulation from convex hulls Anyalgorithm for computing the convex hull of an object canalso be used to compute Delaunay triangulations [74]. Forthis one embeds the points pi in

� d+1 by projecting themonto the parabola P : xd+1 = x2

1 + · · ·+x2d. From the convex

hull of P we remove the faces whose normals point in thed+1 direction. The Delaunay triangulation is then obtainedby projecting back the remaining polyhedron into

� d.

3.3 Conversion: implicit representations → meshes

. signed distance field, marching cubes

. [36, 48, 56, 65]

A surface S can be represented as the kernel of a signeddistance function d(x, y, z), i.e.

S = {[x, y, z] : d(x, y, z) = 0}

In typical applications (e.g. medical imaging) d is sampledon a regular grid, dijk = d(i, j, k), and interpolated by apiecewise tri-linear function.

Example: Marching Cubes The marching cubes algo-rithm [65] extracts a polygonal representation from the griddijk by generating a vertex for each edge that intersects Sand connects these vertices to a (triangulated) polygon. Ifadditional (Hermite-) data is available at the grid points,one can use the extended marching cubes algorithm [56] inorder to reconstruct sharp features.

Example: Surface Nets Dual methods like the surface netsalgorithm [36] compute a face for each edge that intersectsS. This method can also be extended to reconstruct sharpfeatures when Hermite data is available [48].

Marching cubes and Surface Nets

3.4 Conversion: point clouds → meshes

. organized/unorganized point clouds,power crust,volumetricapproach

. [7, 17, 46]

Given a set of points pi ∈� 3 sampled from a surface S

we search for a triangle mesh that interpolates or approxi-mates these points. The various algorithms that have beenproposed for this task can be classified according to whetherthey accept unstructured point clouds as input, whether thereconstruction is based on a signed distance function andwhether they are interpolatory or approximating.

Point cloud triangulation

Example Hoppe et al. [46] estimate a normal ni for eachpoint pi by fitting a (tangent) plane to the k-neighborhoodof pi. In order to consistently orient the normals, the nor-mal orientation is propagated along an extended Euclideanminimum spanning tree. The signed distance of an arbitrarypoint p to the object is then estimated as the distance tothe tangent plane associated with the nearest pi. Finally atriangle mesh is extracted via the marching cubes algorithm.

Example: Volumetric approach Curless et al.’s volumetricmethod [17] takes as input a set of range images, i.e. pointclouds that are organized according to a regular grid, as theyare produced e.g. by laser range scanners. Each range imageis scan converted to a cumulative weighted signed distancefunction. Time and space efficiency is achieved by resam-pling the range image according to the voxel ordering and byrun-length encoding the volume. Finally an explicit polyg-onal mesh is extracted via the marching cubes algorithm.This algorithm is also able to automatically fill in gaps andhence produces watertight models.

Example: Voronoi/Delaunay filtering algorithms If thepoints pi are sufficiently dense samples of a surface S thenS can be reconstructed via filtering as a subset of the De-launay triangulation of the pi [1, 5, 30]. As an advancedexample, Amenta et al.’s power crust algorithm [7] proceedsas follows: First the Voronoi diagram of all sample pointspi is computed. If the pi are sufficiently dense, the Voronoicells will be needle-like polyhedra orthogonal to the surfaceS. The two vertices of the Voronoi cell that are farthestaway from pi in positive and negative direction are calledthe poles of the cell. Let ai be the set of all poles and ri theradii of their corresponding Voronoi balls. Then the powerdiagram of all poles is defined as the Voronoi diagram withrespect to the power-distance

dpow(x, ai) = ||x− ai||2 − r2i

Inside/outside information is propagated over the poles us-ing the fact that two poles corresponding to the same samplepoint are on different sides of the surface and that an innerand an outer polar ball can only intersect shallowly. Theoutput of the algorithm is the power crust, i.e. those cells ofthe power diagram that separate inside and outside poles.

3.5 Mesh decimation

. vertex clustering, incremental decimation, edge collapse,quadric error metrics, progressive meshes, view-dependentrefinement

. [34, 37, 44, 57, 63, 81]

Mesh decimation algorithms simplify polygonal meshes byreducing their number of vertices while preserving as much oftheir shape and appearance as possible. One can distinguishtwo classes.

Vertex clustering algorithms set up a voxel grid and com-bine vertices that lie in the same voxel. These algorithms aretypically applied in an out-of-core fashion, but provide only

Page 4: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

limited control on the resulting mesh complexity, topologyor quality.

Incremental decimation algorithms repeatedly remove thegeometrically least important vertex from the mesh. This isdone by either deleting a vertex together with its incidentfaces followed by a retriangulation of the resulting hole (ver-tex removal) or by collapsing two vertices along a commonedge (edge collapse).

Edge collapse and vertex removal

The decimation order is determined by an error metric likethe Hausdorff distance or quadric error metrics.

Example: Quadric error metric Quadric error metrics [34]measure the squared distance of a vertex from all of its sup-porting planes. For this a quadric Qi is associated with eachvertex i. Let nT

j x = 0 be the homogeneous Hessian normalform of the planes supported by the faces adjacent to vertexi, then Qi is initialized as

Qi =�

j

njnTj

Whenever two vertices i and j are collapsed into a new vertexk the quadric Qk associated with k is computed as

Qk = Qi +Qj

and k’s position xk is determined such as to minimize thequadratic equation xTQkx, i.e. by solving a linear system.

Example: Progressive Meshes and view-dependent refine-ment Halfedge collapses can be easily reversed (vertexsplit) resulting in a so-called progressive mesh representa-tion [44]. Arranging the vertex collapses/splits in a forestallows to selectively refine a mesh based on view-frustum,screen-space error etc. [45, 51]

3.6 Mesh smoothing

. Taubin’s smoothing, curvature flow

. [22, 53, 89]

Data that is acquired by physical measurement often ex-hibits noise. The removal of this noise is called mesh smooth-ing. In the following let x = [x1, . . . , xn] be the positions ofthe n vertices of a triangle mesh M. We further need adiscretization of the Laplacian ∆ to triangle meshes

∆xi =�

j neighbor of i

wij(xi − xj)

where wij are some weight coefficients reflecting edge-lengthsor angles. The discrete Laplacian can then be written inmatrix form as ∆x.

Example: Signal processing approach The matrix ∆ hasreal eigenvalues 0 ≤ k1 ≤ · · · ≤ kn ≤ 2 and the correspond-ing eigenvectors e1, . . . , en can be considered as the natural

vibration modes of the mesh. Let x = � xiei be the dis-crete Fourier transform of x and let f(k) be an arbitrarypolynomial, then we have

f(∆)x =�

xif(ki)ei

Hence f(k) can be considered as the transfer function of thefilter f(∆). Taubin proposes to set f(k) = (1− λk)(1− µk)where µ < −λ < 0 in order to get a non-shrinking filter.

Example: Curvature flow approach Desbrun et al. con-sider mesh smoothing as a diffusion process

∂x

∂t= λ∆x

This system becomes stationary when ∂x

∂t= 0 i.e. when

∆x = 0. Instead of an explicit forward Euler method tosolve this PDE one uses an implicit scheme

(I − λdt∆)xn+1 = xn

to iteratively solve the equation for each time step where λdtcan be arbitrarily large.

Example: Energy minimization approach A standard mea-sure for the global surface stretching and bending energy arethe membrane and thin-plate energies resp.:�

f2u + f

2v and

�f2uu + 2f2

uv + f2vv

Applying variational calculus we obtain the necessary con-ditions

∆x = 0 and ∆2x = 0

These equations can be solved iteratively by e.g. a Gauss-Seidel solver. The solution is identical to the stationary con-figuration in the curvature flow setting.

3.7 Discrete differential geometry

. tangent,(Gaussian,mean,principal) curvature, principal di-rections

. [11, 16, 26, 43, 67]

Let S be a smooth surface in space, p a point on thissurface and n its normal vector, i.e. n is orthogonal to thetangent plane at p. For every unit direction e = e(θ) in thetangent plane given by an angle θ the normal curvature κ(θ)is defined as the curvature of the intersection of S with theplane containing n and e.

Continuous differential geometry and discrete analogue

The normal curvature takes on two extremal principalcurvatures κ1, κ2 at orthogonal principal directions e1, e2.The mean and Gaussian curvatures are then defined asκH = (κ1 + κ2)/2 and κG = κ1κ2 resp. Note that κH canalso be defined as κH = 1/2π � κ(θ)dθ.

Page 5: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

It is not easy to carry over these notions to non-differentiable triangle meshes. There are many ad-hoc so-lutions, but these are often not consistent, i.e. they do notconverge to the pointwise properties of S when the trianglemesh is considered as an approximation of S.

Example Meyer et al. propose the following consistent for-mulas: Let xi be a vertex, θj the adjacent angles and xj

the adjacent vertices. Then the associated normal ni andcurvatures can be computed by

κH(xi)ni =1

A�

j

(cotαij + cot βij)(xi − xj)

κG(xi) = � 1− 2π�

θj � /AHere A is the area around the center vertex and αij , βij arethe two angles opposite the edge xixj .

Example The usual definition of geodesic as a locally short-est path fails on the vertices of triangle meshes. Polthier etal. [69, 70] propose to use the notion of straightest geodesics,where the sum of angles on each side of the line is equal.

3.8 Parameterization

. parameterization, conformal maps

. [21, 32, 38, 61, 62, 75, 78, 79, 82, 83, 94]

Parameterization is the process of assigning two-dimensional coordinates ui to the vertices xi of a trianglemesh such that the resulting piecewise linear map becomesinjective and hence invertible. Parameterizations are usede.g. for remeshing and texture mapping. Two problems haveto be solved:

Parameterization

First, a triangle mesh can only be parameterized whenit is topologically equivalent to a disk, i.e. when it has aboundary and is of genus 0. This has led to the develop-ment of various algorithms that subdivide a given mesh intopatches that are homeomorphic to a disk [35, 38, 83].

Second, only developable surfaces can be parameterizedwithout distortion. Therefore one tries to preserve alter-native properties like (generalized) barycentric coordinates,angles (conformal parameterization), or area (authalic pa-rameterization) as good as possible or to minimize the geo-metric stretch. Note that no mapping can be conformal andauthalic at the same time.

One can distinguish between non-linear methods thatsolve the parameterization problem iteratively[78, 79, 82]and linear methods. The latter amount to solve a linear sys-tem Au = b, where the matrix A and b depend on the vertexpositions xi, and u = [ux,0 . . . ux,n uy,0 . . . uy,n]. Whetherthis system leads to an admissible solution depends on theboundary conditions: if A = [aij ] is a matrix with � j aij = 0

and non-negative weights aij , i 6= j and if the boundary ofthe parameterization is convex then the solution of the linearsystem results in an injective mapping.

Example: Floater’s weights Floater constructs a shape-preserving parameterization as follows [32]: The 1-ring xj ofeach interior vertex xi is mapped onto the plane via an expo-nential map. In a second step, the barycentric coordinatesof ui with respect to every triangle uj0 ,uj1 ,uj2 that con-tains ui are determined, summed up and normalized. Thisleads to a convex combination ui = � j λijuj for the interiorvertices. The boundary vertices are heuristically distributedon some convex shape and kept fixed, i.e. they affect onlythe right hand side b. The resulting linear system is thendescribed by the matrix A = I − [λij ].

Floater’s construction

Example: Least Squares Conformal Maps Levy et al. [62]determine a parameterization as follows: Let X :

� 2 → Mbe a parameterization of a triangle mesh M and let U : M →� 2 be its inverse (local coordinates). Consider a triangleT ∈ M and represent U|T with respect to a x, y-coordinateframe that lies within T , i.e.

U|T : T → � 2

(x, y) 7→ (u(x, y), v(x, y))

U|T is conformal, if ∂U

∂x⊥ ∂U

∂y, and || ∂U

∂x|| = || ∂U

∂y||, i.e. if

c(U|T ) = � ∂u∂y

+∂v

∂x,∂v

∂y− ∂u

∂x � = (0, 0)

Note that U|T is linear and hence c(U|T ) is actually a con-stant. The deviation of U resp. X from a conformal mapcan thus be measured as�

T∈M

�T

||c(U|T )||2dxdy =�

T∈M

||c(U|T )||2AT

where AT is the area of T . This is a quadratic equation thatcan be minimized using the conjugate gradients algorithm.

LSCM can also handle free boundaries. Furthermore,Levy et al. proposed a multigrid framework to computethe LSCM for very large meshes [75].

Other examples: Desbrun et al [21] derived a map that isequivalent to the least squares map by way of minimizingthe Dirichlet energy and called it discrete conformal map.Sander et al. [78] minimize the geometric stretch of a pa-rameterization and extend their method such that the ap-proximation of signals that are defined on the surface is op-timized [79].

3.9 Mesh compression

. cut-border, connectivity vs. geometry compression

. [3, 40, 47, 77, 92]

Page 6: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

3.9.1 Connectivity coding

Let M be a mesh with n vertices. If M is given in sharedvertex representation, one needs log(n) bits per vertex forstoring the mesh connectivity, i.e. the indices referencingthe point list with n entries. The algorithms presented inthis section are based on traversal strategies that encodethe mesh connectivity as a command sequence for a recon-struction automaton. These programs can then be efficientlyencoded using only a constant number of bits per vertex.

Most connectivity coding algorithms encode mesh ele-ments and their incidence relation with respect to one ormore cut-borders that are propagated over the mesh. Thecut-borders are stored in a stack, the top element being theactive cut-border.

pivot

untouchedcurrent facecut border

processed

gate

Connectivity coding

One can distinguish growing operations that process thecurrent face and advance the cut-border (see examples be-low) and the special operations split and merge. The split op-eration Si is performed when the current cut-border touchesitself at the i-th vertex, a merge operation Ms,i is performedwhen the current cut-border touches the s-th cut-borderfrom the stack at vertex i (once per handle).

Example: Valence-based coding Touma and Gotsman [92]proposed a valence-based coding scheme for triangle meshesthat achieves less than 2 bit/vertex on the average. To avoidthe handling of special cases all holes are first closed by tri-angle fans around a dummy vertex. The add operation Ai

introduces a vertex of valence i. If a vertex has no more freeedges, its neighborhood can be completed.

A5

Touma–Gotsman

Example: Edge-based methods Face Fixer [47] is an edge-based scheme that encodes arbitrary polygonal meshes withan average of 2–3 bits/vertex. The face/hole operationsFl/Hl attach a face/hole with l edges to the gate. The glueoperations L and R identify the gate with the next/previousedge on the cut-border. The decoding proceeds in reverseorder.

4 5F F L

Face Fixer

Other schemes The original cut-border machine [40] andthe edge-breaker algorithm [77] are examples of face-basedmethods. Alliez et al. proposed a progressive encodingscheme [3]. The forest split scheme [90] is also progressiveand is used in the MPEG 4 standard.

3.9.2 Geometry compression

The mesh geometry (i.e. the vertex positions) is first quan-tized (usually to 10–12 bits) and then encoded losslessly us-ing a predictive scheme, like the parallelogram rule. Huff-man or arithmetic coders can then take advantage of the lowentropy of the prediction errors.

a

c

b

b+c−a

Prediction error of the parallelogram rule

Example: Normal meshes Guskov et al. [42] propose a ge-ometry representation called normal meshes. These meshesare semi-regular and hence need no connectivity information(except for the base mesh that is encoded traditionally). Ver-tex positions are predicted using a subdivision scheme anddisplaced in normal direction, i.e. the tangential componentsare zero and one only needs to store one scalar value pervertex for the normal component. Applying wavelet com-pression to normal meshes, Khodakovsky et al. [50] achievesignificant geometry compression rates.

3.10 Remeshing

. irregular, semi-regular, regular connectivity

. [4, 29, 38, 61, 93]

Remeshing is the process of approximating a given geom-etry by a mesh with a special connectivity. The resultingmeshes are categorized as irregular, semi-regular or regular.

Original, irregular, semi-regular and regular (re-)mesh

Irregular remeshing Turk’s remesher [93] distributes pointson the original geometry and then relaxates them via re-pulsion forces. When in equilibrum state, the points areconnected to form a triangle mesh. Surazhsky et al. [86] de-scribe a remesher including a post-processing step, that re-duces the number of irregular vertices by propagating edgeflips over the mesh. Furthermore, each mesh decimation al-gorithm can be considered as a special remeshing operationthat produces irregular meshes.

Semi-regular remeshing A mesh is called semi-regular (orof subdivision-connectivity), if its connectivity can be ob-tained by uniformly subdividing some (coarse) base mesh.This type of connectivity is the basis for many multi-resolution algorithms. Eck et al. [29] describe a remeshingalgorithm that works on arbitrary input meshes. First the

Page 7: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

mesh is partitioned into triangular patches by taking thedual of a Voronoi-like partitioning. Each patch is then pa-rameterized in the plane and resampled to produce a semi-regular mesh. The MAPS [61] algorithm tracks verticesthrough a mesh decimation hierarchy to produce a parame-terization over a suitable base mesh. Regular resampling ofthe base mesh again leads to a semi-regular mesh.

Regular remeshing Regular meshes can efficiently be storedand transmitted as the vertex positions can be arranged inmatrix form and no connectivity information is needed. Ge-ometry images [38] are produced by successively introducingcuts into a mesh in order to open it into a topological diskand to reduce the distortion of the subsequent parameteri-zation.

Other examples Alliez et al. [4] create an atlas of themesh and conformally parameterize each patch over the unitsquare. Then they use standard image processing opera-tions on these images instead of on the mesh. Approachesthat do not need a parameterization of the mesh include theshrink-wrapping algorithm [59] and the Anisotropic Polygo-nal Remeshing method [2].

4 Subdivision

Subdivision schemes have become increasingly popular inrecent years because they provide a simple and efficient con-struction of smooth curves and surfaces. In contrast to plainpiecewise polynomial representations like Bezier patches andNURBS, subdivision schemes can easily represent smoothsurfaces of arbitrary topology.

Implementation and application of subdivision surfacesis straightforward and intuitive, hence these topics can betaught in a basic computer graphics course or to industrialpractitioners who might not be interested in the mathemat-ical background. The analysis of subdivision schemes, how-ever, is mathematically involved and therefore better suitedfor in-depth courses on geometric modeling or for a seminar.

In the following sections, cki generally signifies the i-th

control point of a control polygon or of a control mesh onsubdivision level k. We will also freely move forth and backfrom the curve to the surface setting, depending on which ofthe two is better suited for presenting the concepts.

4.1 Subdivision schemes

. 2-scale relation, subdivision mask, scaling function

. [99, 31, 73, 96]

We start out with curves of the type � i cki φi(x) where

φi(x) = φ(x − i) are integer shifts of some scaling function

φ(x), and the points cki make up the control polygon of the

curve. If the φi satisfy a 2-scale-relation

φi(x) =�

αjφ2i+j(2x) (∗)

it follows that � cki φi(x) = � ck+1j φj(2x) for a certain sub-

divided control polygon ck+1j , where

ck+1j =

�αj−2ic

ki (∗∗)

Examples and notations:

• The 2-scale relation (∗) can most easily be demon-strated for linear B-splines.

2-scale relation

• Formula (∗∗) can be split for the even and odd controlpoints as

ck+12j =

�α2ic

kj−i and ck+1

2j+1 =�

j

α2i−1ckj−i

• A more graphical way to give the coefficients αi is bymeans of subdivision masks,

Subdivision masks

• Given subdivision coefficients αi, it is in general notpossible to find a closed form expression for the basisfunction φ(x). However, if the basis function exists,it can be approximated by applying the subdivisionscheme to the Dirac vector.

Limit function

Example: Lane-Riesenfeld scheme Lane and Riesen-feld [60] give an algorithmic formulation for uniform B-splinesubdivision. A single subdivision step is performed by firstdoubling all control points and then taking n times the av-erage of each two consecutive control points.

Lane-Riesenfeld scheme

From this view subdivision can more generally be consid-ered as a topological splitting step, followed by a smoothing(averaging) step.

Example: 4-point scheme The subdivision mask of the 4-point scheme [27] is given by

[αi] = [−1, 0, 9, 16, 9, 0,−1] /16

and can easily be constructed using cubic interpolation.

Page 8: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

4-point scheme

The 4-point scheme makes a good example of an interpo-latory scheme and is also suited to demonstrate the conver-gence analysis (cubic precision by definition).

Example: Bivariate schemes The most widespread exam-ples of subdivision schemes are the ones by Catmull-Clark,Doo-Sabin, Loop, Kobbelt and the Butterfly scheme. Theycan easily be used to demonstrate the different classes ofsubdivision schemes

• approximating / interpolating

• quadrangle based / triangle based

• primal / dual

The table below gives a brief overview of the basic proper-ties of these subdivision schemes (here Ck means Ck almosteverywhere)

Doo-Sabin [23] approx. C1 quad. dual

Catmull-Clark [12] approx. C2 quad. primal

Kobbelt [52] interpol. C1 quad. primal

Butterfly (mod.) [28, 100] interpol. C1 tri. primal

Loop [64] approx. C2 tri. primal

3 [54] approx. C2 tri. dual

Catmull–Clark subdivision scheme

Loop subdivision scheme

4.2 Uniform B-splines and box splines

. piecewise polynomials, uniform B-splines, box splines

. [20, 31, 72, 73]

The uniform B-splines Nn(x) of degree n over the knotvector are defined by iterative convolution

N0(x) = 1, x ∈ [0, 1)0, otherwise

Nn(x) =

� 1

0

Nn−1(x− t)dt

From this recurrence it can easily be seen that

Nn(x) ∈ Sn� = {piecewise polynomials over }

Because Sn� ∈ Sn�/2, the uniform B-splines satisfy a 2-scale

relationNn

i (x) =�

αnj N

n2i+j(2x)

where the coefficients αnj can be computed by αn

j = � n+1

j � /2n

These coefficients can be computed by repeatedly convolvingthe Dirac vector with [1, 1] (averaging), i.e.

αn =1

2n([1] ∗ [1, 1] ∗ · · · ∗ [1, 1])

Box splines are the generalization of univariate, uniform B-splines to higher dimensions and can also be defined using aconvolution formula. Given directions v0, . . . ,vm ∈ 2, thebox splines are defined as

B(x|v0 v1) = 1, x ∈ [v0,v1] [0, 1)2

0, otherwise

B(x|v0 . . .vm) =

� 1

0

B(x− tvm|v0 . . .vm−1)dt

Analogously to the univariate case, box splines satisfy a 2-scale relation and the corresponding subdivision masks canbe produced by convolving the Dirac function with the mask[1, 1] in the directions vi.

Example Let v0 = [0, 1], v1 = [1, 0] and v2 = [1, 1]. Con-volving the Dirac impulse in these directions results in

�1 ⊗ �� 0

1 ��−−−−−→ � 1

1 � ⊗ �� 10 ��

−−−−−→ � 1 11 1 � ⊗ �� 1

1 ��−−−−−→ �� 0 1 1

1 2 11 1 0

��From this mask the subdivision rules can be read off bytaking the even and odd row and column entries resp.

1 1

1

11

21

Boxspline subdivision masks

4.3 Convergence analysis (regular case)

. [13, 24, 25, 28, 91]

4.3.1 Calculus basics

. uniform convergence, Cauchy sequence

The control polygons cki can be interpreted as a sequence

of piecewise linear functions over the knot vectors 2−k .A sequence fk of functions converges uniformly to a limitfunction f if

||fk − f ||∞ k→∞−−−−→ 0

where ||f ||∞ = max |f(x)| is the maximum norm. If fk

converges uniformly to f and if all fk are continuous then fis also continuous. If furthermore the derivatives (fk)′ existand converge uniformly to a function g then f ′ = g.

In the setting of subdivision analysis the limit function fis often not known, hence one needs other criteria to prove

Page 9: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

the convergence of a sequence like e.g. the Cauchy criterion.For example, if

||fk+1 − fk|| < βαk

for β > 0 and 0 < α < 1 then fk is a Cauchy sequence andhence uniformly convergent.

4.3.2 Generating function formalism

. generating function, convolution ↔ multiplication

Generating functions are a convenient tool to describe andanalyze subdivision schemes. The idea is to replace the con-trol polygons ck

i as well as the subdivision coefficients αi bytheir generating functions

cki 7→ ck(z) =�

cki zi and αi 7→ α(z) =

�αiz

i

Applying a subdivision step to the control polygon cki can

then easily be described by

ck+1(z) = α(z) ck(z2)

i.e. the convolution with the subdivision mask becomes asimple polynomial multiplication.

4.3.3 Convergence criteria

. (divided) difference scheme, polynomial reproduction

The convergence of a subdivision scheme is closely relatedto the existence and convergence of its (divided) differenceschemes. The m-th difference of a control polygon ck(z) isgiven by

(1 − z)mck(z)

If α(z) reproduces polynomials of degree m, the (m + 1)stdifference scheme

αm+1(z) =α(x)

(1 + z)m+1

exists and relates the (m+ 1)st differences of ck+1(z) to the(m+ 1)st differences of ck(z) by

(1 − z)m+1ck+1(z) = αm+1(z)(1− z2)m+1ck(z2)

If furthermore the difference scheme

2mαm+1(z)

of the mth divided difference scheme 2mαm(z) is contrac-tive, the control polygons ck(z) converge to a m-times con-tinuously differentiable curve. Let βi be the coefficients of2mαm+1(z), then the contraction property follows if

max � �|β2i|,

�|β2i+1| � = q < 1

Note that one often needs to combine multiple subdivisionsteps in order to be able to prove the contraction property.

4.4 Subdivision matrix formalism

. subdivision matrix

. [8, 71, 76, 98]

Local properties of a subdivision scheme can easily becomputed using the subdivision matrix formalism. This for-malism is especially useful

• for analyzing the convergence properties of surfaceschemes at extraordinary vertices and

• for computing explicit masks for the limit points andtangents

The basic idea is to track a finite neighborhood of a ver-tex p through different subdivision levels. Let pk be a col-umn vector that comprises p and a sufficiently large regularneighborhood of p at subdivision level k. Then there existsa subdivision matrix satisfying

pk = Sp

k−1

The subdivision matrix maps the 1-ring pk to pk+1

Let 1 = λ0 > λ1 = λ2 > λ3 . . . be the eigenvalues ofS, let x0,x1, . . . be the corresponding (right) eigenvectors,i.e. Sxi = λixi and let y0,y1, . . . be the associated lefteigenvectors (with xT

i yj = δij). Then we can expand p0 as

p0 =

�ωixi

where we have set ωi = yTi p0. Subdividing the mesh k times

means applying Sk to p0, yielding

pk = Sk

p0 =

�λk

i ωixi (∗ ∗ ∗)

Hence, as λ0 = 1 > λ1 the scheme is convergent andlimpk

0 = ω0. Further analysis of the scheme requires a repa-rameterization by the characteristic map which is definedas the limit surface associated with the planar control net[x1,x2]. If this map is regular and injective the subdivisionscheme produces C1 continuous surfaces and the eigenvectordecomposition (∗ ∗ ∗) can be viewed as a generalized Taylorexpansion of the limit surface around the extraordinary ver-tex. In particular, the limit tangents are given by ω1 and ω2

resp.

4.5 Topological refinement

. uniform refinement, primal/dual graph

Splitting operators can be constructed by combining uni-form refinement and duality.

Page 10: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

Refinement and duals

The lower row shows the uniform refinement of the latticesin the middle row. The upper row shows their dual lattices.

4.6 Adaptive subdivision

. red/green triangulation,√

3 subdivision

. [99, 54, 95]

The complexity of the control meshes increases exponen-tially with the subdivision level k. Adaptive subdivisionschemes reduce the costs by subdividing only in critical ar-eas, e.g. along the object silhouette or when the normalsof two adjacent faces differ to much. Regular tilings, how-ever, cannot be adaptively subdivided without introducinggaps. This leads to ad-hoc solutions like the red-green tri-angulation. Dropping the regularity requirements leads tosubdivision schemes that are better suited for adaptive sub-division.

Adaptive subdivision

5 Multiresolution techniques

When it comes to geometry processing, multiresolution tech-niques offer two distinct advantages: technical and seman-tical. First, algorithms that are able to exploit a mul-tiresolution representation typically can achieve significantspeedups. Second, multiresolution representations naturallyseparate the detail of a model from the base shape. Thesetwo advantages allow one to implement intuitive modelingmetaphors for interactive editing of triangle meshes.

5.1 Wavelets and Multiresolution analysis

. scaling function, wavelets, filter bank, (bi-)orthogonality

. [15, 18, 85, 55]

Wavelets can be introduced using either a summation no-tation or a matrix formalism. The summation notation isbetter suited to demonstrate the convolution nature of thereconstruction and decomposition operators and nicely fitswithin the subdivision framework presented in the previoussection. The matrix formalism, however, avoids the cumber-some index notation, eases the handling of boundaries andleads to compact formulas that are much easier to read. Inthis section we use both notations simultaneously for educa-tional purposes.

The starting point for multiresolution analysis is a set ofnested spaces

V k ⊂ V k+1

and corresponding complement spaces W k satisfying

V k+1 = V k ⊕W k

We assume that V k and W k are spanned by scaled trans-lates of a scaling function φ(x) and a mother wavelet ψ(x)respectively, i.e.

V k = span{φki (x) = φ(2kx− i)}

W k = span{ψki (x) = ψ(2kx− i)}

For the matrix formalism we also introduce the row vectors

Φk = [φk

i ], Ψk = [ψk

i ]

The decomposition V k ⊕W k = V k+1 implies a 2-scale rela-tion on the basis functions

φki =

�αjφ

k+12i+j

ψki =

�βjφ

k+12i+j

[Φk |Ψk ] = Φk+1 � Ak ���� Bk �

for certain coefficients αj , βj and matrices Ak, Bk resp. Onthe other hand each function ∈ V k+1 has a representationwith respect to Φk+1 as well as with respect to [Φk |Ψk ],�

ck+1i φk+1

i =�cki φ

ki +

�dk

i ψki

Φk+1

ck+1 = [Φk |Ψk ] � ck

dk�

where we define the column vectors ck and dk as

ck = [cki ], d

k = [dki ]

Applying the 2-scale relation on the right hand side of theequation we see that the control points on different scalesare related by

ck+1j =

�αj−2ic

ki

+�

βj−2idki

ck+1 = � Ak ���� Bk � � ck

dk�

The above equation defines a reconstruction operator ora synthesis filter. The most general way to describe an as-sociated decomposition operator or analysis filter is via dualbases φ(x) and ψ(x) such that

〈φki (x), φk

j (x) 〉 = 〈ψki (x), ψk

j (x) 〉 = δij and

〈φki (x), ψk

j (x) 〉 = 〈ψki (x), φk

j (x) 〉 = 0

In matrix notation the above condition can be written as

〈 [Φk |Ψk ] , [ Φk | Ψk ] 〉 = I

If there also exists a 2-scale relation for the dual basis

Page 11: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

φki =

�γj φ

k+12i+j

ψki =

�δj φ

k+12i+j

[ Φk | Ψk ] = Φk+1 � Ck ���� Dk �

the decomposition operator can easily be described as

cki =�

γj−2ick+1j

dki =

�δj−2ic

k+1j

� ck

dk� = � CT

k

DTk

� ck+1

This general setting is called the biorthogonal wavelet set-ting.

In the semi-orthogonal setting we further require that thedecomposition V k+1 = V k ⊕W k is orthogonal,

〈Φk,Ψk〉 = 0

which leads to better approximation properties of the recon-struction operator. In the fully orthogonal wavelet setting,we even require that

〈[Φk |Ψk ] , [Φk |Ψk ]〉 = I

In this case the primal and dual basis are the same and thedecomposition operator becomes trivial.

5.2 Lifting scheme

. lifting scheme, split-predict-update-merge

. [80, 87, 88]

Lifting allows us to construct filter banks entirely in thespatial domain and can hence also be taught to audiencesthat are not acquainted with Fourier methods. Instead ofexplicitly specifying scaling functions and wavelets, the de-composition process is made up of so-called splitting, predic-tion, update, scaling and merging steps that are arranged ina flow chart

��

⊕ // sk−1i

ski

// S

GFsk

2i //

@Ask

2i+1

//

P

��

U

OO

//

OO

dk−1i

In the simplest case the prediction operator P is a subdivi-sion operator and the update operator U is chosen such asto preserve higher order moments. The reconstruction oper-ator is derived from the decomposition operator by simplyreversing all arrows and changing the signs. Using the lift-ing scheme, the wavelet decomposition/reconstruction canbe performed in-place and in linear time.

Example: Haar Wavelets The Haar transform is a specialwavelet transform. Its scaling function and mother waveletare given by

φ(x) = 1, x ∈ [0, 1)0, otherwise

and

ψ(x) =1

2(φ(2x− 1)− φ(2x))

leading to the prediction and update steps

dk−1i ← sk

2i+1 − sk2i

sk−1i ← sk

2i +1

2dk−1

i

Haar scaling function and wavelet

Example: B-spline Wavelets Using linear splines as scalingfunctions leads to the prediction step

dk−1i ← sk

2i+1 − � sk+12i + sk+1

2i+2 � /2To preserve the average (0th moment)

2�

ski =

�sk+1

i

one assumes that the update step has the form

ski ← sk+1

2i + α � dki−1 + dk

i �and solves for α = 1/4. Due to symmetry reasons the 1-storder moment is then also preserved.

Linear B-spline scaling function and wavelet

5.3 Surface hierarchies

. semi-regular meshes, coarse-to-fine hierarchy, fine-to-coarse hierarchy

. [41, 58, 101]

In order to carry over the concept of wavelet decomposi-tion to arbitrary polygonal surfaces, one has to mimic thebehavior of the reconstruction and decomposition operators.For this let ↑ and ↓ be a pair of compatible upsampling anddownsampling operators, i.e. ↓ (↑ (M)) has the same meshconnectivity as M. We can then define a hierarchy

· · · → Mk → Mk+1 → · · ·↗ ↗ ↗

· · · Dk Dk+1 · · ·

of meshesMk and associated detail Dk by defining a recon-struction operator as

S : Mk,Dk 7→ Mk+1 =↑ (Mk) +Dk

and a decomposition operator as

A : Mk+1 7→ Mk =↓ (Mk+1)Dk = Mk+1− ↑ (Mk)

Note that Dk andMk+1 have the same connectivity.By definition the reconstruction and decomposition are

inverse to each other. The different frequency bands arecaptured by the detail coefficients Dk. In general multipledetail coefficients are associated with each vertex (one foreach level). This redundancy can be avoided by choosing an

Page 12: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

interpolatory upsampling operator ↑. Furthermore, in orderto achieve intuitive results, the detail coefficients should beencoded with respect to local frames. In the semi-regularsetting (coarse-to-fine hierarchies) ↑ can be chosen to be asubdivision operator and lifting can be used to improve thefilters. In the irregular setting (fine-to-coarse hierarchies)the downsampling ↓ is performed by some mesh decimationalgorithm. Upsampling ↑ is then done by re-inserting thevertices, followed by a smoothing step.

Multiresolution hierarchy

6 Exercise courses

As programming a polygonal mesh data structure canbe quite cumbersome it has proven to be more effectiveto employ one of the publicly available libraries like e.g.CGAL [14] or OpenMesh [68]. Exercises that we have as-signed per student and per week are e.g. to implement

• Garland and Heckbert’s error quadric mesh decimationscheme

• Taubin’s λ|µ smoothing

• mesh parameterization using Floater’s weights

• a tool to visualize mesh curvatures

• Marching cubes

• Delaunay triangulation (2D)

• Loop subdivision

References

[1] U. Adamy, J. Giesen, and M. John. New techniques fortopologically correct surface reconstrucion. In Proc.11th IEEE Visualization Conference (VIS), pages 373–380, 2000.

[2] P. Alliez, D. Cohen-Steiner, O. Devillers, B. Levy, andM. Desbrun. Anisotropic polygonal remeshing. InSIGGRAPH proceedings, pages 485–493, 2003.

[3] P. Alliez and M. Desbrun. Progressive compressionfor lossless transmission of triangle meshes. In SIG-GRAPH Proceedings, 2001.

[4] P. Alliez, M. Meyer, and M. Desbrun. Interactive ge-ometry remeshing. In SIGGRAPH proceedings, pages347–354, 2002.

[5] N. Amenta and M. Bern. Surface reconstruction byvoronoi filtering. Discrete and Computational Geome-try, 22:481–504, 1999.

[6] N. Amenta, M. Bern, and M. Kamvysselis. A newvoronoi-based surface reconstruction algorithm. InSIGGRPAH 1998 Proceedings, pages 415–422, 1998.

[7] N. Amenta, S. Choi, and R. Kolluri. The power crust.In Sixth ACM Symposium on Solid Modeling and Ap-plications, pages 249–260, 2001.

[8] A. A. Ball and D. j. T. Storry. Conditions for tangentplane continuity over recursively generated b-splinesurface. ACM Transactions on Graphics, 7(2):83–102,1988.

[9] B. G. Baumgart. A polyhedron representation forcomputer vision. In National Computer Conference,pages 589–596, 1975.

[10] S. Campagna, L. Kobbelt, and H.-P. Seidel. Directededges — A scalable representation for triangle meshes.Journal of Graphics Tools: JGT, 3(4):1–12, 1998.

[11] M. P. Do Carmo. Differential Geometry of Curves andSurfaces. Prentice Hall College Div, 1976.

[12] E. Catmull and J. Clark. Recursively generatedB-spline surfaces on arbitrary topological meshes.Computer-Aided Design, 10:350–355, September 1978.

[13] A. Cavaretta, W. Dahmen, and C. Micchelli. Station-ary subdivision. In Memoirs of the AMS, volume 453,1991.

[14] CGAL - computational geometry algorithms library.http://www.cgal.org.

[15] C. K. Chui. An Introduction to Wavelets (WaveletAnalysis and Its Applications, Volume 1). AcademicPress, 1992.

[16] D. Cohen-Steiner and J.-M. Morvan. Restricted delau-nay triangulations and normal cycle. In ACM Sym-posium on Computational Geometry, pages 237–246,2003.

[17] B. Curless and M. Levoy. A volumetric method forbuilding complex models from range images. In SIG-GRAPH 96 proceedings, pages 303–312, 1996.

[18] I. Daubechies. Ten Lectures on Wavelets. SIAM, 1992.

[19] M. de Berg, M. van Krefeld, M. Overmars, andO. Schwarzkopf, editors. Computational Geometry.Springer, 2000.

[20] C. de Boor, K. Hoellig, and S. Riemenschneider. Boxsplines. Springer, 1993.

[21] M. Desbrun, M. Meyer, and P. Alliez. Intrinsic param-eterizations of surface meshes. In Eurographics 2002Proceedings, 2002.

[22] M. Desbrun, M. Meyer, P. Schroder, and A. H. Barr.Implicit fairing of irregular meshes using diffusion andcurvature flow. In SIGGRAPH 99 proceedings, pages317–324, 1999.

Page 13: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

[23] D. Doo and M. Sabin. Behaviour of recursive divisionsurfaces near extraordinary points. Computer-AidedDesign, 10:356–360, September 1978.

[24] N. Dyn. Subdivision schemes in computer aided ge-ometric design. In Advances in Numerical AnalysisII, Wavelets, Subdivision and Radial Functions, pages36–104, 1991.

[25] N. Dyn, J. A. Gregory, and D. Levin. Analysis ofuniform binary subdivision schemes for curve design.Constructive Approximation, 7:127–147, 1991.

[26] N. Dyn, K. Hormann, S.-J. Kim, and D. Levin. Opti-mizing 3d triangulations using discrete curvature anal-ysis. In Innovations in Applied Mathematics. Vander-bilt University Press, 2001.

[27] N. Dyn, D. Levin, and J. A. Gregory. A 4-point inter-polatory subdivision scheme for curve design. Com-puter Aided Geometric Design, 4:257–268, 1987.

[28] N. Dyn, D. Levin, and J. A. Gregory. A butterfly sub-division scheme for surface interpolation with tensioncontrol. ACM Transactions on Graphics, 9(2):160–169, 1990.

[29] M. Eck, T. DeRose, T. Duchamp, H. Hoppe,M. Lounsbery, and W. Stuetzle. Multiresolution anal-ysis of arbitrary meshes. In SIGGRAPH 95 Proceed-ings, pages 173–182, 1995.

[30] H. Edelsbrunner and E. P. Mucke. Three-dimensionalalpha shapes. ACM Trans. Graphics, 13:43–72, 1994.

[31] G. Farin. Curves and Surfaces for CAGD. MorganKaufmann, 2002.

[32] M. S. Floater. Parametrization and smooth approxi-mation of surface triangulations. Comp. Aided Geom.Design, 14:231–250, 1997.

[33] S. Fortune. A sweepline algorithm for voronoi dia-grams. Algorithmica, 2:153–174, 1987.

[34] M. Garland and P. Heckbert. Surface simplificationusing quadric error metrics. In SIGGRAPH 96 pro-ceedings, pages 209–216, 1996.

[35] M. Garland, A. Willmott, and P. Heckbert. Hierarchi-cal face clustering on polygonal surfaces. In Proceed-ings of ACM Symposium on Interactive 3D Graphics,pages 49–58, 2001.

[36] S. F. F. Gibson. Using distance maps for accuratesurface reconstruction in sampled volumes. In IEEEVolume Visualization Symposium, pages 23–30, 1998.

[37] C. Gotsman, S. Gumhold, and L. Kobbelt. Simpli-fication and compression of 3d-meshes. In A. Iske,E. Quak, and M. Floater, editors, Tutorials on mul-tiresolution in geometric modeling. Springer, 2002.

[38] X. Gu, S. Gortler, and H. Hoppe. Geometry images.In SIGGRAPH Proceedings, pages 355–361, 2002.

[39] L. Guibas and J. Stolfi. Primitives for the manipu-lation of general subdivisions and the computation ofvoronoi diagrams. ACM Trans. Graphics, 4:74–123,1985.

[40] S. Gumhold and W. Straßer. Real time compressionof triangle mesh connectivity. In SIGGRAPH proceed-ings, pages 133–140, 1998.

[41] I. Guskov, W. Sweldens, and P. Schroder. Multireso-lution signal processing for meshes. In SIGGRAPH 99proceedings, pages 325–334, 1999.

[42] I. Guskov, K. Vidimce, W. Sweldens, and P. Schroder.Normal meshes. In SIGGRAPH 00 Proceedings, pages95–102, 2000.

[43] B. Hamann. Curvature approximation for triangulatedsurfaces. In Geometric Modeling, Computing Supple-ment 8, pages 139–153. Springer, 1993.

[44] H. Hoppe. Progressive meshes. In SIGGRAPH 96proceedings, pages 99–108, 1996.

[45] H. Hoppe. View-dependent refinement of progressivemeshes. In SIGGRAPH 97 proceedings, pages 189–198,1997.

[46] H. Hoppe, T. DeRose, T. Duchamp, J. McDonald, andW. Stuetzle. Surface reconstruction from unorganizedpoints. In SIGGRAPH 92 Proceedings, pages 71–78,1992.

[47] M. Isenburg and M. Snoeyink. Face fixer: Compress-ing polygon meshes with properties. In SIGGRAPHproceedings, pages 263–270, 2002.

[48] T. Ju, F. Losasso, S. Schaefer, and J. Warren. Dualcontouring of hermite data. In Siggraph 02 Proceed-ings, pages 339–346, 2002.

[49] L. Kettner. Designing a data structure for polyhedralsurfaces. In Proc. of the 14th ACM Symp. on Compu-tational Geometry, pages 146–154, 1998.

[50] A. Khodakovsky and I. Guskov. Compression of nor-mal meshes. In Geometric Modeling for Scientific Vi-sualization, pages 189–206, 2002.

[51] J. Kim and S. Lee. Truly selective refinement of pro-gressive meshes. In Graphics Interface Proceedings,pages 101–110, 2001.

[52] L. Kobbelt. Interpolatory subdivision on open quadri-lateral nets with arbitrary topology. Computer Graph-ics Forum, 15(3):409–420, 1996.

[53] L. Kobbelt. Discrete fairing and variational subdivi-sion for freeform surface design. The Visual ComputerJournal, 2000.

[54] L. Kobbelt.√

3 subdivision. In SIGGRAPH 00 Pro-ceedings, pages 103–112, 2000.

[55] L. Kobbelt. Multiresolution techniques. In G. Farin,J. Hoschek, and M.-S. Kim, editors, The Handbook ofComputer Aided Geometric Design. Elsevier, 2002.

[56] L. Kobbelt, M. Botsch, U. Schwanecke, and H.-P. Sei-del. Feature sensitive surface extraction from volumedata. In SIGGRAPH 2001 proceedings, pages 57–66,2001.

[57] L. Kobbelt, S. Campagna, and H.-P. Seidel. A generalframework for mesh decimation. In Graphics Interface’98 Proceedings, 1998.

Page 14: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

[58] L. Kobbelt, S. Campagna, J. Vorsatz, and H.-P. Sei-del. Interactive multi-resolution modeling on arbitrarymeshes. In SIGGRAPH 98 proceedings, pages 105–114,1998.

[59] L. Kobbelt, J. Vorsatz, U. Labsik, and H.-P. Seidel.A shrink wrapping approach to remeshing polygonalsurfaces. In Eurographics 99 proceedings, pages 119–130, 1999.

[60] J. M. Lane and R. F. Riesenfeld. A theoretical de-velopment for the computer generation and display ofpiecewise polynomial surfaces. IEEE Trans. PatternAnalysis Machine Intell., 2(1):35–46, 1980.

[61] A. W. F. Lee, W. Sweldens, P. Schroder, L. Cowsar,and D. Dobkin. Maps: Multiresolution adaptive pa-rameterization of surfaces. In SIGGRAPH 98 Proceed-ings, pages 95–104, 1998.

[62] B. Levy, S. Petitjean, N. Ray, and J. Maillot. Leastsquares conformal maps for automatic texture atlasgeneration. In Siggraph 2002 Proceedings, pages 362–371, 2002.

[63] P. Lindstrom. Out-of-core simplification of largepolygonal models. In SIGGRAPH 00 proceedings,pages 259–262, 2000.

[64] C. T. Loop. Smooth subdivision surfaces based ontriangles. Master’s thesis, University of Utah, Depart-ment of Mathematics, 1987.

[65] W. E. Lorensen and H. E. Cline. Marching cubes: ahigh resolution 3d surface reconstruction algorithm. InSIGGRAPH 87 proceedings, pages 163–169, 1987.

[66] M. Mantila. An Introduction to Solid Modeling. Com-puter Science Press, Maryland, 1988.

[67] M. Meyer, M. Desbrun, P. Schroder, and Alan H. Barr.Discrete differential-geometry operators for triangu-lated 2-manifolds. In VisMath, 2002.

[68] OpenMesh. http://www.openmesh.org.

[69] K. Polthier and M. Schmies. Straightest geodesics onpolyhedral surfaces. In Mathematical Visualization,page 391, 1998.

[70] K. Polthier and M. Schmies. Geodesic flow on poly-hedral surfaces. In Proc. Joint EG - IEEE TCVGSymposium, pages 179–188, 1999.

[71] H. Prautzsch. Smoothness of subdivision surfaces atextraordinary points. Adv. Comp. Math., 9:377–390,1998.

[72] H. Prautzsch and W. Boehm. Box splines. In G. Farin,J. Hoschek, and M.-S. Kim, editors, The Handbook ofComputer Aided Geometric Design. Elsevier, 2002.

[73] H. Prautzsch, W. Boehm, and M. Paluszny. Bezierand B-spline techniques. Springer, 2002.

[74] Qhull. http://www.thesa.com/software/qhull/.

[75] N. Ray and B. Levy. Hierarchical least squares con-formal maps. In Eurographics 2003 Proceedings, 2003.

[76] U. Reif. A unified approach to subdivision algorithmsnear extraordinary vertices. Computer Aided Geomet-ric Design, 12(2):153–174, 1995.

[77] J. Rossignac. Edgebreaker: Connectivity compressionfor triangle meshes. IEEE Transactions on Visualiza-tion and Computer Graphics, 5(1):47–61, 1999.

[78] P. Sander, J. Snyder, S. Gortler, and H. Hoppe. Tex-ture mapping progressive meshes. In SIGGRAPH 2001proceedings, pages 409–416, 2001.

[79] P. V. Sander, S. J. Gortler, J. Snyder, and H. Hoppe.Signal-specialized parameterization. In EurographicsWorkshop on Rendering 2002 Proceedings, pages 87–100, 2002.

[80] P. Schroder, W. Sweldens, M. Cohen, T. DeRose, andD. Salesin. Wavelets in Computer Graphics. Siggraph96 Course Notes, 1996.

[81] W. Schroeder, J. Zarge, and W. Lorensen. Decimationof triangle meshes. In SIGGRAPH proceedings, pages65–70, 1992.

[82] A. Sheffer and E. de Sturler. Surface parameteriza-tion for meshing by triangulation flattening. In Proc.9th International Meshing Roundtable, pages 161–172,2000.

[83] A. Sheffer and J. Hart. Seamster: Inconspicuous low–distortion texture seam layout. In IEEE VisualizationProceedings, pages 291–298, 2002.

[84] J. R. Shewchuk. Delaunay refinement algorithms fortriangular mesh generation. Computational Geometry:Theory and Applications, 22(1-3):21–74, 2002.

[85] G. Strang and T. Nguyen. Wavelets and Filter Banks.Wellesley Cambridge, 1996.

[86] V. Surazhsky and C. Gotsman. Explicit surfaceremeshing. In Symposium on Geometry Processingproceedings, pages 20–30, 2003.

[87] W. Sweldens. The lifting scheme: A new philosophy inbiorthogonal wavelet constructions. In A. F. Laine andM. Unser, editors, Wavelet Applications in Signal andImage Processing III, pages 68–79. Proc. SPIE 2569,1995.

[88] W. Sweldens. The lifting scheme: A construction ofsecond generation wavelets. SIAM J. Math. Anal.,29(2):511–546, 1997.

[89] G. Taubin. A signal processing approach to fair surfacedesign. In SIGGRAPH 95 proceedings, pages 351–358,1995.

[90] G. Taubin, A. Gueziec, W. Horn, and F. Lazarus. Pro-gressive forest split compression. In SIGGRAPH pro-ceedings, pages 123–132, 1998.

[91] A. Taylor. Advanced calculus. Ginn and Company,1955.

[92] C. Touma and C. Gotsman. Triangle mesh compres-sion. In Graphics Interface, 1998.

[93] G. Turk. Re-tiling polygonal surfaces. In SIGGRAPHproceedings, pages 55–64, 1992.

Page 15: Teaching meshes, subdivision and multiresolution techniques · Teaching meshes, subdivision and multiresolution techniques Stephan Bischo , Leif Kobbelt Computer Graphics Group, RWTH

[94] W. T. Tutte. How to draw a graph. Proc. LondonMath. Soc., 13:743–768, 1963.

[95] L. Velho and D. Zorin. 4-8 subdivision. ComputerAided Geometric Design, Special Issue on SubdivisionTechniques, 18(5):397–427, 2001.

[96] J. D. Warren and H. Weimer. Subdivision Methods forGeometric Design. Morgan Kaufman, 2001.

[97] K. Weiler. The radial edge structure: A topologicalrepresentation for non-manifold geometric boundarymodeling. In Geometric Modeling for CAD Applica-tions, 1998.

[98] D. Zorin. Ck Continuity of Subdivision Surfaces. PhDthesis, California Institute of Technology, Departmentof Computer Sciences, 1996.

[99] D. Zorin et al. Subdivision for modeling and anima-tion. In SIGGRAPH 00 Course Notes, 2000.

[100] D. Zorin, P. Schroder, and W. Sweldens. Interpolat-ing subdivision for meshes with arbitrary topology. InSIGGRAPH 96 Proceedings, pages 189–192, 1996.

[101] D. Zorin, P. Schroder, and W. Sweldens. Interactivemultiresolution mesh editing. In SIGGRAPH 97 Pro-ceedings, pages 259–268, 1997.