SlideShare a Scribd company logo
1 of 44
Download to read offline
Convex hull algorithms in 3D
Slides by: Roger Hernando
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Outline
1 Introduction
2 Complexity
3 Gift wrapping
4 Divide and conquer
5 Incremental algorithm
6 References
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Problem statement
Given P: set of n points in 3D.
Convex hull of P: CH(P), the
smallest polyhedron s.t. all
elements of P on or in the interior
of CH(P).
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Visibility test
A point is visible from a face?
The point is above or below the supporting plane of the face.
The volume of the tetrahedron is positive or negative.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Complexity of the 3D Convex Hull
Eulerโ€™s theorem:
V โˆ’ E + F = 2
Triangle mesh 3F = 2E:
V โˆ’ E +
2E
3
= 2 โ‡’ E = 3V โˆ’ 6
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Complexity of the Convex Hull
Given a set S of n points in Rn what is maximum #edges on
CH(S)?
Bernard Chazelle [1990]: CH of n points in Rd in optimal
worst-case is O n log n + n
d
2 . Bound by Seidel[1981].
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Direct extension of the 2D
algorithm.
Algorithm complexity
O(nF).
F = #convexhullfaces.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Ensure: H = Convex hull of point-set P
Require: point-set P
H = โˆ…
(p1, p2) = HullEdge(P)
Q = {(p1, p2)}
while Q = โˆ… do
(p1, p2) = Q.pop()
if notProcessed((p1, p2)) then
p3 = triangleVertexWithAllPointsToTheLeft(p1, p2)
H = H โˆช {(p1, p2, p3)}
Q = Q โˆช {(p2, p3), (p3, p1)}
markProcessedEdge((p1, p2))
end if
end while
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Gift wrapping
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Divide and conquer
The same idea of the 2d algorithm.
1 Split the point-set P in two sets.
2 Recursively split, construct CH, and merge.
Merge takes O(n) โ‡’ Algorithm complexity O(n log n).
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Divide and conquer
Ensure: Convex hull of point-set P
Require: point-set P(sorted by certain coord)
function divideAndConquer(P)
if |P| โ‰ค x then
return incremental(P)
end if
(P1, P2) = split(P)
H1 = divideAndConquer(P1)
H2 = divideAndConquer(P2)
return merge(H1, H2)
end function
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge
Determine a supporting line of the convex hulls, projecting the
hulls and using the 2D algorithm.
Use wrapping algorithm to create the additional faces in order
to construct a cylinder of triangles connecting the hulls.
Remove the hidden faces hidden by the wrapped band.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge in detail
1 Obtain a common tangent(AB) which can be computed just
as in the two-dimensional case.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge in detail
2 We next need to ๏ฌnd a triangle ABC whose vertex C must
belong to either the left hull or the right hull. Consequently,
either AC is an edge of the left hull or BC is an edge of the
right hull.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge in detail
3 Now we have a new edge AC that joins the left hull and the
right hull. We can ๏ฌnd triangle ACD just as we did ABC.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge in detail
3 The process stops when we reach again the edge AB.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge in detail
Merge can be performed in linear time O(n), because the circular
order that follow vertex on intersection of new convex hull edges,
with a separating plane H0.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge
The curves bounding the two convex hulls do not have to be
simple.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge I
Ensure: C is the convex hull of H1, H2
Require: Convex hulls H1, H2
function merge(H1, H2)
C = H1 โˆช H2
e(p1, p2) = supportingLine(H1, H2)
L = e
repeat
p3 = giftWrapAroundEdge(e)
if p3 โˆˆ H1 then
e = (p2, p3)
else
e = (p1, p3)
end if
C = C โˆช {(p1, p2, p3)}
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Merge II
until e = L
discardHiddenFaces(C)
end function
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
1 Create tetrahedron(initial CH).
pick 2 points p1 and p2.
pick a point not lying on the line p1p2.
pick a point not lying on the plane p1p2p3(if not found use a
2D algorithm).
2 Randomize the remaining points P.
3 For each pi โˆˆ P, add pi into the CHiโˆ’1
if pi lies inside or on the boundary of CHiโˆ’1 then do nothing.
if pi lies outside of CHiโˆ’1 insert pi .
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Ensure: C Convex hull of point-set P
Require: point-set P
C = ๏ฌndInitialTetrahedron(P)
P = P โˆ’ C
for all p โˆˆ P do
if p outside C then
F = visbleFaces(C, p)
C = C โˆ’ F
C = connectBoundaryToPoint(C, p)
end if
end for
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Find visible region
Naive:
Test every face for each point O(n2
).
Con๏ฌ‚ict graph:
Maintain information to aid in determining visible facets from
a point.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Con๏ฌ‚ict graph
Relates unprocessed points with facets of CH they can see.
Bipartite graph.
pt unprocessed points.
f faces of the convex hull.
con๏ฌ‚ict arcs, point pi sees fj .
Maintain sets:
Pcon๏ฌ‚ict(f ), points that can see f .
Fcon๏ฌ‚ict(p), faces visible from p(visible
region deleted after insertion of p).
At any step of the algorithm, we know all
con๏ฌ‚icts between the remaining points and
facets on the current CH.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Initialize Con๏ฌ‚ict graph
Initialize the con๏ฌ‚ict graph G with CH(P4) in linear time.
Loop through all points to determine the con๏ฌ‚icts.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Update Con๏ฌ‚ict graph
1 Discard visible facets from p by removing neighbors of p โˆˆ G.
2 Remove p from G.
3 Determine new con๏ฌ‚icts.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Determine new con๏ฌ‚icts
Check if Pcon๏ฌ‚ict(f2) is in con๏ฌ‚ict with f .
Check if Pcon๏ฌ‚ict(f1) is in con๏ฌ‚ict with f .
If pr is coplanar with f1, f has the same con๏ฌ‚icts as f1.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm I
Ensure: C Convex hull of point-set P
Require: point-set P
C = ๏ฌndInitialTetrahedron(P)
initializeCon๏ฌ‚ictGraph(P, C)
P = P โˆ’ C
for all p โˆˆ P do
if Fcon๏ฌ‚ict(p) = โˆ… then
delete(Fcon๏ฌ‚ict(p), C)
L = borderEdges(C)
for all e โˆˆ L do
f = createNewTriangularFace(e, p)
f = neighbourFace(e)
addFaceToG(f )
if areCoplanar(f , f ) then
Pcon๏ฌ‚ict(f ) = Pcon๏ฌ‚ict(f )
else
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm II
P(e) = Pco๏ฌ‚ict(f1) โˆช Pco๏ฌ‚ict(f2)
for all p โˆˆ P(e) do
if isVisble(f , p) then
addCon๏ฌ‚ict(p, f )
end if
end for
end if
end for
end if
end for
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Analysis
We want to bound the total number of facets created/deleted by
the algorithm.
#faces
4 + n
r=5 E|deg(pr , CH(Pr ))| โ‰ค 4 + 6(n โˆ’ 4) = 6n โˆ’ 20 = O(n)
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Analysis
We want to bound the total number of Points which can see
horizon edges at any stage of the algorithm( e card(P(e))).
De๏ฌne:
Set of active con๏ฌgurations ฯ„(S).
A ๏ฌ‚ap โˆ† = (p, q, s, t).
โˆ† โˆˆ ฯ„(S)all edges in the ๏ฌ‚ap are edges of the CH(S).
Set K(โˆ†) points which have the ๏ฌ‚ap โˆ† as horizon edge.
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Analysis
We want to bound the total number of Points which can see
horizon edges at any stage of the algorithm( e card(P(e))).
e card(P(e)) โ‰ค โˆ† card(K(โˆ†)) โ‰ค n
r=1 16 nโˆ’r
r
6rโˆ’12
r โ‰ค
โ‰ค 96n ln n = O(n log n)
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
Incremental algorithm
Slides by: Roger Hernando Convex hull algorithms in 3D
Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References
References I
Applet:
http://www.cse.unsw.edu.au/ lambert/java/3d/hull.htm
M. de Berg, O. Cheong, M. van Kreveld, M. Overmars,
Computational Geometry Algorithms and Applications
J. Oโ€™Rourke,Computational Geometry in C
Partha P. Goswami, Introduction to Computational Geometry
David M. Mount, Lecture notes.
Bernard Chazelle, An optimal convex hull algorith in any ๏ฌxed
dimension
Alexander Wolf, Slides
Jason C. Yang, Slides
Peter Felkel, Slides
Slides by: Roger Hernando Convex hull algorithms in 3D

