Shape Modeling and Geometry Processing

Similar documents
05 - Surfaces. Acknowledgements: Olga Sorkine-Hornung. CSCI-GA Geometric Modeling - Daniele Panozzo

CS 523: Computer Graphics, Spring Differential Geometry of Surfaces

CS 523: Computer Graphics, Spring Shape Modeling. Differential Geometry of Surfaces

Shape Modeling. Differential Geometry Primer Smooth Definitions Discrete Theory in a Nutshell. CS 523: Computer Graphics, Spring 2011

(Discrete) Differential Geometry

04 - Normal Estimation, Curves

Surfaces: notes on Geometry & Topology

Laplacian Operator and Smoothing

Lectures in Discrete Differential Geometry 3 Discrete Surfaces

Discrete Differential Geometry: An Applied Introduction

Digital Geometry Processing Parameterization I

DISCRETE DIFFERENTIAL GEOMETRY: AN APPLIED INTRODUCTION Keenan Crane CMU /858B Fall 2017

Parameterization of Meshes

CS 177 Homework 1. Julian Panetta. October 22, We want to show for any polygonal disk consisting of vertex set V, edge set E, and face set F:

Introduction to geometry

274 Curves on Surfaces, Lecture 5

GAUSS-BONNET FOR DISCRETE SURFACES

Face-based Estimations of Curvatures on Triangle Meshes

Mesh Processing Pipeline

A GEOMETRIC APPROACH TO CURVATURE ESTIMATION ON TRIANGULATED 3D SHAPES

Geometric Modeling Assignment 3: Discrete Differential Quantities

The World Is Not Flat: An Introduction to Modern Geometry

Smoothing & Fairing. Mario Botsch

1.7.1 Laplacian Smoothing

Let and be a differentiable function. Let Then be the level surface given by

Geodesics in heat: A new approach to computing distance

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

A Primer on Laplacians. Max Wardetzky. Institute for Numerical and Applied Mathematics Georg-August Universität Göttingen, Germany

What is Geometry Processing? Understanding the math of 3D shape and applying that math to discrete shape

Geometric Modeling Mortenson Chapter 11. Complex Model Construction

Differential Geometry: Circle Patterns (Part 1) [Discrete Conformal Mappinngs via Circle Patterns. Kharevych, Springborn and Schröder]

Geometry and Gravitation

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

Invariant Measures. The Smooth Approach

SOLVING PARTIAL DIFFERENTIAL EQUATIONS ON POINT CLOUDS

Three Points Make a Triangle Or a Circle

Preliminary Mathematics of Geometric Modeling (3)

CS 468 (Spring 2013) Discrete Differential Geometry

Hyplane Polyhedral Models of Hyperbolic Plane

Lectures 19: The Gauss-Bonnet Theorem I. Table of contents

CS 468 (Spring 2013) Discrete Differential Geometry

Computing Curvature CS468 Lecture 8 Notes

Greedy Routing in Wireless Networks. Jie Gao Stony Brook University

Geometry Processing TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

Discrete Surfaces. David Gu. Tsinghua University. Tsinghua University. 1 Mathematics Science Center

Impulse Gauss Curvatures 2002 SSHE-MA Conference. Howard Iseri Mansfield University

Surface Mesh Generation

Distance Functions 1

SIMPLICIAL ENERGY AND SIMPLICIAL HARMONIC MAPS

Triangle meshes I. CS 4620 Lecture 2

Euler s Theorem. Brett Chenoweth. February 26, 2013

Discrete minimal surfaces of Koebe type

Geodesic and curvature of piecewise flat Finsler surfaces

Motivation. Parametric Curves (later Surfaces) Outline. Tangents, Normals, Binormals. Arclength. Advanced Computer Graphics (Fall 2010)

Justin Solomon MIT, Spring Numerical Geometry of Nonrigid Shapes

Surface Parameterization

Parameterization. Michael S. Floater. November 10, 2011

Teichmüller Space and Fenchel-Nielsen Coordinates

Def De orma f tion orma Disney/Pixar

Edge and local feature detection - 2. Importance of edge detection in computer vision

Mathematical Research Letters 1, (1994) MÖBIUS CONE STRUCTURES ON 3-DIMENSIONAL MANIFOLDS. Feng Luo

