Orthogonal Ham-Sandwich Theorem in R 3

Similar documents
Generalizing Ham Sandwich Cuts to Equitable Subdivisions

Line Arrangement. Chapter 6

Some Combinatorial and Algorithmic Applications of the Borsuk-Ulam Theorem

Preferred directions for resolving the non-uniqueness of Delaunay triangulations

Quasi-Parallel Segments and Characterization of Unique Bichromatic Matchings

The Borsuk-Ulam theorem- A Combinatorial Proof

2 Geometry Solutions

An Introduction to Computational Geometry: Arrangements and Duality

Crossing Families. Abstract

OUTPUT-SENSITIVE ALGORITHMS FOR TUKEY DEPTH AND RELATED PROBLEMS

G 6i try. On the Number of Minimal 1-Steiner Trees* Discrete Comput Geom 12:29-34 (1994)

Lecture 3: Art Gallery Problems and Polygon Triangulation

Lecture 2 - Introduction to Polytopes

Connected Components of Underlying Graphs of Halving Lines

7. The Gauss-Bonnet theorem

Ice-Creams and Wedge Graphs

EXTREME POINTS AND AFFINE EQUIVALENCE

On Computing the Centroid of the Vertices of an Arrangement and Related Problems

Theoretical Computer Science

On the number of distinct directions of planes determined by n points in R 3

1 The range query problem

Convex Geometry arising in Optimization

arxiv: v2 [cs.cg] 24 Jul 2011

Distance Trisector Curves in Regular Convex Distance Metrics

Automorphism Groups of Cyclic Polytopes

On the perimeter of k pairwise disjoint convex bodies contained in a convex set in the plane

The Geodesic Integral on Medial Graphs

arxiv: v1 [cs.cg] 21 Aug 2017

Combinatorial Geometry & Topology arising in Game Theory and Optimization

Straight-Line Drawings of 2-Outerplanar Graphs on Two Curves

The Geometry of Carpentry and Joinery

CS6100: Topics in Design and Analysis of Algorithms

Maximal Monochromatic Geodesics in an Antipodal Coloring of Hypercube

QUASI-PARALLEL SEGMENTS AND CHARACTERIZATIONS OF UNIQUE BICHROMATIC MATCHINGS

THE BORSUK-ULAM AND HAM SANDWICH THEOREMS

Pebble Sets in Convex Polygons

Improved Bounds for Intersecting Triangles and Halving Planes

EXTERNAL VISIBILITY. 1. Definitions and notation. The boundary and interior of

Computational Geometry

Tutte s Theorem: How to draw a graph

[8] that this cannot happen on the projective plane (cf. also [2]) and the results of Robertson, Seymour, and Thomas [5] on linkless embeddings of gra

Computing intersections in a set of line segments: the Bentley-Ottmann algorithm

Finding a minimum-sum dipolar spanning tree in R 3

Planar Graphs. 1 Graphs and maps. 1.1 Planarity and duality

10. Line Arrangements Lecture on Monday 2 nd November, 2009 by Michael Homann

Linear Programming in Small Dimensions

Math 5593 Linear Programming Lecture Notes

An Improved Bound for k-sets in Three Dimensions. November 30, Abstract

Monotone Paths in Geometric Triangulations

Point-Set Topology 1. TOPOLOGICAL SPACES AND CONTINUOUS FUNCTIONS

Polygon Triangulation

A Constructive Proof of Ky Fan's Generalization of Tucker's Lemma

Sperner and Tucker s lemma

POLYHEDRAL GEOMETRY. Convex functions and sets. Mathematical Programming Niels Lauritzen Recall that a subset C R n is convex if

Stabbers of line segments in the plane

Exact adaptive parallel algorithms for data depth problems. Vera Rosta Department of Mathematics and Statistics McGill University, Montreal

Rubber bands. Chapter Rubber band representation

THREE LECTURES ON BASIC TOPOLOGY. 1. Basic notions.

Parameterized Complexity of Independence and Domination on Geometric Graphs

Lecture 3. Corner Polyhedron, Intersection Cuts, Maximal Lattice-Free Convex Sets. Tepper School of Business Carnegie Mellon University, Pittsburgh

CS 532: 3D Computer Vision 14 th Set of Notes

