: Convex Hull construction via Star-Shaped Polyhedron in 3D

26
: Convex Hull construction via Star- Shaped Polyhedron in 3D Mingcen Gao Thanh-Tung Cao Tiow-Seng Tan Zhiyong Huang Flip- Flop

description

Flip - Flop. : Convex Hull construction via Star-Shaped Polyhedron in 3D. Mingcen Gao Thanh -Tung Cao Tiow-Seng Tan Zhiyong Huang. Outline. Flips on 3D polyhedron. Flip-Flop: a novel flip algorithm. ffHull : 3D convex hull algorithm. Experiments. 1. - PowerPoint PPT Presentation

Transcript of : Convex Hull construction via Star-Shaped Polyhedron in 3D

Page 1: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

: Convex Hull construction via Star-Shaped Polyhedron in 3D

Mingcen GaoThanh-Tung Cao

Tiow-Seng TanZhiyong Huang

Flip- Flop

Page 2: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

2

Outline

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Page 3: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

3

Flips on 3D polyhedron1 Convex Hull in 3D

Convex Hull

• Fundamental problem in CG• Collision detection• Path planning

• CGAL (CPU)• qHull (CPU)• gHull (GPU) [Gao et al. 2012]

Point set

Page 4: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

4

Flips on 3D polyhedron1

Flips ?

Compute CH by flips

non-extreme points reflex edges

3-1 Edge 2-2 Edge

3-1 flip 2-2 flip

some polyhedron convex hull

• Simple• Local• Parallel

Page 5: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

5

Flips on 3D polyhedron1 Compute CH by flips

Greedy strategy: flip reflex edges onlyDifficulty 1: self-intersection

Difficulty 2: stuck case

Lawson’s flip algorithm

some polyhedron convex hull

?

Page 6: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

6

Flips on 3D polyhedron1

Difficulty 1: Avoiding self-intersection

Avoid self-intersection

2D illustration

2-1 flip

Solution: star-shaped polyhedron

Page 7: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

7

Flips on 3D polyhedron1

Star-shaped polyhedron

s

2D 3D

In star-shaped polyhedron, checking whether a flip creates self-intersection is a local operation.

Avoid self-intersection

Easy to construct from

point set

Page 8: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

8

Flips on 3D polyhedron1

Difficulty 2: Resolving the stuck case

Resolve stuck case

Flipping any reflex edges creates self-intersection.

Solution: Flip-Flop (for star-shaped polyhedron)

top viewreflex edge

Page 9: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

9

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline

Page 10: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

10

Flip-Flop: a novel flip algorithm2 An example

abe d

c

p

f

abe d

c

p

f

abe d

c

p

f

abe d

c

p

f

abe d

c

p

fnon-extreme point

2-2 flip (cd → af)3-1 flip on d

3-1 flip on e

3-1 flip on f

Page 11: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

11

Flip-Flop: a novel flip algorithm2 An example

Flips

Volume

Local optimum

Convex hull

Lawson’s flip

Flip-Flop

“flip” “flop”

Page 12: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

12

Flip-Flop: a novel flip algorithm2 Concepts

Flip-Flop

Increase the volume by flips

Find non-extreme points Remove non-extreme points by flips

Star-shapedpolyhedron Convex hull

Page 13: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

13

Flip-Flop: a novel flip algorithm2 Find non-extreme points

b v

c

a

s

v is inside tetrahedron sabc

2-2 edge bv cannot be flipped

v is non-extreme

bv is reflex

b and v lie in the same side of the plane sac

b v

c

a

s

Page 14: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

14

Flip-Flop: a novel flip algorithm2 Remove non-extreme points

degree(v)=5 degree(v)=4 degree(v)=3 degree(v)=0

If degree(v)>3, degree can be reduced by a 2-2 flip

For a non-extreme point v, decreases its Degree by flipping the edges incident to it

If degree(v)=3, it can be removed by a 3-1 flip

v can be removed

Page 15: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

15

Flip-Flop: a novel flip algorithm2 Remove non-extreme points

An edge can be flipped if the polyhedron is still star-shaped w.r.t. s after flipping it

b

v

c a

s

d

flip va

b

v

c a

s

d

v is an extreme point!no edge incident to v can be flipped

Page 16: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

16

Flip-Flop: a novel flip algorithm2 GPU implementation

while it is not convex hull

▲ ▲ ▲ ▲ ▲ ▲ ▲1. Identify and label non-extreme points.2. If no edges need be flipped, stop the thread.

△ △▲ ▲ ▲ ▲ ▲

▲ ▲▲ ▲ ▲ ▲ ▲Flip the edge if all included triangles are still labeled by the thread.

Label the triangles included in the flip by atomic minimum operation.

Page 17: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

17

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline

Page 18: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

18

ffHull: 3D convex hull algorithm3 Algorithm

Point set

• Find 4 extreme points• Construct initial tetrahedron• Compute kernel point

Apply Flip-Flop

Grow by parallel insertion with “furthest points” for every triangle

Star-shaped polyhedron

Convex hull

Page 19: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

19

ffHull: 3D convex hull algorithm3 GPU implementation

while it is not convex hull

▲ ▲ ▲ ▲ ▲ ▲ ▲

If the triangle are associated with some points, insert the “furthest” one.

Update the associated triangle of the point if needed.

▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲ ▲▲△ △ ▲ ▲

● ● ● ● ● ● ● ● ● ● ● ● ●

Page 20: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

20

ffHull: 3D convex hull algorithm3 Extensions

ffRT: 2D regular triangulation algorithm

Compute many convex hulls concurrently

Point set

Lift points by z=x2+y2-w

Compute lower hull

Point set 1

Point set n

… …

Tetrahedron

… … …

Apply ffHull on all groups

Page 21: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

21

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline

Page 22: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

22

Experiments4

Machine: • Intel i7 2600K 3.4GHz CPU• 16GB of DDR3 RAM• NVIDIA GTX 580 Fermi GPU with 3GB of video memory

Page 23: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

23

Experiments4 Convex hull

Ball of radius 0.51.4x↑ v.s. gHull20x↑ v.s. qHull81x↑ v.s. CGAL

Cube2.4x↑ v.s. gHull18x↑ v.s. qHull66x↑ v.s. CGAL

Box (thickness 0.01)3.2x↑ v.s. gHull23x↑ v.s. qHull75x↑ v.s. CGAL

Sphere (thickness 0.01)1.3x↑ v.s. gHull30x↑ v.s. qHull110x↑ v.s. CGAL

Page 24: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

24

Experiments4 Convex hull

Thai statue1.4x↑ v.s. gHull5.5x↑ v.s. qHull12x↑ v.s. CGAL

Lucy1.1x↑ v.s. gHull7.2x↑ v.s. qHull17x↑ v.s. CGAL

Page 25: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

25

Conclusions5is provably correct

uses only local operations

works for any star-shaped polyhedron

allows any order of flips

Flip-FlopGPU friendly

ffHullGPU friendly

ffRTGPU friendly

Page 26: :  Convex Hull construction via  Star-Shaped  Polyhedron in 3D

Thank You!Q & A

http://www.comp.nus.edu.sg/~tants/flipflop.html

[email protected]