remeshing i

64
Remeshing I

Upload: vancong

Post on 04-Jan-2017

228 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: Remeshing I

Remeshing Ig

Page 2: Remeshing I

RemeshingRemeshing

Given a 3D mesh find a “better” discreteGiven a 3D mesh, find a better discrete representation of the underlying surface

2

Page 3: Remeshing I

What is a good mesh?What is a good mesh?

• Equal edge lengths• Equal edge lengths

• Equilateral triangles

• Valence close to 6

3

Page 4: Remeshing I

What is a good mesh?What is a good mesh?

• Equal edge lengths• Equal edge lengths

• Equilateral triangles

• Valence close to 6

U if d ti li• Uniform vs. adaptive sampling

4

Page 5: Remeshing I

What is a good mesh?What is a good mesh?

• Equal edge lengths• Equal edge lengths

• Equilateral triangles

• Valence close to 6

U if d ti li• Uniform vs. adaptive sampling

• Feature preservationp

5

Page 6: Remeshing I

What is a good mesh?What is a good mesh?

• Equal edge lengths• Equal edge lengths

• Equilateral triangles

• Valence close to 6

Uniform vs adaptive sampling• Uniform vs. adaptive sampling

• Feature preservation

• Alignment to curvature lines

I t i i t i• Isotropic vs. anisotropic

6

Page 7: Remeshing I

What is a good mesh?What is a good mesh?• Equal edge lengthsEqual edge lengths

• Equilateral triangles

• Valence close to 6

Uniform vs adaptive sampling• Uniform vs. adaptive sampling

• Feature preservation

• Alignment to curvature lines

• Isotropic vs. anisotropic

• Triangles vs. quadrangles

7

Triangles vs. quadrangles

Page 8: Remeshing I

ApplicationsApplications

– Design– Reverse engineering– Simulation– Simulation– Visualization

8

Page 9: Remeshing I

Local StructureLocal Structure

• Element type• Element type– Triangle– Quadrangle– Polygonyg

9

Page 10: Remeshing I

Local StructureLocal Structure

• Element shape (isotropy vs anisotropy)• Element shape (isotropy vs anisotropy)

10

Page 11: Remeshing I

Local StructureLocal StructureElement distribution (sizing, grading)

Uniform AdaptiveInput 11

Page 12: Remeshing I

Local StructureLocal Structure• Element orientation

12

Page 13: Remeshing I

Local StructureLocal Structure

• Element orientation• Element orientation

13

Page 14: Remeshing I

Isotropic RemeshingIsotropic RemeshingWell-shaped elementsp

– for processing & simulation (numerical stability & efficiency)efficiency)

14

Page 15: Remeshing I

Two Fundamental ApproachesTwo Fundamental Approaches

• Parameterization based• Parameterization-based– map to 2D domain / 2D problem– computationally more expensive– works even for coarse resolution remeshingg

• Surface-oriented– operate directly on the surface– treat surface as a set of points / polygons in space– efficient for high resolution remeshing

15

Page 16: Remeshing I

Parameterization BasedParameterization Based

16

Page 17: Remeshing I

Parameterization BasedParameterization Based

parameter domain

17

Page 18: Remeshing I

Parameterization BasedParameterization Based

parameterize

18

Page 19: Remeshing I

Parameterization BasedParameterization Based

re-parameterize

19

Page 20: Remeshing I

Parameterization BasedParameterization Based

apply

20

Page 21: Remeshing I

Surface OrientedSurface Oriented

21

Page 22: Remeshing I

Surface OrientedSurface Oriented

sample

22

Page 23: Remeshing I

Surface OrientedSurface Oriented

filter

23

Page 24: Remeshing I

Surface OrientedSurface Oriented

back-project

24

Page 25: Remeshing I

Variational MethodsVariational Methods

• Minimize a global energy• Minimize a global energy– Both discrete and continuous degrees of freedom

• Connectivity, geometry

• What to optimizeWhat to optimize– Edge lengths, angles, triangle shapes,…

• Isotropic point sampling well shaped trianglesIsotropic point sampling well shaped triangles– Simple and effective

25

Page 26: Remeshing I