Optimal Möbius Transformation for Information Visualization and Meshing

Notes on Spherical Geometry

Measuring Lengths The First Fundamental Form

The topology of limits of embedded minimal disks. (joint work with Jacob Bernstein) Giuseppe Tinaglia King s College London

THE HALF-EDGE DATA STRUCTURE MODELING AND ANIMATION

Subdivision overview

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

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

Greedy Routing with Guaranteed Delivery Using Ricci Flow

Parameterization II Some slides from the Mesh Parameterization Course from Siggraph Asia

Gaussian and Mean Curvature Planar points: Zero Gaussian curvature and zero mean curvature Tangent plane intersects surface at infinity points Gauss C

Geometric structures on 2-orbifolds

Geometric Modeling and Processing

Invariant Measures of Convex Sets. Eitan Grinspun, Columbia University Peter Schröder, Caltech

GEOMETRY OF SURFACES. b3 course Nigel Hitchin

Fast marching methods

3D Modeling Parametric Curves & Surfaces

Let be a function. We say, is a plane curve given by the. Let a curve be given by function where is differentiable with continuous.

Discrete Differential Geometry. Differential Geometry

WWW links for Mathematics 138A notes

Parameterization of triangular meshes

Computational Geometry

Background for Surface Integration

Geometry of Flat Surfaces

THE GEOMETRIC HEAT EQUATION AND SURFACE FAIRING

Spider: A robust curvature estimator for noisy, irregular meshes

Tutorial 4. Differential Geometry I - Curves

Inversive Plane Geometry

COMPUTING SURFACE UNIFORMIZATION USING DISCRETE BELTRAMI FLOW

Saab. Kyle McDonald. Polygon Meshes

Bands: A Physical Data Structure to Represent Both Orientable and Non-Orientable 2-Manifold Meshes

Parameterization of Triangular Meshes with Virtual Boundaries

Tangent & normal vectors The arc-length parameterization of a 2D curve The curvature of a 2D curve

Subdivision Surfaces

Intro to Modeling Modeling in 3D

Geometric modeling 1

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

Real-Time Shape Editing using Radial Basis Functions

Lower Bounds on Mean Curvature of Closed Curves Contained in Convex Boundaries

Transcription:

252-0538-00L, Spring 2018 Shape Modeling and Geometry Processing Discrete Differential Geometry

Differential Geometry Motivation Formalize geometric properties of shapes Roi Poranne # 2

Differential Geometry Motivation Formalize geometric properties of shapes Smoothness Roi Poranne # 3

Differential Geometry Motivation Formalize geometric properties of shapes Smoothness Deformation Roi Poranne # 4

Differential Geometry Motivation Formalize geometric properties of shapes Smoothness Deformation Mappings Roi Poranne # 5

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood Roi Poranne # 6

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point Roi Poranne # 7

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point Roi Poranne # 8

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood continuous 1-1 mapping manifold point Roi Poranne # 9

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point continuous 1-1 mapping non-manifold point Roi Poranne # 10

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood manifold point continuous 1-1 mapping non-manifold point x Roi Poranne # 11

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood Roi Poranne # 12

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood continuous 1-1 mapping Roi Poranne # 13

Differential Geometry Basics Geometry of manifolds Things that can be explored locally point + neighborhood v continuous 1-1 mapping u If a sufficiently smooth mapping can be constructed, we can look at its first and second derivatives Tangents, normals, curvatures, curve angles Distances, topology Roi Poranne # 14

Differential Geometry of Curves

Planar Curves γ t = x t y t, t t 0, t 1 Roi Poranne # 16

Planar Curves γ t = x t y t, t t 0, t 1 Roi Poranne # 17

Planar Curves γ t = x t y t, t t 0, t 1 γ t = t t 2 Roi Poranne # 18

Planar Curves γ t = x t y t, t t 0, t 1 γ t = t t 2 γ t = t2 t 4 Roi Poranne # 19

Arc Length Parameterization Same curve has many parameterizations! Arc-length: equal speed of the parameter along the curve L(γ(t 1 ), γ(t 2 )) = t 1 t 2 Roi Poranne # 20

Secant A line through two points on the curve. Roi Poranne # 21

Secant A line through two points on the curve. Roi Poranne # 22

