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

Click here to load reader

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

of 26

  • date post

    25-Feb-2016
  • Category

    Documents

  • view

    44
  • download

    0

Embed Size (px)

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

1

: Convex Hull construction via Star-Shaped Polyhedron in 3DMingcen GaoThanh-Tung CaoTiow-Seng TanZhiyong Huang

Flip- FlopOutlineFlips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

#Flips on 3D polyhedron31Convex Hull in 3D

Convex Hull Fundamental problem in CG Collision detection Path planning CGAL (CPU) qHull (CPU) gHull (GPU) [Gao et al. 2012]Point setFlips on 3D polyhedron41

Flips ?Compute CH by flipsnon-extreme pointsreflex edges

3-1 Edge

2-2 Edge3-1 flip2-2 flipsome polyhedronconvex hull Simple Local ParallelFlips on 3D polyhedron51Compute CH by flipsGreedy strategy: flip reflex edges onlyDifficulty 1: self-intersectionDifficulty 2: stuck case

Lawsons flip algorithmsome polyhedronconvex hull?Flips on 3D polyhedron61Difficulty 1: Avoiding self-intersection

Avoid self-intersection2D illustration

2-1 flipSolution: star-shaped polyhedronFlips on 3D polyhedron71Star-shaped polyhedron

s2D3DIn star-shaped polyhedron, checking whether a flip creates self-intersection is a local operation.Avoid self-intersectionEasy to construct from point setFlips on 3D polyhedron81Difficulty 2: Resolving the stuck case

Resolve stuck case

Flipping any reflex edges creates self-intersection.Solution: Flip-Flop (for star-shaped polyhedron)

top viewreflex edgeFlips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline#Flip-Flop: a novel flip algorithm102An examplea

bedcpf

abedcpf

abedcpf

abedcpf

abedcpfnon-extreme point2-2 flip (cd af)3-1 flip on d3-1 flip on e3-1 flip on fFlip-Flop: a novel flip algorithm112An example

FlipsVolume Local optimumConvex hullLawsons flipFlip-FlopflipflopFlip-Flop: a novel flip algorithm122ConceptsFlip-FlopIncrease the volume by flipsFind non-extreme pointsRemove non-extreme points by flipsStar-shapedpolyhedronConvex hull

Flip-Flop: a novel flip algorithm132Find non-extreme points

bvcasv is inside tetrahedron sabc2-2 edge bv cannot be flippedv is non-extremebv is reflexb and v lie in the same side of the plane sac

bvcasFlip-Flop: a novel flip algorithm142Remove non-extreme points

degree(v)=5degree(v)=4degree(v)=3degree(v)=0If degree(v)>3, degree can be reduced by a 2-2 flipFor a non-extreme point v, decreases its Degree by flipping the edges incident to itIf degree(v)=3, it can be removed by a 3-1 flipv can be removedFlip-Flop: a novel flip algorithm152Remove non-extreme pointsAn edge can be flipped if the polyhedron is still star-shaped w.r.t. s after flipping it

bvcasd

flip vabvcasdv is an extreme point!no edge incident to v can be flippedFlip-Flop: a novel flip algorithm162GPU implementationwhile it is not convex hull1. 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.Flips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

Outline#ffHull: 3D convex hull algorithm183AlgorithmPoint set

s

s

s

s Find 4 extreme points Construct initial tetrahedron Compute kernel pointApply Flip-FlopGrow by parallel insertion with furthest points for every triangleStar-shaped polyhedronConvex hullffHull: 3D convex hull algorithm193GPU implementationwhile it is not convex hullIf the triangle are associated with some points, insert the furthest one.Update the associated triangle of the point if needed.ffHull: 3D convex hull algorithm203ExtensionsffRT: 2D regular triangulation algorithm

Compute many convex hulls concurrently

Point setLift points by z=x2+y2-w Compute lower hullPoint set 1Point set n

Tetrahedron

Apply ffHull on all groupsFlips on 3D polyhedron

Flip-Flop: a novel flip algorithm

ffHull: 3D convex hull algorithm

Experiments

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

22Experiments234Convex hullBall 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. CGALSphere (thickness 0.01)1.3x v.s. gHull30x v.s. qHull110x v.s. CGAL23

Experiments244Convex hull

Thai statue1.4x v.s. gHull5.5x v.s. qHull12x v.s. CGALLucy1.1x v.s. gHull7.2x v.s. qHull17x v.s. CGAL24Conclusions255is provably correctuses only local operations works for any star-shaped polyhedronallows any order of flipsFlip-FlopGPU friendlyffHullGPU friendlyffRTGPU friendlyThank You!Q & Ahttp://www.comp.nus.edu.sg/~tants/[email protected]