9.1 Remeshing Hao Li http://cs599.hao-li.com 1 Outline What is - - PowerPoint PPT Presentation

9 1 remeshing
SMART_READER_LITE
LIVE PREVIEW

9.1 Remeshing Hao Li http://cs599.hao-li.com 1 Outline What is - - PowerPoint PPT Presentation

Spring 2015 CSCI 599: Digital Geometry Processing 9.1 Remeshing Hao Li http://cs599.hao-li.com 1 Outline What is remeshing? Why remeshing? How to do remeshing? 2 Outline What is remeshing? Why remeshing? How to do


slide-1
SLIDE 1

CSCI 599: Digital Geometry Processing

Hao Li

http://cs599.hao-li.com

1

Spring 2015

9.1 Remeshing

slide-2
SLIDE 2

Outline

2

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
slide-3
SLIDE 3

Outline

3

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
slide-4
SLIDE 4

Definition

4

Compute another mesh

  • Satisfy some quality requirements
  • Approximate well the input mesh

Given a 3D mesh

  • Already a manifold mesh
slide-5
SLIDE 5

Outline

5

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
slide-6
SLIDE 6

Motivation

6

Unsatisfactory “raw” mesh

  • By scanning or implicit representations
slide-7
SLIDE 7

Motivation

7

Improve mesh quality for further use Unsatisfactory “raw” mesh

  • By scanning or implicit representations
slide-8
SLIDE 8

Motivation

8

Improve mesh quality for further use

  • Modeling: easy processing
  • Simulation: numerical robustness
  • ……

Unsatisfactory “raw” mesh

  • By scanning or implicit representations

Quality requirements

  • Local structure
  • Global structure
slide-9
SLIDE 9

Local structure

9

Element type

  • Triangles vs. quadrangles

all all quad-dominant mesh

slide-10
SLIDE 10

Local structure

10

Element shape

  • Isotropic vs. anisotropic

Element type

  • Triangles vs. quadrangles
slide-11
SLIDE 11

Local structure

11

Element shape

  • Isotropic vs. anisotropic

Element type

  • Triangles vs. quadrangles

Element distribution

  • Uniform vs. adaptive
slide-12
SLIDE 12

Local structure

12

Element shape

  • Isotropic vs. anisotropic

Element type

  • Triangles vs. quadrangles

Element alignment

  • Preserve sharp features and curvature lines

Element distribution

  • Uniform vs. adaptive
slide-13
SLIDE 13

Global structure

13

Valence of a regular vertex

Interior vertex Boundary vertex Triangle mesh 6 4 Quadrangle mesh 4 3

slide-14
SLIDE 14

Global structure

14

Valence of a regular vertex Different types of mesh structure

  • Irregular
  • Semi-regular: multi-resolution analysis / modeling
  • Highly regular: numerical simulation
  • Regular: only possible for special models

Interior vertex Boundary vertex Triangle mesh 6 4 Quadrangle mesh 4 3

slide-15
SLIDE 15

Outline

15

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
slide-16
SLIDE 16

Outline

16

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
  • Isotropic remeshing
  • Anisotropic remeshing
slide-17
SLIDE 17

Outline

17

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
  • Isotropic remeshing
  • Anisotropic remeshing
slide-18
SLIDE 18

Isotropic remeshing

18

Variational remeshing

  • Energy minimization
  • Parameterization-based → expensive
  • Works for coarse input mesh

Greedy remeshing Incremental remeshing

  • Simple to implement and robust
  • Not need parameterization
  • Efficient for high-resolution input
slide-19
SLIDE 19

Isotropic remeshing

19

Variational remeshing

  • Energy minimization
  • Parameterization-based → expensive
  • Works for coarse input mesh

Greedy remeshing Incremental remeshing

  • Simple to implement and robust
  • Not need parameterization
  • Efficient for high-resolution input
slide-20
SLIDE 20

Local remeshing operators

20

Edge Split Vertex Shift Edge Collapse Edge Flip

slide-21
SLIDE 21

Incremental remeshing

21

Specify target edge length L

  • Lmax = 4/3 * L; Lmin = 4/5 * L;

Iterate:

  • 1. Split edges longer than Lmax
  • 2. Collapse edges shorter than Lmin
  • 3. Flip edges to get closer to optimal valence
  • 4. Vertex shift by tangential relaxation
  • 5. Project vertices onto reference mesh
slide-22
SLIDE 22

Edge split

22

|Lmax − L| =

  • 1

2Lmax − L

  • ⇒ Lmax

= 4 3L

Lmax

1 2Lmax 1 2Lmax

Edge Split

Split edges longer than Lmax

slide-23
SLIDE 23