Geometry. Geometric Graphs with Few Disjoint Edges. G. Tóth 1,2 and P. Valtr 2,3. 1. Introduction

Enumerating Triangulations of Convex Polytopes

Packing Two Disks into a Polygonal Environment

THE DIMENSION OF POSETS WITH PLANAR COVER GRAPHS

arxiv: v1 [cs.cg] 8 Jan 2018

Chapter 8. Voronoi Diagrams. 8.1 Post Oce Problem

Chapter 6. Planar Orientations. 6.1 Numberings of Digraphs

An Efficient Algorithm for 2D Euclidean 2-Center with Outliers

Three Dimensional Geometry. Linear Programming

Math 414 Lecture 2 Everyone have a laptop?

Pat Morin School of Computer Science Carleton University

Unfolding Rectangle-Faced Orthostacks

Numerical Optimization

Uniform edge-c-colorings of the Archimedean Tilings

ALGORITHMS FOR BALL HULLS AND BALL INTERSECTIONS IN NORMED PLANES

Linear Data Structures for Fast Ray-Shooting amidst Convex Polyhedra

Line Arrangements. Applications

ON THE MAXIMAL VOLUME OF THREE-DIMENSIONAL HYPERBOLIC COMPLETE ORTHOSCHEMES

INTRODUCTION TO THE HOMOLOGY GROUPS OF COMPLEXES

A Point in Non-Convex Polygon Location Problem Using the Polar Space Subdivision in E 2

Edge Guards for Polyhedra in Three-Space

Computational Geometry

CS S Lecture February 13, 2017

Hamiltonian cycles in bipartite quadrangulations on the torus

Chapter 11. Line Arrangements

Background for Surface Integration

Lectures on Discrete Geometry

arxiv: v1 [math.co] 15 Dec 2017

arxiv: v2 [math.co] 13 Aug 2013

Chapter 4 Concepts from Geometry

Optimal detection of intersections between convex polyhedra

Basic tool: orientation tests

COMP30019 Graphics and Interaction Transformation geometry and homogeneous coordinates

Lecture 2 September 3

International Journal of Computational Geometry & Applications c World Scientific Publishing Company

The equal tangents property

How to Cover Most of a Point Set with a V-Shape of Minimum Width

6.854J / J Advanced Algorithms Fall 2008

CMSC 754 Computational Geometry 1

Transcription:

