1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie...

36
1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    216
  • download

    1

Transcript of 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie...

Page 1: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

1

Mesh Generation and Delaunay-Based Meshes

Jernej BarbicComputer Science Department

Carnegie Mellon University

Page 2: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

2

Outline

• Introduction

• Delaunay triangulation

• Ruppert’s algorithm

• Result on runtime analysis of Ruppert’s algorithm

• Conclusion

Page 3: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

3

Motivation: Temperature on the Surface of a Lake

No analytical solution

Need to approximate…

Page 4: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

4

How to approximate?

Page 5: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

5

How to approximate?

Runs too slow!

First guess: uniformly.

Page 6: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

6

Too much computation

Computation fast, but inaccurate

No need to consider only uniform meshes…

Optimal solution

BUT MUST AVOID SMALL ANGLES !!

Page 7: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

7

Outline

• Introduction

• Delaunay triangulation

• Ruppert’s algorithm

• Result on runtime analysis of Ruppert’s algorithm

• Conclusion

Page 8: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

8

How to connect the dots into triangles?

Page 9: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

9

How to connect the dots into triangles?

One possibility:

Page 10: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

10

How to connect the dots into triangles?

Another possibility:

Which triangulation makes minimum angle as large as possible?

Page 11: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

11

Include a triangle iff there are no vertices inside its circumcircle.

Boris Nikolaevich Delaunay (1890-1980) :

Page 12: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

12

Delaunay Triangulation

Further example:

Page 13: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

13

Delaunay Triangulation

Negative example:

Page 14: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

14

Let’s try it for Lake Superior…

… and we get Lake Inferior …

Delaunay triangulationof Lake Superior

Page 15: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

15

Outline

• Introduction

• Delaunay triangulation

• Ruppert’s algorithm

• Result on runtime analysis of Ruppert’s algorithm

• Conclusion

Page 16: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

16

How to avoid skinny triangles?

Ruppert’s idea (1993) :

Add triangle’s circumcenter into the mesh.

Why does this make sense?

Page 17: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

17

How to avoid skinny triangles?

Ruppert’s idea (1993) :

Add triangle’s circumcenter into the mesh.

Why does this make sense?

Page 18: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

18

Ruppert’s Algorithm

Input: a set of points in the plane, minimum angle 0

Output: a triangulation, with all angles 0

Page 19: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

19

• Algorithm always terminates for 0 < 20.7º.

• Bigger minimum angles 0 are harder.

• Size of mesh is optimal up to a constant factor.

Ruppert’s Algorithm

Input: a set of points in the plane, minimum angle 0

Output: a triangulation, with all angles 0

Page 20: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

20

Let’s demonstrate Ruppert on an example…

Page 21: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

21

Progress of Ruppert’s algorithm minimum allowed angle = 13 º

Algorithm completed its task.

Page 22: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

22

Outline

• Introduction

• Delaunay triangulation

• Ruppert’s algorithm

• Result on runtime analysis of Ruppert’s algorithm

• Conclusion

Page 23: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

23

Running Time Analysis

Delaunay triangulation

O(n log n)

Page 24: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

24

Running Time Analysis

Delaunay triangulation

O(n log n)

Ruppert’s algorithm

My result:(m2)

Page 25: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

25

We proved: worst-case bound of O(m2) is tight.

Number of input points: nNumber of output points: m=O(n)

Input point set (no edges in the input):

Page 26: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

26

Delaunay triangulation of the input:

Lots of skinny triangles. We choose to split the one shaded in grey.

Page 27: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

27

Big “fan” of triangles appears: high cost

Page 28: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

28

We have established a self-repeating pattern …

Page 29: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

29

Lots of work continues…

Page 30: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

30

Total work proven to be: (m2)

Number of input points: O(n)Number of output points: m=O(n)

Page 31: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

31

However, in practice algorithm works well.

Let’s try Ruppert on Lake Superior…

Page 32: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

32

Ruppert’s Algorithm on Lake Superior

0 = 25º

Page 33: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

33

Solve for temperature…

Page 34: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

34

Outline

• Introduction

• Delaunay triangulation

• Ruppert’s algorithm

• Result on runtime analysis of Ruppert’s algorithm

• Conclusion

Page 35: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

35

Conclusion

• Worst-case behavior of Ruppert’s algorithm is quadratic.

• In practice, Ruppert’s algorithm performs well.

• Main Delaunay idea: maximize minimum angle

• Generating good meshes is an important problem.

Page 36: 1 Mesh Generation and Delaunay-Based Meshes Jernej Barbic Computer Science Department Carnegie Mellon University.

36

Applications and Future Work

• Triangle software http://www-2.cs.cmu.edu/~quake/triangle.html

• Find good strategies for selecting skinny triangles

• Characterize input meshes that exhibit slow runtime