Parameterization-Based Remeshing[Alli t l ‘03][Alliez et al. ‘03]

• Compute 2D parameterization• Compute 2D parameterization– Conformal: only area distortion

S l 2D d i• Sample 2D domain– Density based on area distortion

• Triangulate

• Project back to 3D• Project back to 3D26

Page 27: Remeshing I

Isotropic 2D SamplingIsotropic 2D Sampling

• Density based random sampling• Density based random sampling– Does not guarantee uniform distance between

samples

27

Page 28: Remeshing I

Sampling EnergySampling Energy

• Given sites x and regions R minimize• Given sites xi and regions Ri, minimize

2( ) || ||k kE x x R R x x dx= −∑ ∫

S d t i t

1 11..

( , .., , , ..., ) || ||i

k k ii k x R

E x x R R x x dx= ∈∑ ∫

• Spreads out points

xi

R

xi

28

Page 29: Remeshing I

Sampling EnergySampling Energy

• Given sites x and regions R minimize• Given sites xi and regions Ri, minimize

2( ) || ||k kE x x R R x x dx= −∑ ∫

• If sites are fixed energy is minimized by the

1 11..

( , .., , , ..., ) || ||i

k k ii k x R

E x x R R x x dx= ∈∑ ∫

• If sites are fixed, energy is minimized by the Voronoi TesselationVoronoi cell Ri =

All points closer to xi than to other xj

29

Page 30: Remeshing I

Sampling EnergySampling Energy

• Given sites x and regions R minimize• Given sites xi and regions Ri, minimize

2( ) || ||k kE x x R R x x dx= −∑ ∫• If sites are fixed, energy is minimized by the Voronoi

1 11..

( , .., , , ..., ) || ||i

k k ii k x R

E x x R R x x dx= ∈∑ ∫

Tesselation

• Among all Voronoi tesselations, energy is minimized when sitesgyare centroids of cells =Centroidal Voronoi Tesselation

30

Page 31: Remeshing I

Varying Density2( ) ( ) || || d∑ ∫

Varying Density2

1 11..

( , .., , , ..., ) ( ) || ||i

k k ii k x R

E x x R R x x x dx= ∈

= −∑ ∫ ρ

R

xj

Page 32: Remeshing I

Initial Sample ScatterInitial Sample Scatter

Voronoi tesselation32

Page 33: Remeshing I

Optimized Sample PlacementOptimized Sample Placement

LloydLloyd

centroidal Voronoi tesselation

Page 34: Remeshing I

Uniform RemeshingUniform Remeshing

back-project

50kV50kV

Page 35: Remeshing I

Lloyd AlgorithmLloyd Algorithm

• Alternate:– Voronoi partitioning

Move sites to respective centroids– Move sites to respective centroids

35

Page 36: Remeshing I

Centroidal Voronoi DiagramsCentroidal Voronoi Diagrams

36

demo

Page 37: Remeshing I

Centroidal Voronoi DiagramsCentroidal Voronoi Diagrams

37

demo

Page 38: Remeshing I

Centroidal Voronoi DiagramsCentroidal Voronoi Diagrams

38

demo

Page 39: Remeshing I

Centroidal Voronoi DiagramsCentroidal Voronoi Diagrams

39

demo

Page 40: Remeshing I

Centroidal Voronoi TesselationCentroidal Voronoi Tesselation

• Lloyd converges slowly• Lloyd converges slowly– Stop when points “stop” moving

• Recent fast algorithm: direct optimization of the• Recent fast algorithm: direct optimization of the energy using quasi-Newton“On centroidal voronoi tessellation energy smoothness and fastOn centroidal voronoi tessellation—energy smoothness and fast computation” [Liu et al., TOG ’09]

40

Page 41: Remeshing I

Uniform vs. AdaptiveUniform vs. Adaptive

41

Page 42: Remeshing I

Uniform SamplingUniform Sampling

42

Page 43: Remeshing I

Adaptive SamplingAdaptive Sampling

43

Page 44: Remeshing I

LimitationsLimitations

• Closed meshes• Closed meshes– Need a good cut– Free boundary parameteriztion– Stitch seams afterwards