Secant A line through two points on the curve. Roi Poranne # 23

Tangent A line through two points on the curve. Roi Poranne # 24

Tangent The limit secant as two points come together. Roi Poranne # 25

Secant and Tangent Secant: line through p(p) p(q) Tangent:γ (P) = (x (P), y (P), ) T Roi Poranne # 26

Arc Length Parameterization Same curve has many parameterizations! Arc-length: equal speed of the parameter along the curve L(γ(t 1 ), γ(t 2 )) = t 1 t 2 γ t = 1 Roi Poranne # 27

Arc Length Parameterization Same curve has many parameterizations! Arc-length: equal speed of the parameter along the curve L(γ(t 1 What ), γ(t 2 it )) γ= t t is 1 not t 2 arc length? γ t = 1 Roi Poranne # 28

Arc Length Parameterization Re Curve Reparamterization γ(t) γ(p(t)) p: t 0, t 1 t 0, t 1 p t 0 Arc length reparamterization γ p t = 1 Roi Poranne # 29

Arc Length Parameterization Re Arc length reparamterization γ p t = 1 Let t q t = න Then t0 γ t p t = q 1 t Roi Poranne # 30

Tangent, normal, curvature Osculating circle p Roi Poranne # 31

Curvature Circle through three points on the curve Roi Poranne # 32

Curvature The limit circle as points come together. Roi Poranne # 33

Curvature The limit circle as points come together. Curvature κ = 1 r Roi Poranne # 34

Curving left or right Signed Curvature + Roi Poranne # 35

Gauss map n(t) Point on curve maps to point on unit circle. n t S 1 Roi Poranne # 36

Curvature = change in normal direction Absolute curvature (assuming arc length) via the Gauss map curve Gauss map curve Gauss map Roi Poranne # 37

Curvature Normal Assume t is arc-length parameter p ( t) nˆ( t) nˆ ( t) p(t) p (t) A multiresolution framework for variational subdivision, Kobbelt and Schröder, ACM TOG 17(4), 1998 Roi Poranne # 38

Curvature Normal Assume t is arc-length parameter p ( t) nˆ( t) p(t) nˆ ( t) p (t) The curvature defines the planar curve shape up to rotation and translation! Roi Poranne # 39

Turning Number, k Roi Poranne # 40

Turning Number, k Roi Poranne # 41

Turning Number Theorem +2 2 For a closed curve, the integral of curvature is an integer multiple of 2. +4 0 Roi Poranne # 42

Discrete Planar Curves Roi Poranne # 43

Discrete Planar Curves Piecewise linear curves Not smooth at vertices Can t take derivatives Goal :Generalize notions From the smooth world for the discrete case There is no one single way! Roi Poranne # 44

Sampling Connection between discrete and smooth Finite number of vertices each lying on the curve, connected by straight edges. Roi Poranne # 45

The Length of a Discrete Curve Sum of edge lengths p 2 p 3 p 4 p 1 Roi Poranne # 46

The Length of a Continuous Curve limit over a refinement sequence h = max edge length Roi Poranne # 47

Tangents, Normals On edges tangent is the unit vector along edge normal is the perpendicular vector Roi Poranne # 48

Many options Tangents, Normals On vertices Roi Poranne # 49

Many options Tangents, Normals On vertices Average the adjacent edge normals Roi Poranne # 50

Many options Tangents, Normals On vertices Average the adjacent edge normals Weighting by edge lengths Roi Poranne # 51

Many options Tangents, Normals On vertices Average the adjacent edge normals Weighting by edge lengths Roi Poranne # 52

Many options Tangents, Normals On vertices Average the adjacent edge normals Weighting by edge lengths Roi Poranne # 53

Curvature of a Discrete Curve Again: change in normal direction no change along each edge curvature is zero along edges Roi Poranne # 54

Curvature of a Discrete Curve Again: change in normal direction no change along each edge curvature is zero along edges Roi Poranne # 55

Curvature of a Discrete Curve Again: change in normal direction normal changes at vertices record the turning angle! Roi Poranne # 56

Curvature of a Discrete Curve Again: change in normal direction normal changes at vertices record the turning angle! Roi Poranne # 57

Curvature of a Discrete Curve Again: change in normal direction normal changes at vertices record the turning angle! Roi Poranne # 58

