Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global Edge Institute Tokyo Institute of Technology Hamid Laga
Today’s program – Introduction and applications – Differential properties of a surface – Tangent and Normal – Curvatures – Shape and curvature Discrete differential operators – Normal estimation Discrete Continuous approximation (with a quadric) – Curvature on meshes – Examples – Application to feature detection Mesh smoothing Mesh decimation Summary – Other topics in discrete geometry processing 2
Introduction – Feature detection – line features – Creases, – Features of interest Applications – Mesh segmentation – Non-photo rendering 3
Introduction – Parameterization and texture mapping 4
Differential properties of a surface – Parametric representation – S(u, v) Tangent plane – Any vector is the tangent plane is tangent to S(u,v) Normal vector 5
Differential properties of a surface – Normal plane – Any plane along the normal vector – Many normal planes a one point Normal section curve – Intersection of normal plane with the surface – 1D curve Normal curvature – The curvature of the normal section curve 6
1D curves revisited – Parametric representation of a curve C – C(t) = ( x(t), y(t) ) Unit tangent vector of C at a point t Curvature – Small R high curvature – Measures curve bending 7 R Osculating circle
Back to surfaces Normal curvature – The curvature of the normal section curve At a point (u,v) there are many normal sections – normal curvature not unique Principal curvatures Kmin and Kmax – Minimum and maximum of the normal curvatures 8
Surface curvatures Principal curvatures Kmin and Kmax – Minimum and maximum of the normal curvatures – Correspond to two orthogonal tangent directions Principal directions 9
Curvature analysis 10
Principal directions of curvature 11
Curvature analysis – Curvature analysis for local shape understanding – Kmin = kmax > 0 sphere – Kmin = Kmax = 0 planar – Kmin > o, Kmax > 0 elliptic – Kmin = 0, Kmax > 0 parabolic (ex. cyllindric surface) – Kmin 0 hyperbolic surface For global shape understanding – Analyze the distribution of the curvature (histogram) 12
Other curvatures – Gaussian curvature – Mean curvature 13
Today’s program – Introduction and applications – Differential properties of a surface – Tangent and Normal – Curvatures – Shape and curvature Discrete differential operators – Normal estimation Discrete Continuous approximation (with a quadric) – Curvature on meshes – Examples – Application to feature detection Mesh smoothing Mesh decimation Summary – Other topics in discrete geometry processing 14
Curvature on mesh – Approximate the curvature of (unknown) underlying surface – Continuous approximation Approximate the surface and compute continuous differential measures – Discrete approximation Approximate the differential measures for mesh 15
Normal estimation – Need surface normal defined on each vertex to: – Construct approximate surface – Rendering – Computing other differential properties Solution 1: – Average face normals Does not reflect face influence Solution 2: – Weighted average of face normals – Weights: Face area, angles at vertices – What happens at creases ? 16
Quadric approximation – Approximate the surface by a quadric – At each mesh vertex, using the surrounding faces: Compute the normal at the vertex average face normals Compute a tangent plane and a local coordinate system For each neighbor vertex compute its coordinates in local coord. system 17
Quadric approximation (cont’d) – Fit a quadric function approximating the vertices – To find the coefficients use least squares fit 18
Curvature estimation – Given the surface F, its principal curvatures are solution of: 19
Visualizing curvatures Approximation always results in some noise Solution – Truncate extreme values Can come for instance from division by very small area – Smooth More later Gaussian curvature 20
Visualizing curvatures Mean curvature 21
Today’s program – Introduction and applications – Differential properties of a surface – Tangent and Normal – Curvatures – Shape and curvature Discrete differential operators – Normal estimation Discrete Continuous approximation (with a quadric) – Curvature on meshes – Examples – Application to feature detection Mesh smoothing Mesh decimation Summary – Other topics in discrete geometry processing 22
Mesh smoothing – Moving mesh vertices on surface to reduce the curvature variation and remove the noise. – Similar to high frequency elimination in signal processing. Note – Can’t reduce overall Gauss curvature Why? Use to: – Reduce noise – Improve mesh triangle shape 23
Laplacian smoothing 24 One-ring Neighborhood of v i
Shrinkage and over smoothing – Solutions – Project back to surface Keep original mesh and project each vertex to it Project to approximating surface (ex. quadric) – Other extensions Add weights reflecting mesh shape 25
Laplacian + expansion – Define – Modified formula – slightly bigger than Typically =0.67 = 0.60 – Corresponds to expanding Gauss filter to the second term 26
Comparison – Drawback – Slow – No stopping criteria 27
Bilateral denoising – Move vertices in normal direction – Use image processing denoising weights – One iteration only 28
Smoothing – Can apply to any surface property – Curvature, normals, physical properties Can use Gauss filter with small number of iterations 29
Example – smoothing mean curvature 30
Summary – Differential properties of surfaces – Curvature analysis can be used for: Pre-processing (smoothing,…) Shape understanding There are many other applications of differential geometry – Mesh parameterization – Mesh simplification – Shape analysis Symmetry and regular structure detection 31
Online resources – This course website: /cg_2008.php /cg_2008.php Aknowledgment – Materials of this course are based on: Siggraph 2007 and Eurographics 2006 courses on Geometry Processing using polygonal meshes: – Alla Sheffer’s course on Digital Geometry Processing –