Edge collapse

23

|Lmin − L| =

  • 3

2Lmin − L

  • ⇒ Lmin

= 4 5L

3 2Lmin 3 2Lmin

Lmin Lmin Lmin Edge Collapse

Collapse edges shorter than Lmin

slide-24
SLIDE 24

Edge flip

24

Optimal valence

  • 6 for interior vertices
  • 4 for boundary vertices
slide-25
SLIDE 25

Edge flip

25

Edge Flip

+1 +1

  • 1
  • 1

4

  • i=1

(valence(vi) − opt valence(vi))2

Optimal valence

  • 6 for interior vertices
  • 4 for boundary vertices

Improve valences

  • Minimize valence excess
slide-26
SLIDE 26

Vertex shift

26

Vertex Shift

Local “spring” relaxation

  • Uniform Laplacian smoothing
  • Barycenter of one-ring neighborhood

ci = 1 valence(vi)

  • j∈N(vi)

pj

slide-27
SLIDE 27

Vertex shift

27

pi ci

Local “spring” relaxation

  • Uniform Laplacian smoothing
  • Barycenter of one-ring neighborhood

ci = 1 valence(vi)

  • j∈N(vi)

pj

slide-28
SLIDE 28

Vertex shift

28

Local “spring” relaxation

  • Uniform Laplacian smoothing
  • Barycenter of one-ring neighborhood

Keep vertex (approx.) on surface

  • Restrict movement to tangent plane

pi ← pi + λ

  • I − ninT

i

⇥ (ci − pi) ci = 1 valence(vi)

  • j∈N(vi)

pj

project tangent

ni pi ci

slide-29
SLIDE 29

Vertex projection

29

Onto original reference mesh

  • Find closet triangle
  • Use BSP to accelerate → O(logn)
  • Barycentric interpolation to

compute position & normal

project

slide-30
SLIDE 30

Incremental remeshing

30

Specify target edge length L Iterate:

  • 1. Split edges longer than Lmax
  • 2. Collapse edges shorter than Lmin
  • 3. Flip edges to get closer to optimal valence
  • 4. Vertex shift by tangential relaxation
  • 5. Project vertices onto reference mesh
slide-31
SLIDE 31

Remeshing result

31

slide-32
SLIDE 32

Adaptive remeshing

32

slide-33
SLIDE 33

Adaptive remeshing

33

  • Compute maximum

principle curvature on reference mesh

  • Determine local target

edge length from max- curvature

  • Adjust edge split / collapse

criteria accordingly

slide-34
SLIDE 34

Feature preservation

34

slide-35
SLIDE 35

Feature preservation

35

Define feature edges / vertices

  • Large dihedral angles
  • Material boundaries

Adjust local operators

  • Do not touch corner vertices
  • Do not flip feature edges
  • Collapse along features
  • Univariate smoothing
  • Project to feature curves
slide-36
SLIDE 36

Isotropic remeshing

36

Variational remeshing

  • Energy minimization
  • Parameterization-based → expensive
  • Works for coarse input mesh

Greedy remeshing Incremental remeshing

  • Simple to implement and robust
  • Not need parameterization
  • Efficient for high-resolution input
slide-37
SLIDE 37

Voronoi Diagram

37

slide-38
SLIDE 38

Voronoi Diagram

38

Divide space into a number of cells

slide-39
SLIDE 39

Voronoi Diagram

39

Divide space into a number of cells Dual graph: Delaunay triangulation

slide-40
SLIDE 40

Centroidal Voronoi Diagram

40

For each cell

The generating point = mass of center

CVD non CVD

slide-41
SLIDE 41

Centroidal Voronoi Diagram

41

Compute CVD by Lloyd relaxation

  • 1. Compute Voronoi diagram of given points pi
  • 2. Move points pi to centroids ci of their Voronoi cells Vi
  • 3. Repeat steps 1 and 2 until satisfactory convergence

pi ← ci =

  • Vi x · ρ(x) dx
  • Vi ρ(x) dx
slide-42
SLIDE 42

Centroidal Voronoi Diagram

42

Compute CVD by Lloyd relaxation

  • 1. Compute Voronoi diagram of given points pi
  • 2. Move points pi to centroids ci of their Voronoi cells Vi
  • 3. Repeat steps 1 and 2 until satisfactory convergence

pi ← ci =

  • Vi x · ρ(x) dx
  • Vi ρ(x) dx

CVD maximizes compactness

  • Minimize the energy:
  • i

Vi

ρ(x) ⇤x pi⇤2 dx ⇥ min

slide-43
SLIDE 43

Variational remeshing