More Related Content

What's hot

Admission in india
Admission  in indiaAdmission  in india
Admission in indiaEdhole.com
ย 
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Amrinder Arora
ย 
Approximation
ApproximationApproximation
ApproximationRiyaSingh235
ย 
Approximation algorithms
Approximation algorithmsApproximation algorithms
Approximation algorithmsGanesh Solanke
ย 
Tensor Train data format for uncertainty quantification
Tensor Train data format for uncertainty quantificationTensor Train data format for uncertainty quantification
Tensor Train data format for uncertainty quantificationAlexander Litvinenko
ย 
top school in india
top school in indiatop school in india
top school in indiaEdhole.com
ย 
NP-Completeness - II
NP-Completeness - IINP-Completeness - II
NP-Completeness - IIAmrinder Arora
ย 
Weight enumerators of block codes and the mc williams
Weight  enumerators of block codes and  the mc williamsWeight  enumerators of block codes and  the mc williams
Weight enumerators of block codes and the mc williamsMadhumita Tamhane
ย 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...Vissarion Fisikopoulos
ย 
Some topics in analysis of boolean functions
Some topics in analysis of boolean functionsSome topics in analysis of boolean functions
Some topics in analysis of boolean functionsguest756c74
ย 
Dynamic Programming - Part 1
Dynamic Programming - Part 1Dynamic Programming - Part 1
Dynamic Programming - Part 1Amrinder Arora
ย 
Linear programming in computational geometry
Linear programming in computational geometryLinear programming in computational geometry
Linear programming in computational geometryhsubhashis
ย 
20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilersComputer Science Club
ย 
Transportation and assignment_problem
Transportation and assignment_problemTransportation and assignment_problem
Transportation and assignment_problemAnkit Katiyar
ย 
Cs2303 theory of computation may june 2016
Cs2303 theory of computation may june 2016Cs2303 theory of computation may june 2016
Cs2303 theory of computation may june 2016appasami
ย 
Model Checking Base on Interoplation
Model Checking Base onInteroplationModel Checking Base onInteroplation
Model Checking Base on Interoplationleticia2307
ย 