Curvature of a Discrete Curve Again: change in normal direction same as the turning angle between the edges Roi Poranne # 59

Curvature of a Discrete Curve Zero along the edges Turning angle at the vertices = the change in normal direction 1 2 1, 2 > 0, 3 < 0 3 Roi Poranne # 60

Total Signed Curvature Sum of turning angles 1 2 3 Roi Poranne # 61

Discrete Gauss Map Edges map to points, vertices map to arcs. Roi Poranne # 62

Discrete Gauss Map Turning number well defined for discrete curves. Roi Poranne # 63

Discrete Turning Number Theorem For a closed curve, the total signed curvature is an integer multiple of 2. proof: sum of exterior angles Roi Poranne # 64

Turning Number Theorem Continuous world Discrete world k: Roi Poranne # 65

Curvature is scale dependent is scale-independent Roi Poranne # 66

Discrete Curvature Integrated Quantity! Cannot view α i as pointwise curvature 1 2 It is integrated curvature over a local area associated with vertex i Roi Poranne # 67

Discrete Curvature Integrated Quantity! Integrated over a local area associated with vertex i A 1 1 2 Roi Poranne # 68

Discrete Curvature Integrated Quantity! Integrated over a local area associated with vertex i 1 2 A 1 A 2 Roi Poranne # 69

Discrete Curvature Integrated Quantity! Integrated over a local area associated with vertex i 1 2 A 1 A 2 The vertex areas A i form a covering of the curve. They are pairwise disjoint (except endpoints). Roi Poranne # 70

Discrete analogues Arbitrary discrete curve total signed curvature obeys discrete turning number theorem even coarse mesh (curve) which continuous theorems to preserve? that depends on the application Roi Poranne # 71

Convergence length of sampled polygon approaches length of smooth curve in general, discrete measures approaches continuous analogues How to refine? depends on discrete operator pathological sequences may exist in what sense does the operator converge? (pointwise, L 2 ; linear, quadratic) Roi Poranne # 72

Differential Geometry of Surfaces

Surfaces, Parametric Form Continuous surface n p u p v p(u,v) Tangent plane at point p(u,v) is spanned by v These vectors don t have to be orthogonal u Roi Poranne # 74

Isoparametric Lines Lines on the surface when keeping one parameter fixed v u Roi Poranne # 75

Surfaces, Parametric Form Continuous surface n p u p v p(u,v) Tangent plane at point p(u,v) is spanned by v These vectors don t have to be orthogonal u Roi Poranne # 76

Surface Normals Surface normal: n p u p v p(u,v) v u Roi Poranne # 77

Surface Normals Surface normal: n p u p v p(u,v) Regular parameterization v u Roi Poranne # 78

Normal Curvature Roi Poranne # 79

Normal Curvature n p u p v t p t in the tangent plane (if p u and p v are orthogonal): t Tangent plane Roi Poranne # 80

Normal Curvature p u n p v The curve is the intersection of the surface with the plane through n and t. t p Normal curvature: n ( ) = ( (p)) Roi Poranne # 81

Surface Curvatures Principal curvatures Minimal curvature Maximal curvature Mean curvature Gaussian curvature Roi Poranne # 82

Principal Directions Principal directions: tangent vectors corresponding to max and min t 2 t 1 min tangent plane min curvature max curvature Roi Poranne # 83

Principal Directions Principal directions: tangent vectors corresponding to max and min What can we say about the principal directions? t 2 t 1 min tangent plane min curvature max curvature Roi Poranne # 84

Principal Directions Euler s Theorem: Principal directions are orthogonal. Roi Poranne # 85

Principal Directions Roi Poranne # 86

Mean Curvature Roi Poranne # 87

Gaussian Curvature Classification A point p on the surface is called Elliptic, if K > 0 Parabolic, if K = 0 Hyperbolic, if K < 0 Developable surface iff K = 0 Roi Poranne # 88

Local Surface Shape By Curvatures K > 0, 1 = 2 K = 0 Isotropic: all directions are principal directions spherical (umbilical) planar K > 0 K = 0 K < 0 Anisotropic: 2 distinct principal directions 1 > 0, 2 > 0 2 > 0 1 = 0 2 > 0 1 < 0 elliptic parabolic hyperbolic Roi Poranne # 89

