patternModerate
Find a straight line to divide two convex polygons by equal area
Viewed 0 times
convexdividelineequaltwostraightfindareapolygons
Problem
Suppose, we have two non-overlapping convex polygons $A$ and $B$. How can we draw one straight line which divides $A$ into two parts of equal area and also divides $B$ into two equal area parts?
Also, can we do this in complexity $O(n^2)$ or better? ($n = |A| + |B|$)
Also, can we do this in complexity $O(n^2)$ or better? ($n = |A| + |B|$)
Solution
This is known as the Ham-Sandwich theorem:
Given two measurable objects in $2$-dimensional Euclidean space, it is possible to divide each of them in half with a line.
Note: Convexity is not needed. And $\mathbb{R}^2$ can be replaced by $\mathbb{R}^d$ with "line" replaced by a $(d{-}1)$-dimensional hyperplane.
(Image from curiosity.com.)
See the Wikipedia link
for computational versions.
Added in response to @WillardZhan's request:
Ivan Stojmenovíc. Bisections and ham-sandwich cuts
of convex polygons and polyhedra. Inf. Process. Lett.
38(1): 15-21. 1991.
(CiteSeer PDF download.)
Abstract. We present a linear time sequential algorithm for finding a straight line that bisects two given disjoint convex polygons (i.e. cuts both of them into parts of equal area).
Abbott, Timothy G., Erik D. Demaine, Martin L. Demaine, Daniel M. Kane, Stefan Langerman, Jelani Nelson, and Vincent Yeung. "Dynamic Ham-Sandwich Cuts of Convex Polygons in the Plane." In CCCG, pp. 61-64. 2005.
(PDF download.)
Given two measurable objects in $2$-dimensional Euclidean space, it is possible to divide each of them in half with a line.
Note: Convexity is not needed. And $\mathbb{R}^2$ can be replaced by $\mathbb{R}^d$ with "line" replaced by a $(d{-}1)$-dimensional hyperplane.
(Image from curiosity.com.)
See the Wikipedia link
for computational versions.
Added in response to @WillardZhan's request:
Ivan Stojmenovíc. Bisections and ham-sandwich cuts
of convex polygons and polyhedra. Inf. Process. Lett.
38(1): 15-21. 1991.
(CiteSeer PDF download.)
Abstract. We present a linear time sequential algorithm for finding a straight line that bisects two given disjoint convex polygons (i.e. cuts both of them into parts of equal area).
Abbott, Timothy G., Erik D. Demaine, Martin L. Demaine, Daniel M. Kane, Stefan Langerman, Jelani Nelson, and Vincent Yeung. "Dynamic Ham-Sandwich Cuts of Convex Polygons in the Plane." In CCCG, pp. 61-64. 2005.
(PDF download.)
Context
StackExchange Computer Science Q#95605, answer score: 11
Revisions (0)
No revisions yet.