Você está na página 1de 8

The Big Picture

Meshing, an essential preprocessing step


„ For surface representation
Meshing: ¾ complex geometry
A (Biased) Crash Course ¾ with a few basic geometric primitives
„ For simulation of physical phenomena
¾ realistic/accurate animation of fluid, deformable
solids, electromagnetism
Mathieu Desbrun − often modeled as PDE
¾ domain discretization
− Then FEM/FVM to integrate PDE in space (& time)
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course ACM SIGGRAPH 2005 Course 2

The Big Picture The Big Picture


Meshing, an essential preprocessing step Meshing, an essential preprocessing step
„ For surface representation „ For surface representation
¾ complex geometry ¾ complex geometry
¾ with a few basic geometric primitives ¾ with a few basic geometric primitives
„ For simulation of physical phenomena „ For simulation of physical phenomena
¾ realistic/accurate animation of fluid, deformable ¾ realistic/accurate animation of fluid, deformable
solids, electromagnetism solids, electromagnetism
− often modeled as PDE − often modeled as PDE
¾ domain discretization ¾ domain discretization
− Then FEM/FVM to integrate PDE in space (& time) − Then FEM/FVM to integrate PDE in space (& time)
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 3 ACM SIGGRAPH 2005 Course 4

The Big Picture What is Meshing?


Meshing, an essential preprocessing step General Idea: “flat” 2D “flat” 3D

„ For surface representation „ breaking up a physical domain


¾ complex geometry ¾ 2D domain in 2D, or in 3D, or 3D domain,…
¾ with a few basic geometric primitives „ into simpler subdomains—the elements
„ For simulation of physical phenomena ¾ simplices (triangles, tetrahedra)
¾ realistic/accurate animation of fluid, deformable ¾ or not (quads, polygons, hexahedra, polyhedra)
solids, electromagnetism
− often modeled as PDE
¾ domain discretization
− Then FEM/FVM to integrate PDE in space (& time)
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 5 ACM SIGGRAPH 2005 Course 6

1
Brief Glossary Brief Glossary
Node, element: Node, element:
Structured/Unstructured Mesh: Structured/Unstructured Mesh:
„ regular valence and degree „ regular valence and degree
Isotropic/Anisotropic Mesh: Isotropic/Anisotropic Mesh:
„ without/with stretched elements „ without/with stretched elements
Graded Mesh: Graded Mesh:
„ w/ elements varying in size (fct of position) „ w/ elements varying in size (fct of position)

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 7 ACM SIGGRAPH 2005 Course 8

Why (Un)Structured? Brief Glossary


Structure brings: Node, element:
„ simpler data structure Structured/Unstructured Mesh:
„ better compression „ regular valence and degree
„ reuse of DSP algos
Isotropic/Anisotropic Mesh:
¾ smoothing
„ without/with stretched elements
¾ wavelets
Graded Mesh:
Unstructured
„ w/ elements varying in size (fct of position)
meshing Structured
meshing

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 9 ACM SIGGRAPH 2005 Course 10

Why Anisotropy? Brief Glossary


Node, element:
Structured/Unstructured Mesh:
„ regular valence and degree
Isotropic/Anisotropic Mesh:
„ without/with stretched elements

#V #F
Graded Mesh:
Isotropic #V #F „ w/ elements varying in size (fct of position)
meshing #V #F
Anisotropic
meshing Anisotropic
quad meshing
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 11 ACM SIGGRAPH 2005 Course 12

2
Why Gradation? Goals in Mesh Generation
Control over shape of elements
Allows „ mass matrix conditioning
for better „ shape often induced by PDE
capture
of details ¾ good bet: regular shape
for same
vertex Control over sizing Tetrahedrus Commonus

budget „ often dictated by simulation … & boundary


Control over total size
„ low number of elements is preferred

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 13 ACM SIGGRAPH 2005 Course 14

How to Mesh a Domain? How to Mesh a Domain?


Usually, "bottom-up" approach Usually, "bottom-up" approach
„ vertices are first placed (point sampling) „ vertices are first placed (point sampling)
„ then connected by edges, triangles, etc… „ then connected by edges, triangles, etc…

But not always… But not always…


„ remeshing thru simplification (top-down) „ remeshing thru simplification (top-down)
„ placement of edges first [Alliez et al. 2003] „ placement of edges first [Alliez et al. 2003]
¾ as strokes along important directions ¾ as strokes along important directions
„ placement of elements first [Alliez et al. 2004] „ placement of elements first [Alliez et al. 2004]
¾ to best approximate local shape, based on normal field ¾ to best approximate local shape, based on normal field
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 15 ACM SIGGRAPH 2005 Course 16

How to Mesh a Domain? What We Won’t Mention [Much]


Usually, "bottom-up" approach Meshing of curved manifolds
„ vertices are first placed (point sampling) „ often, can be flattened thru parameterization
„ then connected by edges, triangles, etc… see STAR report aim@shape, Alliez et al. 2004

But not always… Meshing of non manifold objects


