Outline

Computational Geometry: Convex Hulls

• Definitions • Algorithms

Definition I

Definition I

A set S is convex if for any two points p,q∈S, the line segment pq⊂S.

A set S is convex if for any two points p,q∈S, the line segment pq⊂S.

S

S

S

S p q Not Convex

Definition I

Definition II

A set S is convex if for any two points p,q∈S, the line segment pq⊂S.

A set S is convex if it is the intersection of (possibly infinitely many) half-spaces.

S

S

S

S

p

p

q

q

Not Convex

Convex?

Not Convex

Convex?

1

Definition II

Outline

A set S is convex if it is the intersection of (possibly infinitely many) half-spaces.

• Definitions • Algorithms

S

S p q Not Convex

Convex

Convex Hull

Convex Hull

Definition: Given a finite set of points P={p1,…,pn}, the convex hull of P is the smallest convex set C such that P⊂C.

Definition: Given a finite set of points P={p1,…,pn}, the convex hull of P is the smallest convex set C such that P⊂C.

p1

p1

p2

pn

p2

C

pn

Examples

Examples

Two Dimensions: The convex hull of P={p1,…,pn} is a set of line segments with endpoints in P.

Three Dimensions: The convex hull of P={p1,…,pn} is a triangle mesh with vertices in P.

p1

p2

C

pn

2

Algorithms

Algorithms

Brute Force (2D): Given a set of points P, test each line segment to see if it makes up an edge of the convex hull.

Brute Force (2D): Given a set of points P, test each line segment to see if it makes up an edge of the convex hull. If the rest of the points are on one side of the segment, the segment is on the convex hull Otherwise the segment is not on the hull

Algorithms

Algorithms

Brute Force (2D): Given a set of points P, test each line segment to see if it makes up an edge of the convex hull. If the rest of the points

Brute Force (2D): Given a set of points P, test each line segment to see if it makes up an edge of the convex hull. If the rest of the points

are on one side of the

