330 likes | 573 Views
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing. Hamid Laga hamid@img.cs.titech.ac.jp http://www.img.cs.titech.ac.jp/~hamid/. Office: South 6- 401B-C Global Edge Institute Tokyo Institute of Technology.
E N D
Geometric Modeling using Polygonal MeshesLecture 3: Discrete Differential Geometry and its Application to Mesh Processing Hamid Laga hamid@img.cs.titech.ac.jp http://www.img.cs.titech.ac.jp/~hamid/ Office: South 6- 401B-C Global Edge Institute Tokyo Institute of Technology
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
Introduction • Featuredetection • line features • Creases, • Features of interest • Applications • Mesh segmentation • Non-photo rendering
Introduction • Parameterization and texture mapping
Differential properties of a surface • Parametric representation • S(u, v) • Tangent plane • Any vector is the tangent planeis tangent to S(u,v) • Normal vector
Differential properties of a surface • Normal plane • Any plane along the normal vector • Many normal planes aone point • Normal section curve • Intersection of normalplane with the surface • 1D curve • Normal curvature • The curvature of the normal section curve
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 R Osculating circle
Back to surfaces • Normal curvature • The curvature of the normal section curve • At a point (u,v) thereare many normal sections • normal curvaturenot unique • Principal curvatures Kmin and Kmax • Minimum and maximum of the normal curvatures
Surface curvatures • Principal curvatures Kmin and Kmax • Minimum and maximum of the normal curvatures • Correspond to two orthogonal tangent directions • Principal directions
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, Kmax > 0 hyperbolic surface • For global shape understanding • Analyze the distribution of the curvature (histogram)
Other curvatures • Gaussian curvature • Mean curvature
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
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
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 ?
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 itscoordinates in localcoord. system
Quadric approximation (cont’d) • Fit a quadric function approximating the vertices • To find the coefficients use least squares fit
Curvature estimation • Given the surface F, its principal curvatures are solution of:
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
Visualizing curvatures • Mean curvature
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
Mesh smoothing • 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
Laplacian smoothing One-ring Neighborhood of vi
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
Laplacian + expansion • Define • Modified formula • slightly bigger than • Typically =0.67 = 0.60 • Corresponds to expanding Gauss filter to the second term
Comparison • Drawback • Slow • No stopping criteria
Bilateral denoising • Move verticesin normaldirection • Use image processing denoising weights • One iteration only
Smoothing • Can apply to any surface property • Curvature, normals, physical properties • Can use Gauss filter with small number of iterations
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
Online resources • This course website: • http://www.img.cs.titech.ac.jp/~hamid/courses/cg2008/cg_2008.php • Aknowledgment • Materials of this course are based on: • Siggraph 2007 and Eurographics 2006 courses on Geometry Processing using polygonal meshes: • http://www.agg.ethz.ch/publications/course_notes • Alla Sheffer’s course on Digital Geometry Processing • http://www.cs.ubc.ca/~sheffa/dgp/