„ remeshing thru simplification (top-down) Polygonal Meshing
„ placement of edges first [Alliez et al. 2003] Surface Approximation
¾ as strokes along important directions „ vertices can be off the original surface
„ placement of elements first [Alliez et al. 2004] see [Nadler ‘86, Simpson ’94, Heckbert-Garland ‘99]
¾ to best approximate local shape, based on normal field
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 17 ACM SIGGRAPH 2005 Course 18

3
So How do I Mesh a Domain? So How do I Mesh a Domain?
Seemingly, vertex placement is crucial
„ we must “sample” the domain appropriately
„ well-spaced point sets?
¾ spread nodes in the (flat or curved) domain
¾ spread them evenly
− using an attraction/repulsion simulation for
instance
¾ done, right?
− most papers in graphics use this approach
¾ good news: sufficient in 2D
An example from the sea…
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 19 ACM SIGGRAPH 2005 Course 20

Introducing Delaunay Triang. Moving on to 3D


‘Canonical’ triangulation of a point set Everything breaks…
„ with numerous optimal properties „ the regular tet does NOT tile space
see: Eppstein, Meshing Roundtable 2001 ¾ perfectly shaped tets everywhere not attainable
Shewchuck, his UC Berkeley’s website
Lots of robust, existing codes (Triangle, CGAL, …)
„ DT based on well-spaced points have slivers
„ “territories” = Voronoi diagram
„ “dual” = Delaunay triangulation (DT)
„ Live demo

In 2D In 3D
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 21 ACM SIGGRAPH 2005 Course 22

Scrutinizing the Beast Taming the Beast?


Recipes to get rid of slivers
„ local jiggling of faulty vertices
¾ through optimization of shape’s “quality”
− for example, penalize small dihedral angles
¾ often, non-linear and slow
¾ no guarantee of success—in fact, may be worse
„ locally altering the Delaunay triangulation
¾ called “sliver exudation”
Four (well-spaced) vertices near the ¾ no longer Delaunay, obviously
equatorial plane of their circumsphere ¾ guarantees, but no practical bounds
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 23 ACM SIGGRAPH 2005 Course 24

4
Popular 3D Meshing Methods An Interesting Alternative
Delaunay-based spring energy Emergence of variational approaches
„ refinement „ Laplacian (bad!)
„ Centroidal Voronoi Tesselation
„ sphere packing „ non-zero rest length
„ Optimal Delaunay Triangulation
aspect / radius ratios
specific subdivision Idea:
„ octree dihedral / solid angles
„ position of vertices also optimal in some way
„ regular lattice max-min/min-max
„ volumes, lengths „ often based on lifting transformation
advancing front „ sphere radii
sliver exudation
Global Node Placement Local Node Optimizations
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 25 ACM SIGGRAPH 2005 Course 26

Lifting Transformation (nD) Lifting Transformation (nD)


Lift points (x, y) to paraboloid (x, y, x2 + y2) Lift points (x, y) to paraboloid (x, y, x2 + y2)
„ placement of origin irrelevant „ placement of origin irrelevant
Delaunay triang. = convex hull of 3D points Voronoi Diagram = proj. of upper enveloppe

Before…

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 27 ACM SIGGRAPH 2005 Course 28

Pushing This Analogy Further Lloyd Algorithm in 3D


Idea: move vertices to perfect the Breaks too, unfortunately…
approximation of the paraboloid
„ roots in function approximation
Hessian(||x||2) = Id
„ studied quite a bit in 2D
„ Lloyd algo: (after Lloyd relaxation)

¾ for given points,


volume btw approximant
and paraboloid
„ why? dual cells well-shaped
DT gives optimal L1 approx „ but not sufficient for well-shaped tets!
¾ for given conn., find optimal vertex positions „ use of a dual approach, maybe?
− Live Demo
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 29 ACM SIGGRAPH 2005 Course 30

5
Under/Overlaid Approximant Results of Optimization in 2D
CVT ODT [Chen 04]
„ approximant „ PWL interpolant
„ compact Voronoi cells „ compact simplices
„ isotropic sampling „ isotropic meshing

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 31 ACM SIGGRAPH 2005 Course 32

Optimization: init Optimization: step 1

0 1
Distribution of radius ratios
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 33 ACM SIGGRAPH 2005 Course 34

Optimization: step 2 Optimization

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 35 ACM SIGGRAPH 2005 Course 36

6
Optimization Optimization

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 37 ACM SIGGRAPH 2005 Course 38

Input mesh Hand: Sizing

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 39 ACM SIGGRAPH 2005 Course 40

Hand Remeshed Stanford Bunny

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 41 ACM SIGGRAPH 2005 Course 42

7
Stanford Bunny (uniform) The Visible Human

Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 43 ACM SIGGRAPH 2005 Course 44

Fandisk Conclusions
Meshing: a fascinating research field
„ needs theoretical guarantees
„ needs practical results

Link to DEC
„ improves Hodge star if mesh is nice

Please, consider using Delaunay


„ not slow (unlike what you’ve heard)
Discrete Differential Geometry: An Applied Introduction Discrete Differential Geometry: An Applied Introduction
ACM SIGGRAPH 2005 Course 45 ACM SIGGRAPH 2005 Course 46

Você também pode gostar