Orthogonal Ham-Sandwich Theorem in R 3 Downloaded 11/24/17 to 37.44.201.8. Redistribution subject to SIAM license or copyright; see http://www.siam.org/journals/ojsa.php Abstract The ham-sandwich theorem states that, given d 2 measures in R d, it is possible to divide all of them in half with a single (d 1)-dimensional hyperplane. We study an orthogonal version of the ham-sandwich theorem and define an orthogonal cut using at most d hyperplanes orthogonal to coordinate axes. For example, a hyperplane orthogonal to a coordinate axis and the boundary of an orthant are orthogonal cuts. We prove that any three measures in R 3 can be divided in half each with a single orthogonal cut. Applied to point measures, it implies that any three finite sets of points in R 3 can be simultaneously bisected by an orthogonal cut. We present an algorithm for computing an orthogonal ham-sandwich cut in O(n log n) time. 1 Introduction Topological methods find applications in Computational Geometry [14]. A classical example is the ham-sandwich theorem. It has several versions depending on the measure type [7, 11]. We consider two versions: continuous and discrete. Following [11], in the continuous case, we assume Borel measures. A finite Borel measure μ on R d, d 1 is a measure on R d such that all open subsets of R d are measurable and 0 < μ(r d ) <. For a measurable set A R d, its μ-weight is denoted as μ(a). Theorem 1.1. (Ham-sandwich cut, continuous version) Let μ 1, μ 2,..., μ d be finite Borel measures in R d such that every hyperplane has measure 0 for each of the μ i. Then there exists a hyperplane h such that μ i (h + ) = 1 2 μ i(r d ) for all i = 1, 2,..., d where h + denotes one of the halfspaces defined by h. The discrete version of the ham-sandwich theorem deals with point sets. A hyperplane h in R d bisects a finite set S R d if each open halfspace defined by h contains at most S /2 points of S. Department of Computer Science, University of Texas at Dallas, Box 830688, Richardson, TX 75083, USA. E-mail: besp@utdallas.edu Sergey Bereg Theorem 1.2. (Ham-sandwich cut, discrete version) Let S 1, S 2,..., S d be finite sets of points in R d. Then there exists a hyperplane that simultaneously bisects S 1, S 2,..., S d. Several algorithms are designed for computing hamsandwich cuts. In the plane, we assume that the points are colored: S 1 is colored in red and S 2 is colored in blue. Megiddo [12] described an algorithm for the special, separated case where all red points are separated by a line from all blue points. Then there is a unique hamsandwich cut and it can be computed in linear time by Megiddo s algorithm. Edelsbrunner and Waupotitsch [8] modified Megiddo s method for the general planar case. Their algorithm finds a ham-sandwich cut in O(n log n) time. Cole, Sharir and Yap [6] described an algorithm that has the same complexity (as pointed out in [10]). Lo, Matoušek and Steiger [10] found a linear time algorithm for computing a ham-sandwich cut in the plane. They also designed algorithms for computing ham-sandwich cuts in higher dimensions. For d = 3, 4, their algorithm runs in time almost proportional to e d 1 (n; n/2) where e d (n; k) denotes the maximal number of k-sets over sets of n points in R d. In this paper we study an orthogonal version of the ham-sandwich theorem. For example, in the plane an orthogonal cut is defined as a horizontal line, or a vertical line, or two rays, horizontal and vertical, emanating from a common point, see Fig. 1 for an example. It is not difficult to see that an orthogonal cut bisecting any two finite sets of red and blue points always exists [9, 4] (it follows from the intermediate value theorem). In a recent paper [4], the author studied orthogonal equipartitions of two measures in the plane and proved the existence of orthogonal equipartition into k 2 regions using at most k 1 horizontal segments and at most k 1 vertical segments. The main result of this paper is the existence of an orthogonal ham-sandwich cut in R 3. We also present an algorithm for computing such a cut in O(n log n) time where n is the total number of given points in R 3. Any orthogonal cut in the plane (see Fig. 1) can be viewed as a 2-fan where two semi-infinite rays are horizontal and vertical. Using general 2-fans any three measures in the plane can be bisected [1] (see also [3, 13]). 1605 Copyright by SIAM.

Figure 1: Two cuts bisecting red and blue points in the plane: the cut by a line and the orthogonal cut. Each cut splits 10 red points and 6 blue points in half. A related problem is the geodesic ham-sandwich cuts defined for two-colored sets in a simple polygon. Recently, Bose et al. [5] developed an efficient algorithm for computing geodesic ham-sandwich cuts. By transforming Cartesian coordinates we can prove the existence of a ham-sandwich cut in R 3 aligned with any set of three linearly independent vectors v 1, v 2, v 3, i.e. each face of the cut is parallel to a plane determined by two vectors v i and v j. 2 Orthogonal Cuts In the plane, an orthogonal cut is an axis-parallel line or an L-shaped cut, see Fig. 1. An axis-parallel line can be viewed as a special case of an L-shaped cut where the apex moves to infinity. It would appear, at first sight, that orthants are sufficient for orthogonal cuts in R 3, i.e. an orthant cut here is the boundary of an orthant defined as the set {p p x q x, p y q y, p z q z, } for some point q R 3 where symbol denotes either or (again we can allow the apex to move to infinity). However, there are examples of three point measures (finite point sets whose coordinates along each axis are distinct) that do not admit an orthant cut bisecting all three measures. In order to obtain an orthogonal version of the ham-sandwich theorem, we extend the class of orthant cuts. We define orthogonal cuts in R 3 by allowing one non-convex face. An orthogonal cut is defined as a twodimensional manifold M in R 3 satisfying one of the following conditions (i) M is a plane orthogonal to one of the coordinate axes, for example M = {p p z = z 0 }. (ii) M consists of two halfplanes orthogonal to different coordinate axes and intersecting by an edge, for example M = {p (p x = x 0 p z z 0 ) (p x x 0 p z = z 0 )}. (b) (c) (d) (a) X X X X Z Z Z Z Figure 2: Orthogonal cuts. (a) Plane, (b) two faces, (c) orthant, and (d) L-shaped cut. Y Y Y Y 1606 Copyright by SIAM.