What's hot (20)

Admission in india
Admission  in indiaAdmission  in india
Admission in india
ย 
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
Bron Kerbosch Algorithm - Presentation by Jun Zhai, Tianhang Qiang and Yizhen...
ย 
Approximation
ApproximationApproximation
Approximation
ย 
Approximation algorithms
Approximation algorithmsApproximation algorithms
Approximation algorithms
ย 
Tensor Train data format for uncertainty quantification
Tensor Train data format for uncertainty quantificationTensor Train data format for uncertainty quantification
Tensor Train data format for uncertainty quantification
ย 
top school in india
top school in indiatop school in india
top school in india
ย 
NP-Completeness - II
NP-Completeness - IINP-Completeness - II
NP-Completeness - II
ย 
Weight enumerators of block codes and the mc williams
Weight  enumerators of block codes and  the mc williamsWeight  enumerators of block codes and  the mc williams
Weight enumerators of block codes and the mc williams
ย 
High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...High-dimensional polytopes defined by oracles: algorithms, computations and a...
High-dimensional polytopes defined by oracles: algorithms, computations and a...
ย 
Some topics in analysis of boolean functions
Some topics in analysis of boolean functionsSome topics in analysis of boolean functions
Some topics in analysis of boolean functions
ย 
20320140501020
2032014050102020320140501020
20320140501020
ย 
Dynamic Programming - Part 1
Dynamic Programming - Part 1Dynamic Programming - Part 1
Dynamic Programming - Part 1
ย 
Linear programming in computational geometry
Linear programming in computational geometryLinear programming in computational geometry
Linear programming in computational geometry
ย 
20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers20101017 program analysis_for_security_livshits_lecture02_compilers
20101017 program analysis_for_security_livshits_lecture02_compilers
ย 
Transportation and assignment_problem
Transportation and assignment_problemTransportation and assignment_problem
Transportation and assignment_problem
ย 
5th Semester Electronic and Communication Engineering (2013-June) Question Pa...
5th Semester Electronic and Communication Engineering (2013-June) Question Pa...5th Semester Electronic and Communication Engineering (2013-June) Question Pa...
5th Semester Electronic and Communication Engineering (2013-June) Question Pa...
ย 
5th Semester Electronic and Communication Engineering (June/July-2015) Questi...
5th Semester Electronic and Communication Engineering (June/July-2015) Questi...5th Semester Electronic and Communication Engineering (June/July-2015) Questi...
5th Semester Electronic and Communication Engineering (June/July-2015) Questi...
ย 
Cs2303 theory of computation may june 2016
Cs2303 theory of computation may june 2016Cs2303 theory of computation may june 2016
Cs2303 theory of computation may june 2016
ย 
smtlecture.5
smtlecture.5smtlecture.5
smtlecture.5
ย 
Model Checking Base on Interoplation
Model Checking Base onInteroplationModel Checking Base onInteroplation
Model Checking Base on Interoplation
ย 

Viewers also liked