3): Computation time is O(nsegment, the segment is on the convex hull O(n) complexity tests, for each of O(n2) edges

Otherwise the segment is not on the hull

are on one side of the

3): Computation time is O(nsegment, the segment is on the convex hull O(n) complexity tests, for each of O(n2) edges

Otherwise the segment

is not on the hull In a d-dimensional space, the complexity is O(nd+1).

Algorithms

Gift Wrapping

There are many algorithms for computing the convex hull:

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

– Brute Force: O(n3) – Gift Wrapping – Quickhull – Divide and Conquer

• Given a directed edge on the hull…

3

Gift Wrapping

Gift Wrapping

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

• Given a directed edge on the hull… • Of all the vertices the next edge can can connect to… …

• Given a directed edge on the hull… • Of all the vertices the next edge can can connect to… • Choose the one which turns least. …

Gift Wrapping

Gift Wrapping

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

• Given a directed edge on the hull… • Of all the vertices the next edge can can connect to… • Choose the one which turns least. • Repeat

• Given a directed edge on the hull… • Of all the vertices the next edge can can connect to… • Choose the one which turns least. • Repeat

Gift Wrapping

Gift Wrapping

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

Key Idea: Iteratively growing edges of the convex hull, we want to turn as little as possible.

• Given a directed edge on the hull… • Of all the vertices the next edge can can connect to… • Choose the one which turns least. • Repeat

• Given a directed edge on the hull… • Of all the vertices the next edge can can connect to… • Choose the one which turns least. • Repeat

4

Algorithms

Quickhull

There are many algorithms for computing the convex hull:

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

– Brute Force: O(n3) – Gift Wrapping: O(n2) – Quickhull – Divide and Conquer

Quickhull

Quickhull

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

b

b

c

c

a

a

Quickhull

Quickhull

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

• Given a line segment ab …

b

• Given a line segment ab … • Find the point c, rightmost from ab …

b c

a

a

5

Quickhull

Quickhull

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab …

b

b

c

c

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc …

a

a

Quickhull

Quickhull

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

b c

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc … • Repeat for left of bc and ca …

b c

a

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc … • Repeat for left of bc and ca … • Repeat for left of ba …

a

Quickhull

Quickhull

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

b c d a

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc … • Repeat for left of bc and ca … • Repeat for left of ba …

b c d

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc … • Repeat for left of bc and ca … • Repeat for left ba …

a

6

Quickhull

Quickhull

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

Key Idea: For all a,b,c∈P, the points contained in ∆abc∩P cannot be on the convex hull.

b c d e

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc … • Repeat for left of bc and ca … • Repeat for left ba …

a

b c d e

• Given a line segment ab … • Find the point c, rightmost from ab … • If c doesn’t exist, return ab … • Discard the points in ∆abc … • Repeat for left of bc and ca … • Repeat for left of ba …

a

Algorithms

Divide and Conquer

There are many algorithms for computing the convex hull:

Key Idea: Finding the convex hull of small sets is easier than finding the hull of large ones.

– Brute Force: O(n3) – Gift Wrapping: O(n2) – Quickhull: O(nlogn) – O(n2) – Divide and Conquer

Divide and Conquer

Divide and Conquer

Key Idea: Finding the convex hull of small sets is easier than finding the hull of large ones. All we need is a fast way to merge hulls.

Merging Hulls: Need to find the tangents joining the hulls. Upper Tangent

A

B

A

B

Lower Tangent

7

Divide and Conquer

Divide and Conquer

Observation: The edge ab is a tangent if the two points about a and the two points about b are on the same side of ab.

Proof: The edge ab is a tangent if the points on both hulls are all on one side of it.

b” A

a’

b”

B

a”

Divide and Conquer

Proof: The edge ab is a tangent if the points on both hulls are all on one side of it. If a’ and a” are on the same side of ab, then all of A must be on one side of ab.

Tangent Algorithm:

A

a’

a

– Find an edge ab between A and B that does not intersect the two hulls.

b

a

Divide and Conquer

Divide and Conquer

Tangent Algorithm:

Tangent Algorithm:

– Find an edge ab between A and B that does not intersect the two hulls. – While a’ and a” are not to the left of ab, rotate a clock-wise.

A a’

b B a

b”

a A

b’

a”

b’

a”

b”

B

a”

b

a

Divide and Conquer

a”

B

a” b’

b

a

a’

A

a’

b’

b’

b B a’

b”

– Find an edge ab between A and B that does not intersect the two hulls. – While a’ and a” are not to the left of ab, rotate a clock-wise. – While b’ and b” are not a” b’ to the left of ab, rotate B A b a b counter-clock-wise. a’

b”

8

Divide and Conquer

Divide and Conquer

Tangent Algorithm:

Tangent Algorithm:

– Find an edge ab between A and B that does not intersect the two hulls. – While a’ and a” are not to the left of ab, rotate a clock-wise. – While b’ and b” are not a” to the left of ab, rotate B A a b’ b counter-clock-wise. a’

b”

b

– Find an edge ab between A and B that does not intersect the two hulls. – While a’ and a” are not to the left of ab, rotate a clock-wise. – While b’ and b” are not to the left of ab, rotate B a” b’ b counter-clock-wise. a’ A – Repeat a

b”

b

Algorithms There are many algorithms for computing the convex hull: – Brute Force: O(n3) – Gift Wrapping: O(n2) – Quickhull: O(nlogn) – O(n2) – Divide and Conquer: O(nlogn)

9

convex hull best one.pdf

pn. },. the convex hull of P is the smallest. convex set C such that P⊂C. p1. p2. pn. C. Examples. Two Dimensions: The convex hull of P={p1. ,...,pn. } is a set. of line segments with endpoints in P. p1. p2. pn. C. Examples. Three Dimensions: The convex hull of P={p1. ,...,pn. } is a. triangle mesh with vertices in P. Page 2 of 3 ...

508KB Sizes 6 Downloads 270 Views

Recommend Documents

A Convex Hull Approach to Sparse Representations for ...
noise. A good classification model is one that best represents ...... Approximate Bayesian Compressed Sensing,” Human Language Tech- nologies, IBM, Tech.

A Convex Hull Approach for the Reliability-based Design Optimization ...
The proposed approach is applied to the reliability-based design of a ... design optimization, nonlinear transient dynamic problems, data mining, ..... clearer visualization of the response behavior, it is projected on the (response, length) ...

A Convex Hull Approach for the Reliability-Based ...
available Finite Element software. However, these ..... the explicit software ANSYS/LS-DYNA and the ..... Conferences – Design Automation Conference. (DAC) ...