(iii) M is the boundary of an orthant A, for example A = {p p x x 0, p y y 0, p z z 0 }. (iv) M consists of two quarter planes and one 3/4- plane orthogonal to three coordinate axes (one per plane), for example the boundary of a region {p (p x x 0 p y y 0 ) p z z 0 }. See Figure 2 for an illustration. 3 Orthogonal Cuts for Continuous Measures We will prove the existence of an orthogonal hamsandwich cut in R 3. The existence of an orthogonal ham-sandwich cut in the plane is based on the intermediate value theorem. Our proof for R 3 uses the winding number of a curve in the plane with respect to a point which is the total number of times the curve travels counterclockwise around the point. Using the polar coordinate system, consider a curve that does not pass through the origin and is parameterized as (r(t), θ(t)) for 0 t 1. Then its winding number is simply θ(1) θ(0). 2π Theorem 3.1. (Orthogonal ham-sandwich cut, continuous version) For any three absolutely continuous (with respect to the Lebesgue measure) finite Borel measures μ i, i = 1, 2, 3 in R 3, there exists an orthogonal cut c dividing R 3 into c + and c such that μ i (c + ) = μ i (c ) for all i = 1, 2, 3. Proof. Following [1, 2] we make a stronger assumption that the measures are nice, i.e., the measures are absolutely continuous with respect to the Lebesgue measure and such that any nonempty open set has a strictly positive measure. This simplifies the proof and the restrictions can be justified using standard arguments (measure approximation and compactness), see for example [1, Lemma 3.1] and [2]. We also assume for simplicity that μ i (R 3 ) = 1 for all i. Let z = z 0 be the equation of the horizontal plane halving μ 1, i.e. μ 1 ({p p z z 0 }) = 1/2. Similarly, let x = x 0 and y = y 0 the equations of halving planes for μ 1 (planes are perpendicular to x- and y-axis). Fix any z > z 0. Define a region A(x) = {p p x x, p z z } in R 3 for all x R. Then μ 1 (A(x)) is a decreasing function and lim x μ 1(A(x)) = μ 1 ({p p z z }) > 1 2 > μ 1(A(x 0 )). There is a unique x 1 < x 0 such that μ 1 (A(x 1 )) = 1/2. We also define a region B(x) = {p p x x, p z z } in y 2 y 1 f g x 1 x 2 Figure 3: Functions f and g. R 3 for all x R. Similarly, there is a unique x 2 > x 0 such that μ 1 (B(x 2 )) = 1/2. We also define y 1 and y 2 such that y 1 < y 0 < y 2 and μ 1 ({p p y y 1, p z z } = μ 1 ({p p y y 2, p z z } = 1 2. Let C(x, y) denote the region {p p x x, p y y, p z z } in R 3 for all x, y R. We define a region F (x) in R 3 for all x R as follows. We assign F (x 1 ) = A(x 1 ). For every x < x 1, we assign F (x) = C(x, y) where y is chosen such that μ 1 (C(x, y)) = 1/2. The existence of such y follows from lim μ 1(C(x, y)) = 0 < 1 y 2 = μ 1(A(x 1 )) < μ 1 (A(x)) = lim y + μ 1(C(x, y)). For every x > x 1, we assign F (x) = {p (p x x p y y) p z z } where y is chosen such that μ 1 (F (x)) = 1/2. We also define a region G(x) in R 3 for all x R. We assign G(x 2 ) = {p p x x 2, p z z }. For every x > x 2, we assign G(x) = {p p x x, p y y, p z z } f g 1607 Copyright by SIAM.

where y is chosen such that μ 1 (G(x)) = 1/2. For every x < x 2, we assign G(x) = {p (p x x p y y) p z z } where y is chosen such that μ 1 (G(x)) = 1/2. Consider two maps f, g : R R 2 defined as and f(x) = (μ 2 (F (x)) 1/2, μ 3 (F (x)) 1/2) g(x) = (μ 2 (G(x)) 1/2, μ 3 (G(x)) 1/2). When x goes to, F (x) becomes {p p y y 2, p z z }. G(x) becomes the same region when x goes to +, so (3.1) (3.2) Similarly, lim f(x) = lim g(x). x x + lim f(x) = lim g(x) x + x since the limiting region is {p p y y 1, p z z } in both limits. If z goes to + then x 1 = x 2 = x 0, y 1 = y 2 = y 0 and f(x) = g(x) for all x R since F (x) G(x) = R 3 and μ 2 (R 3 ) = μ 3 (R 3 ) = 1. If z goes to z 0 then x 1 and y 1 go to and x 2 and y 2 go to +. Therefore both F (x) and G(x) become the halfspace h 0 = {p p z z 0 } for any x R. Then, for any x R, lim f(x) = lim g(x) = (μ 2 (h 0 ) 1 z z 0 z z 0 2, μ 3(h 0 ) 1 2 ). Consider the function γ : ( 1, 1) R defined as x if 0 x < 1, 1 x γ(x) = x if 1 < x < 0. 1 + x We define a map β : S 1 R 2 where S 1 = {p p 2 = 1} is the unit circle as follows. For a point p = (cos φ, sin φ) S 1, set f(γ(cos φ)) if 0 < φ < π, g( γ(cos φ)) if π < φ < 2π, β(p) = lim f(x) if φ = 0, 2π, x + lim if φ = π. x f(x) By Equations (3.1,3.2), β is continuous at φ = 0, π, 2π and the image of S 1 is a closed curve. If the image contains (0, 0) for some z then it corresponds to an orthogonal ham-sandwich. If the image does not contain (0, 0) for z = +, then its winding number is odd since f(x) = g(x) for all x R. Indeed, if the image of the upper half-circle of S 1 (i.e. the path β(p) for φ [0, π]) makes t + 1/2 turns, then the image of the lower half-circle of S 1 makes again t+1/2 turns and the winding number is 2t + 1. For z = z 0, the image of β is a point. Then the winding number is equal to 0. There exists z such that the winding number of the image of β is not defined, i.e. β(p) = 0 for some point. The theorem follows. 4 Orthogonal Cuts for Point Measures In this Section we consider point measures μ i, i = 1, 2, 3 defined by three finite sets S i R 3 colored in three colors, say red (i = 1), blue (i = 2) and green (i = 3). For a set R R 3, its μ i -measure is defined as the number of points of ith color in R, i.e. μ i (R) = R S i. An orthogonal cut c bisects S i if (4.3) μ i (c + ), μ i (c ) S i /2 where c +, c are the (open) regions of R 3 c. Theorem 4.1. (Orthogonal ham-sandwich cut, discrete version) For any three finite sets S i, i = 1, 2, 3 of points in R 3, there exists an orthogonal cut simultaneously bisecting each set S i. Such an orthogonal cut can be computed in O(n log n) time where n is the total size of point sets n = S 1 + S 2 + S 3. First, we consider the general case where no two points from S = S 1 S 2 S 3 have the same x-coordinate, or the same y-coordinate, or the same z-coordinate. We also assume for simplicity that the number of points of each color is even, i.e. S i = 2n i for i = 1, 2, 3. Let N = n 1 + n 2 + n 3. Then the total number of given points is S = 2N. If an orthogonal cut avoids S and bisects S i then Inequality (4.3) means the equality (4.4) μ i (c + ) = μ i (c ) = n i. We prove the following theorem first. Theorem 4.2. Let S i, i = 1, 2, 3 be a set of 2n i points in R 3 such that the points of S = S 1 S 2 S 3 have distinct x-, y-, and z-coordinates. Then there exists an orthogonal cut c avoiding S and simultaneously bisecting each set S i. Such an orthogonal cut can be computed in O(n log n) time where n is the total size of point sets n = S 1 + S 2 + S 3. 1608 Copyright by SIAM.

5 Proof of Theorem 4.2 Let X be the set of measurable sets in R 3. For detecting whether an orthogonal cut c bisects S i, we introduce a map α : X Z 2 by α(r) = (α 1 (R), α 2 (R)) where R X and α i (R) = δ(μ i (R) n i ), i = 1, 2 and δ(x) = { 0, x = 0 x/ x, x = 0. Let c be an orthogonal cut and c +, c be the regions of R 3 c. If an orthogonal cut c avoids S and c + S = N then c bisects all S i, i = 1, 2, 3 if and only if α(c + ) = α(c ) = (0, 0). We sort S by each coordinate. Without loss of generality we assume that coordinates are points in S are integers and, even more, the coordinates of all points along every axis are {1, 2,..., 2N} 1. Let z be a number k + 1/2 for some k {N, N + 1,..., 2N}. Let S be the set of points p from S such that p z < z. Then S = k. Let x 1, x 2,..., x k be the x-coordinates of points in S in sorted order and let y 1, y 2,..., y k be the y-coordinates of points in S in sorted order. For completeness, we add dummy points x 0, y 0 = and x k+1, y k+1 = +. We define an analogue of the map f as follows. Project vertically the points of S onto the horizontal plane with equation z = z. Consider the arrangement A of lines with equations x = x i and y = y i, i = 1, 2,..., k. As in the proof of Theorem 3.1 we use regions C(x, y) = {p p x x, p y y, p z z } in R 3. After the projection onto the plane z = z, we have the region C (x, y) = {p R 2 p x x, p y y}. We assign α-label for a point (x, y) as α(c(x, y)). Any two points from the same face of the arrangement A have the same αlabels. Then the first branch of the map f in the proof of Theorem 3.1 corresponds to the chain of faces H such that C (x, y) contains exactly N points for every point (x, y) in H, see Fig. 5 for an example. Similarly, we define the chain f 2 using the regions {p (p x x p y y) p z z } in R 3 or {p p x x p y y} in the projection. To distinguish the labels of chains f 1 and f 2, we use notation α(f i, H) for the label of a face H in a chain f i, i = 1, 2. The chains f 1 and f 2 have one face (x k N, x k N+1 ) (y k, y k+1 ) in common, see Fig. 5 (a). Similarly, we define two chains g 1 and g 2. We denote the label of a face H in a chain g i, i = 1, 2 as α(g i, H). Fig. 5 (b). 1 The indices of sorted points can be used instead of the actual coordinates. The orthogonal cut can be then transformed to partition the actual points. y 9 y 8... y 2 y 1 y 9 y 8... y 2 y 1 T x 1 x 2... x 8 x 9 (a) x 1 x 2... x 8 x 9 (b) Figure 4: The points of S are projected onto the plane defined by z = z. N = 5 and k = 9 in this example. (a) An analogue of map f for point measures. It contains two chains of faces: left chain f 1 and right chain f 2. The face T (and the face below) belongs to both chains. (b) Two chains of faces corresponding to map g: left chain g 1 and right chain g 2. 1609 Copyright by SIAM.

(-1,1) (-1,0) (0,1) (1,1) (1,0) (-1,-1) (0,-1) (1,-1) (-1,0) (-1,1) (-1,-1) (a) (0,1) (0,-1) (b) (1,1) (1,0) (1,-1) Figure 5: Label diagram. (a) Transitions. (b) Circular diagram. Label diagram. Note that two neighboring faces in the chain either share an edge of A or a vertex which is not in S. In the first case, the faces have the same label. To see the labels in the second case, consider two such faces H 1 and H 2, say from the chain f 1. Let p i, i = 1, 2 be a point from the face H i. The regions C (p 1 ) and C (p 2 ) contains different sets of points from S. Actually, there are two points q 1 and q 2 in S such that (C (p 1 ) S ) + {q 1 } = (C (p 2 ) S ) + {q 2 }. If q 1 and q 2 have the same color then the labels of H 1 and H 2 are the same. If a label of a face H i, i = 1, 2 is (0, 0) then it corresponds to an orthogonal ham-sandwich cut. Suppose that none of the faces of the chain f 1 has label (0, 0). Then the labels of H 1 and H 2 are neighbors in the label diagram shown in Fig. 5 (a). We also consider a circular diagram to map the labels different from (0, 0) on a circle, see Fig. 5 (b). In summary, Lemma 5.1. The labels of two neighboring faces of the chain f i or g i, i = 1, 2 are endpoints of an arc of length at most 1/4 of the circle in the circular diagram. Winding number. The leftmost face of chain f 1 is (x 0, x 1 ) (y N, y N+1 ). The rightmost face of chain f 2 is (x k, x k+1 ) (y k N, y k N+1 ). The leftmost face of chain g 1 is (x 0, x 1 ) (y k N, y k N+1 ). The rightmost face of chain g 2 is (x k, x k+1 ) (y N, y N+1 ). The labels of the leftmost face of chain f 1 and the rightmost face of chain g 2 are equal. Similarly, the rightmost face of chain f 2 and the leftmost face of chain g 1 have the same label. Then the traversal of chains f 1 f 2 g 2 g 1 makes a closed walk W on the circular diagram. The number of counter-clockwise turns of W is the winding number. Consider two consecutive horizontal planes with equations z = z and z = z where z = k + 1/2 and z = k 1/2. We use the same set S of points as before. Let S be the set of points p from S such that p z < z. Then S = k 1 and the difference between two sets S and S is only one point p with p z = k. When points are projected onto the plane z = 0, the projection of S is obtained from the projection of S by insertion of one point (p x, p y ). How does it affect the chains f 1, f 2, g 1, and g 2? Consider a face H of the arrangement for S and let C be the column of the arrangement containing H. Suppose that H lies in the chain f 1. Then H will be in the chain f 1 for S if and only if p x < h x or p y > h y for any point h H. Otherwise the faces of the column C that are in the chain f 1 for S lie below H (we assume that (p x, p y ) does not lie in C here; C is split into two columns if (p x, p y ) lies in C). Thus the chain f 1 moves up when (p x, p y ) is inserted. Similarly, f 2 and g 1 move down and g 2 moves up. What difference does it make for labels of chains f 1, f 2, g 1, and g 2? We prove the following property of winding numbers. Lemma 5.2. If (0, 0) is not the label of a face in two arrangements for the planes with equations z = z and z = z, then the corresponding winding numbers are equal. Proof. It follows from the motion of the chains. For each column C, the change in the point count for corresponding faces is that at most one new point is counted and at most one point is removed from the count. Then the labels are at arc distance at most 1/4 of the circle in the circular diagram. The lemma follows. If k = 2N then the faces of chains f 1 and g 1 coincide. Also the faces of chains f 2 and g 2 coincide. A face H of chain f 1 has antipodal label in the chain g 2 α(f 1, H) = α(g 2, H). Similarly, a common face H of chains f 2 and g 1 has antipodal labels α(f 2, H) = α(g 1, H). Therefore the total number of turns of the traversal of chains f 1 f 2 g 2 g 1 made in the circular diagram is odd. 1610 Copyright by SIAM.

f 1, f 2 g 1, g 2 y 9 y 8... y 2 y 1 f 2 g 1 f 2, g 1 x 1 x 2... x 8 x 9 Figure 6: The arrangement A for k = N. If k = N then all the faces of chains f 1, f 2, g 1, and g 2 have the same label. Therefore the winding number for k = N is 0. By Lemma 5.2 there exists a face in the arrangement for some k {N, N +1,..., 2N} with label (0, 0). It corresponds to an orthogonal ham-sandwich cut. Computation. Sorting points by each coordinate takes O(n log n) time. We find k by performing binary search over the range {N, N + 1,..., 2N}. In the binary search step, suppose that the range for search is {a, a + 1,..., b}. For a given k [a, b], we do the following steps. (i) Find the set S of points p S with p z k. This can be done in O(n) time using sorted order by z-coordinate. (ii) Construct the chains f 1, f 2, g 1, and g 2 in linear time using sorted orders by x- and y-coordinate. (iii) Compute labels of the faces of chains f 1, f 2, g 1, and g 2 by traversing columns in O(n) time. If a label (0, 0) is encountered then return the corresponding orthogonal ham-sandwich cut. (iv) Compute the winding number corresponding to the walk W. If it is odd then reduce the range to [a, k 1], i.e. set b = k 1. Otherwise assign the range to [k + 1, b]. The algorithm terminates since an orthogonal hamsandwich cut exists. The running time for each binary search step in O(n). Therefore the total running time is O(n log n). This concludes the proof of Theorem 4.2. 6 Degenerate case In this Section we prove Theorem 4.1 for point sets that can have equal coordinates. First, we show it for the case where the number of points of each color is even. We perturb points as in [4] to a new configuration such that the points have distinct x-, y-, and zcoordinates. Let δ x > 0 be the smallest positive difference between x-coordinates of two points of R B. Let p 1, p 2,..., p t be points with the same x-coordinate, i.e. p i = (x 0, y i, z i ). We assume that the points are sorted by y- and z-coordinate (lexicographically). We change x-coordinate of p i to x 0 +iδ where δ > 0 is a real number smaller than δ x /t. Similarly, we change y- and z-coordinates of the points. Let S i, i = 1, 2, 3 be the perturbed point sets. Clearly, the points of S = S 1 S 2 S 3 have distinct x-, y-, and z-coordinates. By Theorem 4.2, there exists an orthogonal hamsandwich cut for S. We perturb this cut as follows. Consider a face f of C, say orthogonal to the x-axis and satisfying an equation x = a. If the plane x = a splits a group of points p 1, p 2,..., p t that are perturbed as above, then we perturb C such that f lie in the plane with equation x = x 0. Otherwise we do not change f. After adjusting all faces of C, it satisfies the condition of Theorem 4.1. If the number of points of some color, say red, is odd then we double every red point and apply the above argument. Theorem 4.1 follows. 7 Conclusion In this paper we proved the existence of an orthogonal cut bisecting 3 measures in R 3. The obvious question is whether an orthogonal ham-sandwich cut exists in dimensions d 4. Orthogonal cuts is a natural idea that is used in many data structures. To our knowledge, it has not been studied for ham-sandwich partitions in higher dimensions. For point measures, we presented an algorithm with O(n log n) running time. Interestingly, our algorithm is faster than the current best algorithm [10] for computing (standard) ham-sandwich cuts in R 3 which running time depends on the complexity of k-sets in the plane. An open question is the complexity of the problem of computing an orthogonal ham-sandwich cut in R 3. References [1] I. Bárány and J. Matoušek. Simultaneous partitions of measures by k-fans. Discrete Comput. Geom., 25(3):317 334, 2001. 1611 Copyright by SIAM.

[2] I. Bárány and J. Matoušek. Equipartition of two measures by a 4-fan. Discrete Comput. Geom., 27(3):293 301, 2002. [3] S. Bereg. Equipartitions of measures by 2-fans. Discrete Comput. Geom., 34(1):87 96, 2005. [4] S. Bereg. Orthogonal equipartitions. Comput. Geom. Theory Appl., 42(4):305 314, 2009. [5] P. Bose, E. D. Demaine, F. Hurtado, J. Iacono, S. Langerman, and P. Morin. Geodesic ham-sandwich cuts. Discrete Comput. Geom., 37(3):325 339, 2007. [6] R. Cole, M. Sharir, and C. K. Yap. On k-hulls and related problems. SIAM J. Comput., 16:61 77, 1987. [7] H. Edelsbrunner. Algorithms in Combinatorial Geometry, volume 10 of EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Heidelberg, West Germany, 1987. [8] H. Edelsbrunner and R. Waupotitsch. Computing a ham-sandwich cut in two dimensions. J. Symbolic Comput., 2:171 178, 1986. [9] M. Kano, T. Kawano, and M. Uno. Balanced subdivision of two sets of points in the plane lattice. In The Kyoto International Conference on Computational Geometry and Graph Theory, 2007. [10] C.-Y. Lo, J. Matoušek, and W. L. Steiger. Algorithms for ham-sandwich cuts. Discrete Comput. Geom., 11:433 452, 1994. [11] J. Matoušek. Using the Borsuk-Ulam Theorem. Springer-Verlag, Heidelberg, 2003. [12] N. Megiddo. Partitioning with two lines in the plane. J. Algorithms, 6:430 433, 1985. [13] S. Roy and W. Steiger. Some combinatorial and algorithmic aspects of the Borsuk-Ulam theorem. Graphs and Combinatorics, 23:331 341, 2007. [14] R. T. Živaljević. Topological methods. In J. E. Goodman and J. O Rourke, editors, Handbook of Discrete and Computational Geometry, chapter 14, pp. 305 330. CRC Press LLC, Boca Raton, FL, 2004. 1612 Copyright by SIAM.