Theorema Egregium Remarkable theorem Roi Poranne # 90

Reminder: Euler-Poincaré Formula For orientable meshes: c = number of connected components g = genus b = number of boundary loops Roi Poranne # 91

Gauss-Bonnet Theorem For a closed surface M: Roi Poranne # 92

Gauss-Bonnet Theorem For a closed surface M: Compare with planar curves: Roi Poranne # 93

Fundamental Forms First fundamental form Roi Poranne # 94

Fundamental Forms I is a generalization of the dot product allows to measure length, angles, area, curvature arc element area element Roi Poranne # 95

Intrinsic Geometry Properties of the surface that only depend on the first fundamental form length angles Gaussian curvature (Theorema Egregium) Roi Poranne # 96

Fundamental Forms First fundamental form Second fundamental form Together, they define a surface (if some compatibility conditions hold) Roi Poranne # 97

Laplace Operator Laplace operator gradient operator 2nd partial derivatives function in Euclidean space divergence operator Roi Poranne # 98

Laplace-Beltrami Operator Extension of Laplace to functions on manifolds Laplace- Beltrami gradient operator function on surface M divergence operator Roi Poranne # 99

Laplace-Beltrami Operator For coordinate functions: p x, y, z = (x, y, z) Laplace- Beltrami gradient operator mean curvature function on surface M divergence operator unit surface normal Roi Poranne # 100

Differential Geometry on Meshes Assumption: meshes are piecewise linear approximations of smooth surfaces Can try fitting a smooth surface locally (say, a polynomial) and find differential quantities analytically But: it is often too slow for interactive setting and error prone Roi Poranne # 101

Discrete Differential Operators Approach: approximate differential properties at point v as spatial average over local mesh neighborhood N(v) where typically v = mesh vertex N k (v) = k-ring neighborhood Roi Poranne # 102

Discrete Laplace-Beltrami v i v j Roi Poranne # 103

Discrete Laplace-Beltrami Uniform discretization: L(v) or v Depends only on connectivity = simple and efficient v i Bad approximation for irregular triangulations v j Roi Poranne # 104

Discrete Laplace-Beltrami Intuition for uniform discretization Roi Poranne # 105

Discrete Laplace-Beltrami Intuition for uniform discretization v i-1 v i v i+1 Roi Poranne # 106

Discrete Laplace-Beltrami Intuition for uniform discretization v j1 v j2 v j6 v i v j3 v j5 v j4 Roi Poranne # 107

Discrete Laplace-Beltrami Cotangent formula v i v i A i ij v i v j v j v j ij Roi Poranne # 108

Discrete Laplace-Beltrami Cotangent formula Accounts for mesh geometry Potentially negative/ infinite weights Roi Poranne # 109

Discrete Laplace-Beltrami Cotangent formula Can be derived using linear Finite Elements Nice property: gives zero for planar 1-rings! Roi Poranne # 110

Discrete Laplace-Beltrami v i Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Normal v j Roi Poranne # 111

Discrete Laplace-Beltrami v i Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Normal v j For nearly equal edge lengths Uniform Cotangent Roi Poranne # 112

Discrete Laplace-Beltrami v i Uniform Laplacian L u (v i ) Cotangent Laplacian L c (v i ) Normal v j For nearly equal edge lengths Uniform Cotangent Cotan Laplacian allows computing discrete normal Roi Poranne # 113

Mean curvature Discrete Curvatures Gaussian curvature A i j Principal curvatures Roi Poranne # 114

Discrete Gauss-Bonnet Theorem Total Gaussian curvature is fixed for a given topology Roi Poranne # 115

Discrete Gauss-Bonnet Theorem Total Gaussian curvature is fixed for a given topology Roi Poranne # 116

Discrete Gauss-Bonnet Theorem Total Gaussian curvature is fixed for a given topology Roi Poranne # 117

Example: Discrete Mean Curvature Roi Poranne # 118

Links and Literature M. Meyer, M. Desbrun, P. Schroeder, A. Barr Discrete Differential-Geometry Operators for Triangulated 2-Manifolds, VisMath, 2002 Roi Poranne # 119

Links and Literature libigl implements many discrete differential operators See the tutorial! http://libigl.github.io/libigl/tut orial/tutorial.html principal directions Roi Poranne # 120

Thank You