Twobros stepbystep
Twobros stepbystepTwobros stepbystep
Twobros stepbystepJenniferEse
ย 
Image Manipulation
Image ManipulationImage Manipulation
Image Manipulationdaniellajohnston
ย 
Fast Mesh-Based Medical Image Registration
Fast Mesh-Based Medical Image RegistrationFast Mesh-Based Medical Image Registration
Fast Mesh-Based Medical Image RegistrationAhmadreza Baghaie
ย 
Delaunay triangulation from 2-d delaunay to 3-d delaunay
Delaunay triangulation   from 2-d delaunay to 3-d delaunayDelaunay triangulation   from 2-d delaunay to 3-d delaunay
Delaunay triangulation from 2-d delaunay to 3-d delaunaygreentask
ย 
VISION AND PERCEPTION (English)
VISION AND PERCEPTION (English)VISION AND PERCEPTION (English)
VISION AND PERCEPTION (English)Rosa Fernรกndez
ย 
An Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of PointsAn Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of PointsKasun Ranga Wijeweera
ย 
Ribs and Fans of Bezier Curves and Surfaces with Applications
Ribs and Fans of Bezier Curves and Surfaces with ApplicationsRibs and Fans of Bezier Curves and Surfaces with Applications
Ribs and Fans of Bezier Curves and Surfaces with ApplicationsJoo-Haeng Lee
ย 
How to do 3 d anamorphic artwork and sidewalk
How to do 3 d anamorphic artwork and sidewalkHow to do 3 d anamorphic artwork and sidewalk
How to do 3 d anamorphic artwork and sidewalkRhoell Bandong
ย 
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsA New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsDon Sheehy
ย 
Sonia Delaunay
Sonia Delaunay Sonia Delaunay
Sonia Delaunay nivaca2
ย 
Brainstorming of Hospitality design
Brainstorming of Hospitality designBrainstorming of Hospitality design
Brainstorming of Hospitality designNeenu Sara Abraham
ย 
3 point perspective letters
3 point perspective letters3 point perspective letters
3 point perspective lettersrangcapan
ย 
CS 354 Bezier Curves
CS 354 Bezier Curves CS 354 Bezier Curves
CS 354 Bezier Curves Mark Kilgard
ย 
The artisan a_sustainable_entrepreneur_1
The artisan a_sustainable_entrepreneur_1The artisan a_sustainable_entrepreneur_1
The artisan a_sustainable_entrepreneur_1Ralph Cassar
ย 
Image pre processing
Image pre processingImage pre processing
Image pre processingAshish Kumar
ย 
One and Two- Point Perspective
One and Two- Point PerspectiveOne and Two- Point Perspective
One and Two- Point PerspectiveEmily Valenza
ย 
Linear Perspective
Linear PerspectiveLinear Perspective
Linear Perspectivemrsbauerart
ย 
Image Processing Basics
Image Processing BasicsImage Processing Basics
Image Processing BasicsNam Le
ย 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image ProcessingSahil Biswas
ย 

Viewers also liked (20)

Twobros stepbystep
Twobros stepbystepTwobros stepbystep
Twobros stepbystep
ย 
Image Manipulation
Image ManipulationImage Manipulation
Image Manipulation
ย 
Fast Mesh-Based Medical Image Registration
Fast Mesh-Based Medical Image RegistrationFast Mesh-Based Medical Image Registration
Fast Mesh-Based Medical Image Registration
ย 
Delaunay triangulation from 2-d delaunay to 3-d delaunay
Delaunay triangulation   from 2-d delaunay to 3-d delaunayDelaunay triangulation   from 2-d delaunay to 3-d delaunay
Delaunay triangulation from 2-d delaunay to 3-d delaunay
ย 
VISION AND PERCEPTION (English)
VISION AND PERCEPTION (English)VISION AND PERCEPTION (English)
VISION AND PERCEPTION (English)
ย 
An Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of PointsAn Efficient Convex Hull Algorithm for a Planer Set of Points
An Efficient Convex Hull Algorithm for a Planer Set of Points
ย 
Ribs and Fans of Bezier Curves and Surfaces with Applications
Ribs and Fans of Bezier Curves and Surfaces with ApplicationsRibs and Fans of Bezier Curves and Surfaces with Applications
Ribs and Fans of Bezier Curves and Surfaces with Applications
ย 
How to do 3 d anamorphic artwork and sidewalk
How to do 3 d anamorphic artwork and sidewalkHow to do 3 d anamorphic artwork and sidewalk
How to do 3 d anamorphic artwork and sidewalk
ย 
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay TriangulationsA New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
A New Approach to Output-Sensitive Voronoi Diagrams and Delaunay Triangulations
ย 
Sonia Delaunay
Sonia Delaunay Sonia Delaunay
Sonia Delaunay
ย 
Brainstorming of Hospitality design
Brainstorming of Hospitality designBrainstorming of Hospitality design
Brainstorming of Hospitality design
ย 
3 point perspective letters
3 point perspective letters3 point perspective letters
3 point perspective letters
ย 
CS 354 Bezier Curves
CS 354 Bezier Curves CS 354 Bezier Curves
CS 354 Bezier Curves
ย 
The artisan a_sustainable_entrepreneur_1
The artisan a_sustainable_entrepreneur_1The artisan a_sustainable_entrepreneur_1
The artisan a_sustainable_entrepreneur_1
ย 
Image pre processing
Image pre processingImage pre processing
Image pre processing
ย 
One and Two- Point Perspective
One and Two- Point PerspectiveOne and Two- Point Perspective
One and Two- Point Perspective
ย 
Perspective ppt
Perspective pptPerspective ppt
Perspective ppt
ย 
Linear Perspective
Linear PerspectiveLinear Perspective
Linear Perspective
ย 
Image Processing Basics
Image Processing BasicsImage Processing Basics
Image Processing Basics
ย 
Digital Image Processing
Digital Image ProcessingDigital Image Processing
Digital Image Processing
ย 