43

  • 1. Conformal parameterization of input mesh
  • 2. Compute local density
  • 3. Perform in 2D parameter space
  • A. Randomly sample according to local density
  • B. Compute CVD by Lloyd relaxation
  • 4. Lift 2D Delaunay triangulation to 3D
slide-44
SLIDE 44

Variational remeshing

44

slide-45
SLIDE 45

Adaptive remeshing

45

slide-46
SLIDE 46

Feature preservation

46

slide-47
SLIDE 47

Outline

47

  • What is remeshing?
  • Why remeshing?
  • How to do remeshing?
  • Isotropic remeshing
  • Anisotropic remeshing
slide-48
SLIDE 48

Anisotropic remeshing

48

Artist-designed models

  • Conform to the anisotropy of a surface
slide-49
SLIDE 49

Anisotropic remeshing

49

[Alliez et al. 2003] Anisotropic Polygonal Remeshing.

slide-50
SLIDE 50

Anisotropic remeshing

50

input mesh principal direction fields sampling meshing

  • utput

mesh

[Alliez et al. 2003] Anisotropic Polygonal Remeshing.

slide-51
SLIDE 51

Anisotropy

51

Differential geometry

  • A local orthogonal frame: min/max curvature directions

and normal

slide-52
SLIDE 52

3D curvature tensor

52

Isotropic spherical planar

k > 0 k = 0

Anisotropic

  • 2 principal directions

elliptic parabolic hyperbolic

k k k k k k

slide-53
SLIDE 53

Principal direction fields

53

min curvature max curvature

  • verlay
slide-54
SLIDE 54

Flattening to 2D

54

  • ne 3D tensor

per vertex discrete conformal parameterization 2D tensor using barycentric coordinates piecewise linear interpolation of 2D tensors

slide-55
SLIDE 55

2D direction fields

55

major foliation principal foliations minor foliation

  • Regular case
slide-56
SLIDE 56

2D direction fields

56

  • Singularities

trisector wedge

umbilic (spherical point) 2D tensor proportional to identity

slide-57
SLIDE 57

Umbilics

57

slide-58
SLIDE 58

Umbilics

58

wedge trisector

slide-59
SLIDE 59

Lines of curvature

59

minor net major net

  • verlay
slide-60
SLIDE 60

Lines of curvature

60

major net minor net

slide-61
SLIDE 61

Overlay

61

  • Overlay curvature lines in

anisotropic regions

  • Add umbilical points in

isotropic regions

slide-62
SLIDE 62

Vertices

62

intersect lines of curvatures

slide-63
SLIDE 63

Edges

63

straighten lines of curvatures + Delaunay triangulation near umbilics

slide-64
SLIDE 64

Resolve T-junctions

64

T-junction

slide-65
SLIDE 65

Smoothing

65

quad-triangle subdivision

slide-66
SLIDE 66

Anisotropic remeshing

66

input mesh principal direction fields sampling meshing

  • utput

mesh

[Alliez et al. 2003] Anisotropic Polygonal Remeshing.

slide-67
SLIDE 67

Remeshing results

67

min curvature minor net max curvature major net

  • verlay

result

slide-68
SLIDE 68

Remeshing results

68

[Alliez et al. 2003] Anisotropic Polygonal Remeshing.

slide-69
SLIDE 69

Tools

69

MeshLab

  • meshlab.sourceforge.net
  • open source
  • available for Windows, MacOSX, and Linux

Graphite

  • http://alice.loria.fr/index.php/software/3-platform/22-

graphite.html

  • available for Windows
  • MacOSX or Linux?
slide-70
SLIDE 70

Remeshing via Graphite

70

“Mesh” → “remesh” → “pliant” →

  • [Optional] flag border as feature
  • [Optional] flag sharp edges as feature (dihedral angle)
  • [Optional] estimate edge size (bounding box divisions)
  • remesh (target edge length)
slide-71
SLIDE 71

Literature

71

  • Textbook: Chapter 6
  • Alliez et al, “Interactive geometry remeshing”, SIGGRAPH 2002
  • Alliez et al, “Isotropic surface remeshing”, SMI 2003
  • Alliez et al, “Anisotropic polygonal remeshing”, SIGGRAPH 2003
  • Vorsatz et al, “Dynamic remeshing and applications”, Solid Modeling 2003
  • Botsch & Kobbelt, “A remeshing approach to multiresolution modeling”,
  • Symp. on Geometry Processing 2004
  • Marinov et al, “Direct anisotropic quad-dominant remeshing”, Pacific

Graphics 2004

  • Alliez et al, “Recent advances in remeshing of surfaces”, AIM@Shape

state of the art report, 2006

slide-72
SLIDE 72

http://cs599.hao-li.com

Thanks!

72