: Convex Hull construction via Star-Shaped Polyhedron in 3D
date post
25-Feb-2016Category
Documents
view
44download
0
Embed Size (px)
description
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]