• Protruding legs– Sampling– Numerical problemsNumerical problems

44

Page 45: Remeshing I

Smart Cut, Free BoundarySmart Cut, Free Boundary

45

Page 46: Remeshing I

Free vs. Fixed BoundaryFree vs. Fixed Boundary

46

Page 47: Remeshing I

Visible SeamsVisible Seams

47

Page 48: Remeshing I

Naive Cut, Numerical ProblemsNaive Cut, Numerical Problems

48

Page 49: Remeshing I

Direct Surface Remeshing[Botsch et al. ’04]

• Avoid global parameterization• Avoid global parameterization– Numerically very sensitive– Topological restrictions

• Avoid local parameterizations– Expensive computationsExpensive computations

• Use local operators & back-projectionsUse local operators & back-projections– Resampling of 100k triangles in < 5s

49

Page 50: Remeshing I

Local Remeshing OperatorsLocal Remeshing Operators

Edge VertexEdge EdgeEdgeSplit

VertexShift

EdgeCollapse

EdgeFlip

50

Page 51: Remeshing I

Isotropic RemeshingIsotropic Remeshing

S if t t d l th LSpecify target edge length L

Compute edge length range [Lmin, Lmax]p g g g [ ]

Iterate:1. Split edges longer than Lmax

2. Collapse edges shorter than Lmin2. Collapse edges shorter than Lmin

3. Flip edges to get closer to valence 64 V t hift b t ti l l ti4. Vertex shift by tangential relaxation5. Project vertices onto reference mesh

51

Page 52: Remeshing I

Edge Collapse / SplitEdge Collapse / Split

52

Page 53: Remeshing I

Edge FlipEdge Flip

• Improve valences• Improve valences– Avg. valence is 6 (Euler)– Reduce variation

• Optimal valence is• Optimal valence is– 6 for interior vertices– 4 for boundary vertices

53

Page 54: Remeshing I

Edge FlipEdge Flip

• Improve valences• Improve valences– Avg. valence is 6 (Euler)– Reduce variation

• Optimal valence is Edge• Optimal valence is– 6 for interior vertices

EdgeFlip

1– 4 for boundary vertices

• Minimize valence excess +1 +1

-1

Minimize valence excess-1

54

Page 55: Remeshing I

Vertex ShiftVertex Shift

• Local “spring” relaxation• Local spring relaxation– Uniform Laplacian smoothing– Bary-center of one-ring neighbors

VertexVertexShift

55

Page 56: Remeshing I

Vertex ShiftVertex Shift

• Local “spring” relaxation• Local spring relaxation– Uniform Laplacian smoothing– Bary-center of one-ring neighbors

56

Page 57: Remeshing I

Vertex ShiftVertex Shift

• Local “spring” relaxation• Local spring relaxation– Uniform Laplacian smoothing– Bary-center of one-ring neighbors

tangent

• Keep vertex (approx.) on surface– Restrict movement to tangent plane

projectRestrict movement to tangent plane

57

Page 58: Remeshing I

Vertex ProjectionVertex Projection

• Project vertices onto• Project vertices onto original reference mesh

• Assign position & interpolated normal

project

interpolated normal

58

Page 59: Remeshing I

Remeshing ResultsRemeshing Results

Original

59

Page 60: Remeshing I

Remeshing ResultsRemeshing Results

Edge length DeviationEdge lengthdeviation (%)

Deviationfrom 60º

60

Page 61: Remeshing I

Feature Preservation?Feature Preservation?

61

Page 62: Remeshing I

Feature PreservationFeature Preservation

• Define features• Define features– Sharp edges– Material boundaries

• Adjust local operators– Don’t move corners– Collapse only along features

Don’t flip feature edges– Don t flip feature edges– Univariate smoothing

62

– Project to feature curves

Page 63: Remeshing I

Adaptive RemeshingAdaptive Remeshing

• Precompute max curvature• Precompute max. curvature on reference mesh

• Target edge length locally determined by curvaturedetermined by curvature

• Adjust split / collapse criteria

63

Page 64: Remeshing I

Next Time:Quad Dominant Meshing

64