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

Post on 25-Feb-2016

52 views 0 download

Tags:

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

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

Mingcen GaoThanh-Tung Cao

Tiow-Seng TanZhiyong Huang

Flip- Flop

2

Outline

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

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

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

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

?

6

Flips on 3D polyhedron1

Difficulty 1: Avoiding self-intersection

Avoid self-intersection

2D illustration

2-1 flip

Solution: star-shaped polyhedron

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

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

9

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline

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

11

Flip-Flop: a novel flip algorithm2 An example

Flips

Volume

Local optimum

Convex hull

Lawson’s flip

Flip-Flop

“flip” “flop”

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

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

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

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

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.

17

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline

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

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.

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

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

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

21

Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline

22

Experiments4

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

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

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

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

Thank You!Q & A

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

mingcen@comp.nus.edu.sg