Similar to Convex hull in 3D

Clipping in Computer Graphics
Clipping in Computer Graphics Clipping in Computer Graphics
Clipping in Computer Graphics Barani Tharan
ย 
Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in indiaEdhole.com
ย 
Quaternionic Modular Symbols in Sage
Quaternionic Modular Symbols in SageQuaternionic Modular Symbols in Sage
Quaternionic Modular Symbols in Sagemmasdeu
ย 
Efficient HPR-based Rendering of Point Clouds
Efficient HPR-based Rendering of Point CloudsEfficient HPR-based Rendering of Point Clouds
Efficient HPR-based Rendering of Point CloudsRoger Hernando Buch
ย 
Informed Search.pptx
Informed Search.pptxInformed Search.pptx
Informed Search.pptxMohanKumarP34
ย 
A Tutorial on Computational Geometry
A Tutorial on Computational GeometryA Tutorial on Computational Geometry
A Tutorial on Computational GeometryMinh-Tri Pham
ย 
Drawing Tools
Drawing ToolsDrawing Tools
Drawing ToolsGhaffar Khan
ย 
An algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesAn algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesVissarion Fisikopoulos
ย 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdfAnaNeacsu5
ย 
Data sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansionData sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansionAlexander Litvinenko
ย 
Data sparse approximation of Karhunen-Loeve Expansion
Data sparse approximation of Karhunen-Loeve ExpansionData sparse approximation of Karhunen-Loeve Expansion
Data sparse approximation of Karhunen-Loeve ExpansionAlexander Litvinenko
ย 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Deepak John
ย 
Computational Information Geometry: A quick review (ICMS)
Computational Information Geometry: A quick review (ICMS)Computational Information Geometry: A quick review (ICMS)
Computational Information Geometry: A quick review (ICMS)Frank Nielsen
ย 
Overlap Layout Consensus assembly
Overlap Layout Consensus assemblyOverlap Layout Consensus assembly
Overlap Layout Consensus assemblyZhuyi Xue
ย 
Day 2 review with sat
Day 2 review with satDay 2 review with sat
Day 2 review with satjbianco9910
ย 

Similar to Convex hull in 3D (20)

