Digital Geometry Processing with Discrete Exterior

Digital Geometry Processing with Discrete Exterior

DIGITAL GEOMETRY PROCESSING WITH DISCRETE EXTERIOR CALCULUS Keenan Crane Last updated: January 2, 2014 SIGGRAPH 2013 Lecturers: Fernando de Goes, Keenan Crane, Mathieu Desbrun, Peter Schroder¨ SGP 2013 Lecturers: Etienne Vouga, Keenan Crane Contents Chapter 1. Introduction 3 1.1. Disclaimer 5 1.2. Copyright 5 1.3. Acknowledgements 5 Chapter 2. A Quick and Dirty Introduction to Differential Geometry 6 2.1. The Geometry of Surfaces 6 2.2. Derivatives and Tangent Vectors 9 2.3. The Geometry of Curves 12 2.4. Curvature of Surfaces 15 2.5. Geometry in Coordinates 19 Chapter 3. A Quick and Dirty Introduction to Exterior Calculus 23 3.1. Vectors and 1-Forms 23 3.2. Differential Forms and the Wedge Product 27 3.3. Hodge Duality 31 3.4. Differential Operators 36 3.5. Integration and Stokes’ Theorem 42 3.6. Discrete Exterior Calculus 46 Chapter 4. Topological Invariants of Discrete Surfaces 53 4.1. Euler Characteristic 53 4.2. Regular Meshes and Average Valence 54 4.3. Gauss-Bonnet 55 Chapter 5. Normals of Discrete Surfaces 57 5.1. Vector Area 57 5.2. Area Gradient 60 5.3. Volume Gradient 62 5.4. Other Definitions 63 Chapter 6. The Laplacian 66 6.1. Basic Properties 66 6.2. Discretization via FEM 69 6.3. Discretization via DEC 73 6.4. Meshes and Matrices 75 6.5. The Poisson Equation 77 6.6. Implicit Mean Curvature Flow 78 Chapter 7. Surface Parameterization 81 7.1. Conformal Structure 83 7.2. The Cauchy-Riemann Equation 84 7.3. Differential Forms on a Riemann Surface 85 1 CONTENTS 2 7.4. Conformal Parameterization 87 7.5. Eigenvectors, Eigenvalues, and Optimization 90 Chapter 8. Vector Field Decomposition and Design 96 8.1. Hodge Decomposition 97 8.2. Homology Generators and Harmonic Bases 104 8.3. Connections and Parallel Transport 108 8.4. Vector Field Design 115 Chapter 9. Conclusion 119 Bibliography 120 Appendix A. A Nice Formula for Normal Curvature 122 Appendix B. Why Are Principal Directions Orthogonal? 124 CHAPTER 1 Introduction q˜4 q ˜ 4 ˜ q3 q3 q5 q5 ˜ q˜ q2 q1 q2 1 These notes provide an introduction to working with real-world geometric data, expressed in the language of discrete exterior calculus (DEC). DEC is a simple, flexible, and efficient frame- work which provides a unified platform for geometry processing. The notes provide essential mathematical background as well as a large array of real-world examples, with an emphasis on applications and implementation. The material should be accessible to anyone with some exposure to basic linear algebra and vector calculus, though most of the key concepts are reviewed as needed. Coding exercises depend on a basic knowledge of C++, though knowledge of any programming language is likely sufficient: we do not make heavy use of paradigms like inheritance, templates, etc. The notes also provide guided written exercises that can be used to deepen understanding of the material. Why use exterior calculus? There are, after all, many other ways to describe algorithms for mesh processing. One reason has to do with language: the exterior calculus of differential forms is, to a large degree, the modern language of differential geometry and mathematical physics. By learning to speak this language we can draw on a wealth of existing knowledge to develop new algorithms, and better understand current algorithms in terms of a well-developed theory. It also allows us to easily write down—and implement—many seemingly disparate algorithms in a single, unified framework. In these notes, for instance, we’ll see how a large number of basic geometry processing tasks (smoothing, parameterization, vector field design, etc.) can be expressed in only a few lines of code, typically by solving a simple Poisson equation. There is another good reason for taking this approach, beyond simply “saying the same thing in a different way.” By first formulating algorithms in the smooth geometric setting, we can ensure that essential structures are subsequently preserved at the discrete level. As one elementary example, consider the vertex depicted above. If we take the sum of the tip angles qi, we get a number that is (in general) different from 2p. On any smooth surface, however, we expect this number to be exactly 2p—said in a differential-geometric way: the tangent space at any point should consist of a “whole circle” of directions. Of course, if we consider finer and finer approximations of 3 1. INTRODUCTION 4 a smooth surface by a triangle mesh, the vertex will eventually flatten out and our angle sum will indeed approach 2p as expected. But there is an attractive alternative even at the coarse level: we can redefine the meaning of “angle” so that it always yields the expected result. In particular, let 2p s := ∑i qi be the ratio between the angle sum 2p that we anticipate in the smooth setting, and the Euclidean angle sum ∑i qi exhibited by our finite mesh, and consider the augmented angles q˜i := sqi. In other words, we simply normalize the usual Euclidean angles such that they sum to exactly 2p, no matter how coarse our mesh is: ˜ ∑ qi = s ∑ qi = 2p. i i From here we can carry out all the rest of our calculations as usual, using the augmented or “discrete” angles q˜i rather than the usual Euclidean angles qi. Conceptually, we can imagine that each vertex has been smoothed out slightly, effectively pushing the curvature of our surface into otherwise flat triangles. This particular convention may not always (or even often) be useful, but in problems where the tangent space structure of a surface is critical it leads to highly effective algorithms for mesh processing (see in particular [KCPS13]). This message is one theme we’ll encounter frequently in these notes: there is no one “right” way to discretize a given geometric quantity, but rather many different ways, each suited to a particular purpose. The hope, then, is that one can discretize a whole theory such that all the pieces fit together nicely. DEC is one such theory, which has proven to be highly successful at preserving the homological structure of a surface, as we’ll discuss in Chapter 8. The remainder of these notes proceeds as follows. We first give an overview of the differential geometry of surfaces (Chapter 2), using a description that leads naturally into a discussion of smooth exterior calculus (Chapter 3) and its discretization via DEC. We then study some basic properties of discrete surfaces (Chapter 4) and their normals (Chapter 5), leading up to an equation that is central to our applications: the discrete Poisson equation (Chapter 6). The remaining chapters investigate various geometry processing applications, introducing essential geometric concepts along the way (conformal structure, homology, parallel transport, etc.). Coding exercises refer to a supplementary C++ framework, available from https://github.com/dgpdec/course which includes basic mesh data structures, linear algebra libraries, and visualization tools—any similar framework or library would be suitable for completing these exercises. Solutions to written exercises are available upon request. Our goal throughout these notes was to describe every concept in terms of a concrete geometric picture—we have tried as much as possible to avoid abstract algebraic arguments. Likewise, to get the most out of the written exercises one should try to make an intuitive geometric argument first, and only later fill in the formal details. 1.3. ACKNOWLEDGEMENTS 5 1.1. Disclaimer ACHTUNG! These notes are very much a work in progress and there will be errors. As always, your brain is the best tool for determining whether or not a statement is actually true! If you do encounter errors, please do not hesitate to contact the author (noting the page number and the relevant version of the notes). 1.2. Copyright Images were produced solely by the author with the exception of the Stanford Bunny mesh, which is provided courtesy of the Stanford Graphics Computer Laboratory. The remaining images are licensed under the Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/ by-nc-nd/3.0/. 1.3. Acknowledgements These notes grew out of a Caltech course on discrete differential geometry (DDG) over the past few years. Peter Schroder,¨ Max Wardetzky, and Clarisse Weischedel provided invaluable feedback for the first draft of many of these notes; Mathieu Desbrun, Fernando de Goes, Peter Schroder,¨ and Corentin Wallez provided extensive feedback on the SIGGRAPH 2013 revision. Thanks to Mark Pauly’s group at EPFL for suffering through (very) early versions of these lectures, and to Katherine Breeden for musing with me about eigenvalue problems. Thanks also to those who have pointed out errors over the years: Mirela Ben-Chen, Nina Amenta, Chris Wojtan, Yuliy Schwarzburg, Robert Luo, Andrew Butts, Scott Livingston, Christopher Batty, Howard Cheng, Gilles-Philippe Paille,´ Jean-Franc¸ois Gagnon, Nicolas Gallego-Ortiz, Henrique Teles Maia, and all the students in CS177 at Caltech, as well as others who I am currently forgetting! Most of the algorithms described in these notes appear in previous literature. The method for mean curvature flow appears in [DMSB99]. The conformal parameterization scheme described in Chapter 7 is based on [MTAD08]. The approach to discrete Helmholtz-Hodge decomposition described in Chapter 8 is based on the scheme described in [DKT08]. The method for computing smooth vector fields with prescribed singularities is based on [CDS10]; the improvement using Helmholtz-Hodge decomposition (Section 8.4.1) is previously unpublished and due to Fernando de Goes [dGC10]. More material on DEC itself can be found in a variety of sources [Hir03, DHLM05, DKT08].

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    125 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us