A Convex Hull Approach to Sparse Representations for ...
1IBM T.J. Watson Research Center, Yorktown Heights, NY 10598, USA. ... data or representations derived from the training data, such as prototypes or ...

On the tangent cone of the convex hull of convex sets
May 14, 2010 - 1.1 Extension to finitely many convex sets. We now extend Theorem 1 to finitely many convex sets, i.e. we show the following. Corollary 4 Let k be an integer and C1,C2....,Ck be convex sets with nonempty intersection. Let z. ∗ ∈ k.

Computing Uniform Convex Approximations for Convex ...
piecewise degree-1 polynomial approximations fh ≥ ̂f, and derive estimates of fh − ̂f .... Next, let p, q ∈ R[y], with q > 0 on D, and let f ∈ C(D) be defined as.

Convex Optimization
Mar 15, 1999 - 5.1 Unconstrained minimization and extensions . ..... It is (as the name implies) a convex cone. Example. ..... and lies in the domain of f (i.e., c. T.

Replacement Hull Measurement Form.pdf
Sign in. Page. 1. /. 1. Loading… Page 1 of 1. Page 1 of 1. Replacement Hull Measurement Form.pdf. Replacement Hull Measurement Form.pdf. Open. Extract.

Convex Shape Decomposition
lem in shape related areas, such as computer vision, com- puter graphics and ... First, we give a mathematical definition of the decompo- sition. Definition 1.

EN.550.665: Convex Optimization - MOBILPASAR.COM
You should start with the file ReadMe and then proceed to understand the file demo.m. Specifically, you should solve the following optimization problem: minimize θ∈Rn f(θ) := L(θ) + λθ1. (1) for some choice of weighting parameter λ > 0. The f

RESONANCES AND DENSITY BOUNDS FOR CONVEX CO ...
Abstract. Let Γ be a convex co-compact subgroup of SL2(Z), and let Γ(q) be the sequence of ”congruence” subgroups of Γ. Let. Rq ⊂ C be the resonances of the ...

Convex Optimization Overview - Stanford Engineering Everywhere
Oct 19, 2007 - Definition 2.1 A set C is convex if, for any x, y ∈ C and θ ∈ R with 0 ≤ θ .... these concepts are very different; in particular, X ≽ 0 does not imply ...

Learning with convex constraints
Unfortunately, the curse of dimensionality, especially in presence of many tasks, makes many complex real-world problems still hard to face. A possi- ble direction to attach those ..... S.: Calculus of Variations. Dover publications, Inc (1963). 5. G

Guaranteed Non-convex Optimization: Submodular ...
Submodular continuous functions naturally find applications in various real-world settings, including influence and revenue maximization with continuous assign- ments, sensor energy management, multi-resolution data summarization, facility location,

Minimizing Lipschitz-continuous strongly convex ...
Sep 14, 2011 - X := {x ∈ Zn s.t. Ax ≤ a} is a set of all integer points lying in a polyhedron ...... supported by the SFB TR 63 funded by the German Science ...

CONVEX POLYGONS AND THE ISOPERIMETRIC ...
[41] and the review article by Payne [39]. For some recent results of ..... (a + b

Dynamic Stability of Flared and Tumblehome Hull ...
Leigh McCue, Aerospace and Ocean Engineering, Virginia Tech. ABSTRACT ... waves, and assess variations in ultimate stability for changes in the center of gravity (KG) for two ..... experimental and numerical data: techniques of nonlinear.

Combining Stereo and Visual Hull-MMSP
Disparity range: two disparity maps, upper and lower bound. Disparity range map from VH. • Use OpenGL to render VH into depth buffer. • Convert the depth ...

boyd convex optimization pdf
Download. Connect more apps... Try one of the apps below to open or edit this item. boyd convex optimization pdf. boyd convex optimization pdf. Open. Extract.

Guaranteed Non-convex Optimization: Submodular ...
Department of Computer Science, ETH Zurich. 1ybian, baharanm .... α 2 (0, 1] is the mulplicative error level, δ 2 [0, ¯δ] is the additive error level. 4 find stepsize k, e.g. .... In Approximation and Online Algorithms, pages 133–144. Springer,