Clipping in Computer Graphics
Clipping in Computer Graphics Clipping in Computer Graphics
Clipping in Computer Graphics
ย 
Mba admission in india
Mba admission in indiaMba admission in india
Mba admission in india
ย 
Week6.ppt
Week6.pptWeek6.ppt
Week6.ppt
ย 
Quaternionic Modular Symbols in Sage
Quaternionic Modular Symbols in SageQuaternionic Modular Symbols in Sage
Quaternionic Modular Symbols in Sage
ย 
Efficient HPR-based Rendering of Point Clouds
Efficient HPR-based Rendering of Point CloudsEfficient HPR-based Rendering of Point Clouds
Efficient HPR-based Rendering of Point Clouds
ย 
Informed Search.pptx
Informed Search.pptxInformed Search.pptx
Informed Search.pptx
ย 
A Tutorial on Computational Geometry
A Tutorial on Computational GeometryA Tutorial on Computational Geometry
A Tutorial on Computational Geometry
ย 
Drawing Tools
Drawing ToolsDrawing Tools
Drawing Tools
ย 
An algorithm for computing resultant polytopes
An algorithm for computing resultant polytopesAn algorithm for computing resultant polytopes
An algorithm for computing resultant polytopes
ย 
lecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdflecture01_lecture01_lecture0001_ceva.pdf
lecture01_lecture01_lecture0001_ceva.pdf
ย 
C2.0 propositional logic
C2.0 propositional logicC2.0 propositional logic
C2.0 propositional logic
ย 
Data sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansionData sparse approximation of the Karhunen-Loeve expansion
Data sparse approximation of the Karhunen-Loeve expansion
ย 
Slides
SlidesSlides
Slides
ย 
Data sparse approximation of Karhunen-Loeve Expansion
Data sparse approximation of Karhunen-Loeve ExpansionData sparse approximation of Karhunen-Loeve Expansion
Data sparse approximation of Karhunen-Loeve Expansion
ย 
Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
ย 
ME Reference.pdf
ME Reference.pdfME Reference.pdf
ME Reference.pdf
ย 
Computational Information Geometry: A quick review (ICMS)
Computational Information Geometry: A quick review (ICMS)Computational Information Geometry: A quick review (ICMS)
Computational Information Geometry: A quick review (ICMS)
ย 
lecture8 clipping
lecture8 clippinglecture8 clipping
lecture8 clipping
ย 
Overlap Layout Consensus assembly
Overlap Layout Consensus assemblyOverlap Layout Consensus assembly
Overlap Layout Consensus assembly
ย 
Day 2 review with sat
Day 2 review with satDay 2 review with sat
Day 2 review with sat
ย 

Recently uploaded

Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapRishantSharmaFr
ย 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringmulugeta48
ย 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...SUHANI PANDEY
ย 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfRagavanV2
ย 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayEpec Engineered Technologies
ย 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Bookingroncy bisnoi
ย 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...roncy bisnoi
ย 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueBhangaleSonal
ย 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptDineshKumar4165
ย 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdfKamal Acharya
ย 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf203318pmpc
ย 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTbhaskargani46
ย 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptNANDHAKUMARA10
ย 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXssuser89054b
ย 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdfKamal Acharya
ย 
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoordharasingh5698
ย 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . pptDineshKumar4165
ย 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfKamal Acharya
ย 

Recently uploaded (20)

Unleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leapUnleashing the Power of the SORA AI lastest leap
Unleashing the Power of the SORA AI lastest leap
ย 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
ย 
chapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineeringchapter 5.pptx: drainage and irrigation engineering
chapter 5.pptx: drainage and irrigation engineering
ย 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
ย 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
ย 
Standard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power PlayStandard vs Custom Battery Packs - Decoding the Power Play
Standard vs Custom Battery Packs - Decoding the Power Play
ย 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
ย 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
ย 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
ย 
Double Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torqueDouble Revolving field theory-how the rotor develops torque
Double Revolving field theory-how the rotor develops torque
ย 
Thermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.pptThermal Engineering -unit - III & IV.ppt
Thermal Engineering -unit - III & IV.ppt
ย 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
ย 
22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf22-prompt engineering noted slide shown.pdf
22-prompt engineering noted slide shown.pdf
ย 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
ย 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
ย 
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
ย 
Hostel management system project report..pdf
Hostel management system project report..pdfHostel management system project report..pdf
Hostel management system project report..pdf
ย 
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoorTop Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
Top Rated Call Girls In chittoor ๐Ÿ“ฑ {7001035870} VIP Escorts chittoor
ย 
Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
ย 
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdfONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ONLINE FOOD ORDER SYSTEM PROJECT REPORT.pdf
ย 

Convex hull in 3D

  • 1. Convex hull algorithms in 3D Slides by: Roger Hernando
  • 2. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Outline 1 Introduction 2 Complexity 3 Gift wrapping 4 Divide and conquer 5 Incremental algorithm 6 References Slides by: Roger Hernando Convex hull algorithms in 3D
  • 3. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Problem statement Given P: set of n points in 3D. Convex hull of P: CH(P), the smallest polyhedron s.t. all elements of P on or in the interior of CH(P). Slides by: Roger Hernando Convex hull algorithms in 3D
  • 4. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Visibility test A point is visible from a face? The point is above or below the supporting plane of the face. The volume of the tetrahedron is positive or negative. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 5. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Complexity of the 3D Convex Hull Eulerโ€™s theorem: V โˆ’ E + F = 2 Triangle mesh 3F = 2E: V โˆ’ E + 2E 3 = 2 โ‡’ E = 3V โˆ’ 6 Slides by: Roger Hernando Convex hull algorithms in 3D
  • 6. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Complexity of the Convex Hull Given a set S of n points in Rn what is maximum #edges on CH(S)? Bernard Chazelle [1990]: CH of n points in Rd in optimal worst-case is O n log n + n d 2 . Bound by Seidel[1981]. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 7. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Direct extension of the 2D algorithm. Algorithm complexity O(nF). F = #convexhullfaces. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 8. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Ensure: H = Convex hull of point-set P Require: point-set P H = โˆ… (p1, p2) = HullEdge(P) Q = {(p1, p2)} while Q = โˆ… do (p1, p2) = Q.pop() if notProcessed((p1, p2)) then p3 = triangleVertexWithAllPointsToTheLeft(p1, p2) H = H โˆช {(p1, p2, p3)} Q = Q โˆช {(p2, p3), (p3, p1)} markProcessedEdge((p1, p2)) end if end while Slides by: Roger Hernando Convex hull algorithms in 3D
  • 9. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Slides by: Roger Hernando Convex hull algorithms in 3D
  • 10. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Slides by: Roger Hernando Convex hull algorithms in 3D
  • 11. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Slides by: Roger Hernando Convex hull algorithms in 3D
  • 12. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Slides by: Roger Hernando Convex hull algorithms in 3D
  • 13. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Slides by: Roger Hernando Convex hull algorithms in 3D
  • 14. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Gift wrapping Slides by: Roger Hernando Convex hull algorithms in 3D
  • 15. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Divide and conquer The same idea of the 2d algorithm. 1 Split the point-set P in two sets. 2 Recursively split, construct CH, and merge. Merge takes O(n) โ‡’ Algorithm complexity O(n log n). Slides by: Roger Hernando Convex hull algorithms in 3D
  • 16. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Divide and conquer Ensure: Convex hull of point-set P Require: point-set P(sorted by certain coord) function divideAndConquer(P) if |P| โ‰ค x then return incremental(P) end if (P1, P2) = split(P) H1 = divideAndConquer(P1) H2 = divideAndConquer(P2) return merge(H1, H2) end function Slides by: Roger Hernando Convex hull algorithms in 3D
  • 17. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge Determine a supporting line of the convex hulls, projecting the hulls and using the 2D algorithm. Use wrapping algorithm to create the additional faces in order to construct a cylinder of triangles connecting the hulls. Remove the hidden faces hidden by the wrapped band. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 18. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge in detail 1 Obtain a common tangent(AB) which can be computed just as in the two-dimensional case. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 19. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge in detail 2 We next need to ๏ฌnd a triangle ABC whose vertex C must belong to either the left hull or the right hull. Consequently, either AC is an edge of the left hull or BC is an edge of the right hull. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 20. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge in detail 3 Now we have a new edge AC that joins the left hull and the right hull. We can ๏ฌnd triangle ACD just as we did ABC. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 21. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge in detail 3 The process stops when we reach again the edge AB. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 22. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge in detail Merge can be performed in linear time O(n), because the circular order that follow vertex on intersection of new convex hull edges, with a separating plane H0. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 23. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge The curves bounding the two convex hulls do not have to be simple. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 24. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge I Ensure: C is the convex hull of H1, H2 Require: Convex hulls H1, H2 function merge(H1, H2) C = H1 โˆช H2 e(p1, p2) = supportingLine(H1, H2) L = e repeat p3 = giftWrapAroundEdge(e) if p3 โˆˆ H1 then e = (p2, p3) else e = (p1, p3) end if C = C โˆช {(p1, p2, p3)} Slides by: Roger Hernando Convex hull algorithms in 3D
  • 25. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Merge II until e = L discardHiddenFaces(C) end function Slides by: Roger Hernando Convex hull algorithms in 3D
  • 26. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Slides by: Roger Hernando Convex hull algorithms in 3D
  • 27. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm 1 Create tetrahedron(initial CH). pick 2 points p1 and p2. pick a point not lying on the line p1p2. pick a point not lying on the plane p1p2p3(if not found use a 2D algorithm). 2 Randomize the remaining points P. 3 For each pi โˆˆ P, add pi into the CHiโˆ’1 if pi lies inside or on the boundary of CHiโˆ’1 then do nothing. if pi lies outside of CHiโˆ’1 insert pi . Slides by: Roger Hernando Convex hull algorithms in 3D
  • 28. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Ensure: C Convex hull of point-set P Require: point-set P C = ๏ฌndInitialTetrahedron(P) P = P โˆ’ C for all p โˆˆ P do if p outside C then F = visbleFaces(C, p) C = C โˆ’ F C = connectBoundaryToPoint(C, p) end if end for Slides by: Roger Hernando Convex hull algorithms in 3D
  • 29. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Find visible region Naive: Test every face for each point O(n2 ). Con๏ฌ‚ict graph: Maintain information to aid in determining visible facets from a point. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 30. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Con๏ฌ‚ict graph Relates unprocessed points with facets of CH they can see. Bipartite graph. pt unprocessed points. f faces of the convex hull. con๏ฌ‚ict arcs, point pi sees fj . Maintain sets: Pcon๏ฌ‚ict(f ), points that can see f . Fcon๏ฌ‚ict(p), faces visible from p(visible region deleted after insertion of p). At any step of the algorithm, we know all con๏ฌ‚icts between the remaining points and facets on the current CH. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 31. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Initialize Con๏ฌ‚ict graph Initialize the con๏ฌ‚ict graph G with CH(P4) in linear time. Loop through all points to determine the con๏ฌ‚icts. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 32. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Update Con๏ฌ‚ict graph 1 Discard visible facets from p by removing neighbors of p โˆˆ G. 2 Remove p from G. 3 Determine new con๏ฌ‚icts. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 33. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Determine new con๏ฌ‚icts Check if Pcon๏ฌ‚ict(f2) is in con๏ฌ‚ict with f . Check if Pcon๏ฌ‚ict(f1) is in con๏ฌ‚ict with f . If pr is coplanar with f1, f has the same con๏ฌ‚icts as f1. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 34. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm I Ensure: C Convex hull of point-set P Require: point-set P C = ๏ฌndInitialTetrahedron(P) initializeCon๏ฌ‚ictGraph(P, C) P = P โˆ’ C for all p โˆˆ P do if Fcon๏ฌ‚ict(p) = โˆ… then delete(Fcon๏ฌ‚ict(p), C) L = borderEdges(C) for all e โˆˆ L do f = createNewTriangularFace(e, p) f = neighbourFace(e) addFaceToG(f ) if areCoplanar(f , f ) then Pcon๏ฌ‚ict(f ) = Pcon๏ฌ‚ict(f ) else Slides by: Roger Hernando Convex hull algorithms in 3D
  • 35. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm II P(e) = Pco๏ฌ‚ict(f1) โˆช Pco๏ฌ‚ict(f2) for all p โˆˆ P(e) do if isVisble(f , p) then addCon๏ฌ‚ict(p, f ) end if end for end if end for end if end for Slides by: Roger Hernando Convex hull algorithms in 3D
  • 36. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Analysis We want to bound the total number of facets created/deleted by the algorithm. #faces 4 + n r=5 E|deg(pr , CH(Pr ))| โ‰ค 4 + 6(n โˆ’ 4) = 6n โˆ’ 20 = O(n) Slides by: Roger Hernando Convex hull algorithms in 3D
  • 37. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Analysis We want to bound the total number of Points which can see horizon edges at any stage of the algorithm( e card(P(e))). De๏ฌne: Set of active con๏ฌgurations ฯ„(S). A ๏ฌ‚ap โˆ† = (p, q, s, t). โˆ† โˆˆ ฯ„(S)all edges in the ๏ฌ‚ap are edges of the CH(S). Set K(โˆ†) points which have the ๏ฌ‚ap โˆ† as horizon edge. Slides by: Roger Hernando Convex hull algorithms in 3D
  • 38. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Analysis We want to bound the total number of Points which can see horizon edges at any stage of the algorithm( e card(P(e))). e card(P(e)) โ‰ค โˆ† card(K(โˆ†)) โ‰ค n r=1 16 nโˆ’r r 6rโˆ’12 r โ‰ค โ‰ค 96n ln n = O(n log n) Slides by: Roger Hernando Convex hull algorithms in 3D
  • 39. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Slides by: Roger Hernando Convex hull algorithms in 3D
  • 40. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Slides by: Roger Hernando Convex hull algorithms in 3D
  • 41. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Slides by: Roger Hernando Convex hull algorithms in 3D
  • 42. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Slides by: Roger Hernando Convex hull algorithms in 3D
  • 43. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References Incremental algorithm Slides by: Roger Hernando Convex hull algorithms in 3D
  • 44. Introduction Complexity Gift wrapping Divide and conquer Incremental algorithm References References I Applet: http://www.cse.unsw.edu.au/ lambert/java/3d/hull.htm M. de Berg, O. Cheong, M. van Kreveld, M. Overmars, Computational Geometry Algorithms and Applications J. Oโ€™Rourke,Computational Geometry in C Partha P. Goswami, Introduction to Computational Geometry David M. Mount, Lecture notes. Bernard Chazelle, An optimal convex hull algorith in any ๏ฌxed dimension Alexander Wolf, Slides Jason C. Yang, Slides Peter Felkel, Slides Slides by: Roger Hernando Convex hull algorithms in 3D