The Voronoi diagram of three arbitrary lines in R

The Voronoi diagram of three arbitrary lines in R3
Hazel Everett†
Christian Gillot†
Daniel Lazard‡
Sylvain Lazard†
Marc Pouget†
Abstract
In this paper we study the Voronoi diagram of lines in R3 . The Voronoi diagram of
three lines in general position was studied in [14]. In this paper we complete this work
by presenting a complete characterization of the Voronoi diagram of three arbitrary
lines in R3 . As in the general case, we prove that the arcs of trisectors are always
monotonic in some direction and we show how to separate the connected components
and to sort points along each arc of a trisector using only rational linear semi-algebraic
tests. These results are important for the robust computation of the Voronoi diagram
of polyhedra.
†
‡
LORIA - INRIA Lorraine - University Nancy 2, [email protected]
LIP6 - INRIA Rocquencourt - University Pierre et Marie Curie, [email protected]
1
Introduction
The Voronoi diagram of a set of disjoint objects is a decomposition of space into cells,
one cell per object, such that the cell associated with an object consists of all points that
are closer to that object than to any other object. In this paper, we consider the Voronoi
diagram of lines in R3 under the Euclidean metric.
Voronoi diagrams have been the subject of a tremendous amount of research. For
points, these diagrams, their complexity and optimal algorithms are well understood and
robust efficient implementations exist for computing them in any dimension (see for instance [1, 2, 4, 5, 7, 8, 15, 23, 26]) although some important problems remain and are
addressed in recent papers. The same is true for segments and polygons in two dimensions [18].
For lines, segments, and polyhedra in three dimensions much less is known. In particular, determining the combinatorial complexity of the Voronoi diagram of n lines or line
segments in R3 is an outstanding open problem. The best known lower bound is Ω(n2 )
and the best upper bound is O(n3+ ) [27]. It is conjectured that the complexity of such
diagrams is near-quadratic. In the restricted case of a set of n lines with a fixed number
of possible orientations, Koltun and Sharir have shown an upper bound of O(n2+ ), for
any > 0 [20].
There are few algorithms for computing exactly the Voronoi diagram of linear objects.
Most of this work has been done in the context of computing the medial axis of a polyhedron, i.e., the Voronoi diagram of the faces of the polyhedron [9, 21]. Recently, some
progress has been made on the related problem of computing arrangements of quadrics
(each cell of the Voronoi diagram is a cell of such an arrangement) [3, 19, 22, 24, 25].
Finally, there have been many papers reporting algorithms for computing approximations
of the Voronoi diagram (see for instance [11, 13, 16, 28]).
In this paper, we address the fundamental problem of understanding the structure of
the Voronoi diagram of three lines. A robust and effective implementation of Voronoi
diagrams of three-dimensional linear objects requires a complete and thorough treatment
of the base cases, that is, the diagrams of three and four lines, points or planes. Indeed,
one of the few shortcomings of Culver’s algorithm for the exact computation of the medial
axis of a polyhedron, which handles many degeneracies, is that it does not handle the case
of a singular trisector [9]. We provide here a complete characterization of the Voronoi
diagram of three arbitrary lines in R3 . This completes the study of three lines, the case of
three lines in general position having been studied in [14].
The Voronoi diagram of three arbitrary lines.
The Voronoi diagram of a set of lines S is a subdivision V of R3 into regions called cells
associated with subsets s of S. The cell V (s) consists of the set of points equidistant to
the lines of s and strictly closer to those lines than to any other line. The distance between
a point p and a line s, d(p, s) is defined as the minimum Euclidean distance between the
point and any point on the line. More precisely,
V (s) = p ∈ R3 , a ∈ s : d(p, a) < min d(p, b)
b∈S\s
and ∀c ∈ s : d(p, a) = d(p, c)
The Voronoi diagram of pairwise skew lines consists of cells of dimension k determined
by 4 − k lines, 0 6 k 6 3. The cells are not necessarily connected even in the generic
case [14] and when the lines intersect the number of connected components, as we shall
see, may increase. One way of handling intersecting objects is to subdivide them into nonintersecting pieces; for example, in the case of line segments in 2D, intersecting segments
1
are partitioned into points and open segments [17]. Following this approach, we could
handle intersecting lines by subdividing them into points, open rays and open segments.
Since the bisector of two open segments is typically computed by first computing the
bisector of their supporting lines, this approach also requires understanding the nature of
the cells in the case of intersecting lines.
Main results.
Our main results are summarized in the following theorems which describe the cells of
dimension one and two of the Voronoi diagram of three lines.
Theorem 1 The trisector of three lines is
(i) a non-singular quartic if the three lines are pairwise skew but not all parallel to a
common plane nor on the surface of a hyperboloid of revolution,
(ii) a cubic and a line if the three lines are pairwise skew and lie on the surface of a
hyperboloid of revolution,
(iii) a nodal quartic if the three lines are pairwise skew and are all parallel to a common
plane,
(iv) one or two parabolas or hyperbolas if there is exactly one pair of coplanar lines,
(v) between 0 and 4 lines if there are two pairs of coplanar lines.
In all cases, each branch of the trisector is monotonic in some direction.1
The following theorem summarizes the geometry of the cells of dimension two. We
actually provide a much more precise description of the 2D cells; see Propositions 12, 20,
24, 26, and 28.2
Theorem 2 A cell of dimension two of a Voronoi diagram of three lines consists of up to
four connected components of hyperbolic paraboloids or planes.
This characterization yields some fundamental properties of the Voronoi diagram of
three lines which are likely to be critical for the analysis of the complexity and the development of efficient algorithms for computing Voronoi diagrams and medial axis of lines or
polyhedra. In particular, we obtain the following:
Theorem 3 There is a rational linear semi-algebraic test for
(i) given a point on a 2D cell, deciding on which of the connected components of the cell
it lies,
(ii) given a point on the trisector, deciding on which of the branches of the trisector it
lies,
(iii) ordering points on each branch of the trisector, knowing that they lie on the trisector.
While the proofs primarily use basic notions from geometry and algebra, such as
the classification of conics [10], it also relies on two recent results, the classification of
quadrics [12] by Dupont et al., and a characterization of the common tangents to spheres [6]
by Borcea et al.
The rest of the paper is organized as follows. The next section presents notation and
some preliminary lemmas. We then prove our main results about trisectors and cells of
dimension two, case by case. Section 4 discusses Theorem 3.
2
Preliminaries
Let `1 , `2 , and `3 be three lines in R3 and let (X, Y, Z) denote a Cartesian coordinate
system. Without loss of generality, we assume that, whenever there are two skew lines
1
2
See Table 1 and Figure 8 in the Appendix for a slightly finer classification of cases (iv) and (v).
See also Table 2 in the Appendix for more details.
2
amongst the three lines, that the lines `1 and `2 are parallel to the XY -plane, pass through
(0, 0, 1) and (0, 0, −1) respectively, and have directions that are symmetric with respect to
the XZ-plane. More precisely, we assume that line `1 is defined by point p1 = (0, 0, 1) and
vector v1 = (1, a, 0), and line `2 by point p2 = (0, 0, −1) and vector v2 = (1, −a, 0), a ∈ R.
See Figure 1(a).
We denote by Hi,j the bisector of lines `i and `j . It is well-known, see for instance [20],
that the bisector of two pairwise skew lines is a right hyperbolic paraboloid, that is, has
equation of the form Z = γ X Y , γ ∈ R, in some coordinate system.
Recall that our objective is to characterize the Voronoi diagram of three lines in R3 .
We will often, however, for convenience, consider our lines in projective space. We say that
two lines intersect if they intersect in P3 (R) i.e. they are coplanar in R3 , or equivalently,
intersect or are parallel in R3 .
We will make use of the following lemma which provides a geometric characterization
of three lines whose trisector contains a line.
Lemma 4 If the trisector contains a line then either the three lines are pairwise skew and
lie on a hyperboloid of one sheet of revolution or one of the lines intersects the other two
in P3 (R).
Proof.
Let `1 , `2 and `3 be three lines whose trisector includes a line `. Any point p
on ` is equidistant to `1 , `2 and `3 so p is the center of a sphere that is tangent to all
of `1 , `2 and `3 . Consider three distinct such points on ` and the three corresponding
spheres. If these spheres have a common intersection, then this common intersection is
a circle (possibly reduced to a point) and all lines tangent to the three spheres lie in the
plane of this circle, and thus all three lines are coplanar and pairwise intersect in P3 (R).
Otherwise, the set of lines tangent to the three spheres are the ruling(s) of a single quadric
of revolution with symmetry axis the line through their centers [6, Lemma 7]. This quadric
is a hyperboloid of one sheet, a cone or a cylinder. Now three lines lying on a cone or a
cylinder pairwise intersect in P3 (R). Finally, if the three lines lie in the same ruling of a
hyperboloid of one sheet of revolution then they are pairwise skew. Otherwise, one of the
lines lies in one ruling and intersects the two lines lying in the other ruling.
3
Trisectors and cells of dimension two
In this section we present the proof of Theorems 1 and 2 which describe the cells of
dimension one and two of the Voronoi diagram of three arbitrary lines.
3.1
Three pairwise skew lines not all parallel to a common plane
The results in the case of lines in general position can be found in [14]. We reproduce
them here for completeness. See Figure 1.
Proposition 5 ([14]) The topology of the Voronoi diagram of three pairwise skew lines
that are not all parallel to a common plane is invariant. The trisector consists of four
infinite branches of either a non-singular quartic or of a cubic and a line that do not
intersect in P3 (R). Each cell of dimension two consists of two connected components on
a hyperbolic paraboloid that are bounded, respectively, by three and one of the branches of
the trisector.
Proposition 6 ([14]) The trisector of three pairwise skew lines that are not all parallel
to a common plane consists of a cubic and a line if and only if the hyperboloid of one sheet
containing the three skew lines is of revolution.
3


Z
`1 : 
O
Y


`2 : 
y = ax
z=1
y = −ax
z = −1
Y
X
X
(a)
(b)
(c)
Figure 1: (a) The standard configuration of two skew lines. (a) The trisector of three skew
lines is a non-singular quartic. (b) Orthogonal projection of a 2D cell on a plane P with
coordinate system (X, Y ); the plane’s normal is parallel to the common perpendicular of `1
and `2 and the X and Y -axes are parallel to the two bisector lines (in P) of the projection
of `1 and `2 on P. The 2D cell is bounded by four branches of the trisector.
Z
`3
v3 = (1, β, 0)


p3 = (0, y, z)
O
Y
`1 : 


`2 : 
X
y = ax
z=1
y = −ax
z = −1
(a)
(b)
(c)
Figure 2: (a) Three pairwise skew lines all parallel to the same plane. (b) The trisector,
which is a nodal quartic, is the intersection of hyperbolic paraboloids, or, equivalently, (c)
the intersection of a hyperbolic paraboloid and a hyperbolic cylinder : H1,2 − H1,3 ∩ H1,2
Monotonicity Property Given three pairwise skew lines that are not all parallel to a
common plane, there is a direction in which all four branches of the trisector are monotonic.
3.2
Three pairwise skew lines all parallel to a common plane
Refer to Figure 2. In this section we prove the following proposition.
Proposition 7 The trisector of three pairwise skew lines all parallel to the same plane is
a nodal quartic whose singularity is at infinity. It consists of two branches that project,
in the direction orthogonal to the plane to which the lines are parallel, onto a rectangular
hyperbola.
Let `1 , `2 , and `3 be three pairwise skew lines all parallel to the same plane with `1 and
`2 as in Figure 1(a). Moreover, line `3 is parallel to the plane z = 0, and we also assume
that `3 is not parallel to the Y -axis, by exchanging the role of X and Y if necessary. In
particular, line `3 is defined by point p3 = (0, y, z) and vector v3 = (1, β, 0), y, z, β ∈ R,
z 6= ±1. Finally, we have that a 6= 0 and β 6= ±a, since no two lines are parallel. See
Figure 2(a).
4
Lemma 8 The projection of the trisector in a plane parallel to the lines is a rectangular
hyperbola.
Proof.
The trisector is given by the intersection of the bisectors H1,2 and H1,3 , or
equivalently, as the intersection of H1,2 − H1,3 and, say, H1,2 . See Figure 2. Both of
H1,2 and H1,3 are rectangular hyperbolic paraboloids and can be written in the form
Z = f (X, Y ). This implies that H1,2 − H1,3 , is a degree 2 equation in X and Y ,
H1,2 − H1,3 : (a2 − β 2 )X 2 − (a2 − β 2 )Y 2 − 2βy(1 + a2 )X
+2y(1 + a2 )Y + 2((1 + a2 )β − az(1 + β 2 ))XY
−(1 + a2 )((z 2 − 1)(1 + β 2 ) + y 2 ) = 0,
that is, a cylinder, whose axis is the Z-axis and whose projection onto the XY -plane is
a conic. Any curve traced on the surface of this cylinder, and in particular, the trisector, projects onto this conic. By the standard classification of conics [10], the conic is a
hyperbola or a pair of lines if the determinant, K, of the upper-left 2 x 2 matrix of the
coefficient matrix3 of the conic is negative. This is the case since the coefficients of the X 2
and Y 2 terms have opposite signs and are non-zero since a 6= ±β. By Lemma 4, the conic
is not a pair of lines, hence it is a hyperbola. Furthermore, the coefficients of the X 2 and
Y 2 terms are equal and opposite which gives that the hyperbola is rectangular.
Lemma 9 The trisector is a nodal quartic.
Proof. We use the following result of Dupont et al. [12] : the intersection of two quadrics
Q and R is, in P3 (R), either a nodal quartic or one or two conics if the determinant of the
characteristic polynomial of the pencil of the quadrics Q + λR, ∀λ ∈ R, has one double
real root and two simple complex roots. For the quadrics H1,2 and H1,3 we get that this
determinant is :
D = 16(1 + a2 )3
· (1 + β 2 )(a + β)2 λ2 − 4a(a + β)(aβ + 1)λ + 4a2 (1 + a2 )
2
· − (1 + β 2 )(1 + c)λ + 2a(a2 + 1) .
Consider the polynomial of degree 2 in λ given by the second term. Its discriminant is
−16(−β + a)2 (β + a)2 a2 . Recall that a 6= ±β and so this discriminant is strictly negative
yielding two complex roots. The third term of D gives a double real root.
Now suppose that the trisector is one or two conics. Since the trisector projects to a
hyperbola, it contains at least one conic that is a hyperbola and thus intersects the plane
at infinity in at least 2 points. We show now that the trisector intersects the plane at
infinity in a single point, hence it is a nodal quartic.
To compute the intersection of the trisector with the plane at infinity we intersect each
homogenized bisector H1,2 and H1,3 with the plane w = 0. This gives two curves in the
plane w = 0 whose intersection are the points we are looking for. In other words, we are
looking for the solutions to the following system :
3

 0 = −aXY
0 = (a2 − β 2 )X 2 − (a2 − β 2 )Y 2 + 2(β 2 + β 2 a + a2 β + a)XY

0=w
The coefficient matrix is the hessian of the trivariate quadratic form associated to the homogenized
equation of the conic
5
The first equation implies that X or Y is 0. Substituting Y = 0 (resp. X = 0) into the
second equation gives (a2 − β 2 )X 2 = 0 (resp. (a2 − β 2 )Y 2 = 0). Now since a 6= ±β, this
implies that Y = 0 (resp. X = 0). The solution to the system then is the single point
(0, 0, z, 0) = (0, 0, 1, 0).
Lemma 10 The trisector has a singular point at infinity and consists of two branches.
Proof. The trisector is a nodal quartic and thus has one singular point. We argue that
the singular point is at infinity because all points on the trisector in R3 are regular. Recall
that a point on a curve that is defined as the intersection of two surfaces is regular if the
two tangent planes to those surfaces at that point exist and are distinct. Any point p in
R3 on the trisector is at the intersection of the hyperbolic cylinder H1,2 − H1,3 and, a right
hyperbolic paraboloid, say, H1,2 . The plane tangent to the hyperbolic cylinder at p exists
and is vertical, and the plane tangent to the right hyperbolic paraboloid at p exists and
is not vertical. The two tangent planes exist and are distinct and hence the point on the
curve is regular.
The trisector lies on a right hyperbolic paraboloid of equation Z = aXY . The projection between the the hyperbolic paraboloid and the plane Z = 0 is a bijection. Therefore
any point on the hyperbola maps to a unique point on the hyperbolic paraboloid. So there
are exactly two branches.
Lemma 11 Each branch of the trisector is monotonic with respect to X or Y .
Proof.
By Lemma 8, the trisector projects, in the XY -plane, to a rectangular hyperbola. Each branch of the hyperbola is monotonic in either the X or the Y direction since,
if it is not monotonic in some direction, then it is monotonic in the orthogonal direction.
Since the projection between H1,2 and the plane Z = 0 is a bijection, and since the trisector lies on H1,2 , the two branches of the trisector are also monotonic with respect to X or
Y.
The cells of dimension two are described in the following proposition.
Proposition 12 Let l1 , l2 and l3 be three pairwise skew lines lying all parallel to the
same plane with l1 lying between l2 and l3 . The cells of dimension two consist of up
to two connected components of a hyperbolic paraboloid that are bounded by either one
or two branches of the trisector. In particular, the cells V1,2 and V1,3 consist of one
connected component bounded by two branches of the trisector and the cell V2,3 consists of
two connected components each bound by one branch of the trisector.
Sketch of proof. The origin is on V1,2 because it is the midpoint of the common perpendicular of l1 and l2 and the distance to l3 is at least the distance to the plane supporting it.
The result follows by showing that the origin projected on to the XY -plane is in between
the branches of the hyperbola. Similarly for V1,3 and V2,3 .
3.3
One pair of coplanar lines
We treat here the case in which there are exactly one pair of coplanar lines. Here the
trisector is given by the intersection of a right hyperbolic paraboloid and one or two planes
and consists of one or two conics. We divide this case into three sub-cases depending on
whether the pair of coplanar lines is parallel or not and, if not, whether the third line
intersects or is parallel to that plane. Intuitively, given a pair of coplanar lines, when the
third line becomes parallel to this plane, each of the hyperbola degenerates into a parabola
and when the two coplanar lines become parallel, one of their two bisecting planes goes to
infinity and one of the conics of the trisector also goes to infinity. We prove the following:
6
Z


`3
O
Y
`1 : 
p3 = (x, ax, 1)
v3 = (α, β, 1)


`2 : 
X
y = ax
z=1
y = −ax
z = −1
(a)
(b)
Figure 3: Two intersecting lines with the third one skew and not in a parallel plane. The
trisector is the intersection of a right hyperbolic paraboloid and a pair of planes; it consists
of two hyperbola.
Proposition 13 Let l1 , l2 and l3 be three lines such that exactly two of them, say l1 and
l3 , are coplanar. Their trisector consists of one conic if l1 and l3 are parallel and two
conics otherwise. The conics are parabolas if l2 is parallel to the plane of l1 and l3 and
hyperbolas otherwise.
We will make use of the following lemma that is easily obtained and whose proof, which
relies primarily on the classification of conics [10], we omit.
Lemma 14 The intersection of a right hyperbolic paraboloid and a plane is (i) a parabola
or a line if the plane is parallel to the axis of the hyperbolic paraboloid and (ii) a hyperbola
or a pair of intersecting lines otherwise.
Due to lack of space, we present only the case when the trisector is a pair of hyperbola.
See the Appendix for the remaining cases.
Two lines intersect in R3 and the third is skew but not in a parallel plane
We prove here that, in this case, the trisector consists of two hyperbola. See Figure 3.
We also prove several other properties which will be useful for characterizing the bisectors
and performing the basic linear tests referred to in the introduction.
Let `1 and `3 be a pair of intersecting lines and l2 a line that is skew with respect to
both of them and such that the three lines are not all parallel to the same plane. More
precisely, assume that `1 and `2 are as in Figure 1(a). Since l3 intersects l1 and is not
horizontal, then line `3 may be defined by point p3 = (x, ax, −1) and vector v3 = (α, β, 1),
x ∈ R. See Figure 3(a).
Lemma 15 The trisector consists of two hyperbolas, one in each of the planes of H1,3 .
Proof. The bisector H1,2 is a right hyperbolic paraboloid with vertical axis. The planes
of H1,3 are not vertical. By Lemma 14 the intersection of H1,2 with each of the planes of
H1,3 is either a hyperbola or a line. It cannot be a line by Lemma 4.
Lemma 16 The projection of the trisector in the XY -plane is a pair of rectangular hyperbolas whose asymptotes are parallel to the X and Y axes and are all distinct.
Proof. The bisector H1,2 is a right hyperbolic paraboloid with vertical axis. The planes
of H1,3 are not vertical, and so the projection of the trisector in the XY -plane is a pair of
hyperbola. See Figure 4.
Consider the equation of the trisector projected into the XY plane (a degree four equation). We will use the well-known fact that a plane curve admits a vertical asymptote
when the coefficient of the leading monomial in y, which is a polynomial in x, is zero. We
7
(b) x = −1
(a) x = 1
Figure 4: Projections of the trisector and bisector corresponding to the two canonical
triplets.
obtain that the projected trisector has exactly two distinct vertical asymptotes since this
polynomial in x is quadratic with strictly positive discriminant, 4a4 (1 + α2 + β 2 )(1 + a2 ),
since a 6= 0. Similarly for the vertical asymptotes. Since a hyperbola does not have
two asymptotes in the same direction, each hyperbola admits a vertical and a horizontal
asymptote and is rectangular.
The next lemma follows easily from the properties of a rectangular hyperbola.
Lemma 17 Each branch of the trisector is monotonic with respect to X and Y .
The next lemma will be useful to further describe how the two hyperbola intersect in
projection.
Lemma 18 The set of triplets of lines consists of at most two connected components.
Proof.
Consider three lines as in Figure 3(a). We argue that any triplet of lines in
this setting can be moved to one of two canonical triplets of lines in which l3 is vertical
(v3 = (0, 0, 1)) and intersects the X-axis at either 1 or −1, and a = 1. Line l3 intersects
l1 in the plane z = 1 at point p3 and the plane z = −1 at a point, say p4 . Line l3 can be
modified continuously by moving point p4 until it reaches either (1, a, −1) or (−1, −a, −1)
and this without ever crossing l2 . Now, if p4 = (1, a, −1) (resp. p4 = (−1, −a, −1)) then
p3 can be moved to (1, a, 1) (resp. (−1, −a, 1)) without intersecting l2 . Finally, we can
continuously deform the triplet of lines to obtain a = 1. To conclude notice that during
the above deformation, l3 never crosses l2 .
Lemma 19 When projected onto the XY -plane, the projected hyperbolas lie in asymmetric
pairs of opposite quadrants and one branch of one hyperbola intersects both branches of
the other.
Proof. This follows by looking at the projections (see Figure 4) of the trisector of the
canonical triplets of Lemma 18 and by noticing that by Lemma 16 no deformation causes
the asymptotes to switch.
The two dimensional cells are described in the following proposition.
Proposition 20 Let l1 , l2 and l3 be three lines such that l1 and l3 intersect in R3 and l2
is skew with respect to them and not in a parallel plane. Then
(i) V1,2 and V2,3 consist of three connected components of a hyperbolic paraboloid one of
which is bounded by four arcs of the trisector and the other two are each bounded by
two arcs of the trisector having the same asymptotic direction (see Figure 4), and
(ii) V1,3 consists of two connected components of two planes. In one of the planes, the
cell consists of one component bounded by two branches of the trisector and in the
other plane the cell consists of two components each bounded by one branch of the
trisector (see Figure 5(a)).
8
(a)
(b)
Figure 5: (a) The 2D cell of l1 and l3 . (b) Impossible configuration for this 2D cell.
Sketch of proof. For (i) the result follows from looking at the projections (see Figure 4) of
the trisector for the two canonical triplets of lines of Lemma 18 and noticing that, in both
instances, the origin is in V1,2 and its projection lies in the cell bounded by four branches
of the trisector, and arguing that, by continuity, the topology is invariant. Similarly for
V2,3 .
For (ii), each plane of the bisector contains one hyperbola and we can show that the
2D cell consists of the region between the branches on one plane and the region outside
in the other. There are only two possible configurations (by Lemma 19) which are shown
in Figure 5. That the 2D cell has two connected components, that is, corresponds to
Figure 5(a), can be shown by computing the midpoint of the intersection points of the two
hyperbolas and showing that this point is closer to l1 and l2 than to l3 .
3.4
Two pairs of coplanar lines
In this case the trisector is given by the intersection of planes and consists of up to four
lines. Here again we classify the cases depending on whether the lines intersect or are
parallel in R3 .
Proposition 21 Their trisector of three lines, at least two pairs of which are coplanar,
consists of
(i) the empty set, if the three lines are parallel and coplanar,
(ii) one line, if either the three lines are all coplanar and concurrent in R3 or, the three
lines are parallel and not all coplanar,
(iii) two intersecting lines, if exactly two pairs are coplanar, one pair parallel and the
other intersecting; or two parallel lines if the three lines are coplanar, two lines are
parallel and the third one intersects them,
(iv) four lines, otherwise.
Due to space limitations we do not provide a proof of this proposition nor do we describe
the two-dimensional cells, all of which are elementary, the bisectors being planes.4 . We
mention here just one of the subcases of (iv) since it yields the maximum number of
connected components for a 2D cell.
Lemma 22 Let l1 , l2 and l3 be three concurrent lines in three distinct planes. The cells
of dimension two consist of four connected components of a pair of planes.
Proof.
Say that l1 , l2 and l3 intersect at the origin. The trisector consists of 4 lines.
Consider one of the bisecting planes of l1 and l3 . On this plane lies two of the lines of the
trisector which divides the plane into four components, two of which will be in the 2D cell
4
See Table 2 in the Appendix for more details.
9
V1,3 . The same is true of the other bisecting plane. To see that these four components are
disconnected notice that the line L that is the intersection of the two bisecting planes (of
l1 and l3 ) is not in the 2D cell. To see this consider a sphere whose center p is on L and
that is tangent to the plane containing lines l1 and l3 (at the origin). The line l2 which
goes through the origin and doesn’t lie in the plane of l1 and l3 properly intersects this
sphere. Thus p is closer to l2 than to l1 and l3 . Hence L is not in the 2D cell V1,3 and the
four components are disconnected. (Notice that their closure is connected at the origin.)
Similarly for V1,2 and V2,3 .
4
Algorithms
To prove Theorem 3 we need to demonstrate, in all cases, rational separating lines and
planes for branches of the trisector and the components of the two dimensional cells. The
case of three pairwise skew lines not all parallel to the same plane is treated in [14].
Otherwise, this is largely elementary and follows from the monotonicity of the trisectors
and the properties of their projections.
We discuss here briefly the case when two lines intersect and the third is skew but not
in a parallel plane, which requires some additional argument. Refer to Figure 4. We first
show how to separate the component of the 2D cell bounded by four branches of trisector
from the two components bounded by two branches of the trisector. First notice that
when projected onto the XY -plane these components are separated by the line through
the two points of intersection of the two projected hyperbola. The line in 3D through the
corresponding points in 3D is the line L of intersection between the 2 planes containing
the hyperbola, that is, the 2 bisecting planes of the intersecting lines l1 and l3 . Line L
is the normal to l1 and l3 and is thus rational and its projection onto the XY -plane is
rational.
To separate the two components bounded by two branches of the trisector we take a
line that separates the two branches of the (correct) hyperbola. The line L intersects the
hyperbolic parabola in two points (the intersection points of the two hyperbola) which
are algebraic conjugates. Hence the midpoint m of the two intersection points is rational
so the line orthogonal to L in the XY plane through m is rational and separates the
components.
References
[1] F. Aurenhammer. Voronoi diagrams – a survey of a fundamental geometric data
structure. ACM Computing Surveys, 23(3):345–405, 1991.
[2] F. Aurenhammer and R. Klein. Voronoi diagrams. In J. R. Sack and J. Urrutia, editors, Handbook of computational geometry, chapter 5, pages 201–290. Elsevier
Publishing House, December 1999.
[3] E. Berberich, M. Hemmer, L. Kettner, E. Schömer, and N. Wolpert. An exact, complete and efficient implementation for computing planar maps of quadric intersection
curves. In Proceedings of the 21st ACM Annual Symposium on Computational Geometry (SoCG’05), pages 99–115, 2005.
[4] J.-D. Boissonnat, O. Devillers, S. Pion, M. Teillaud, and M. Yvinec. Triangulations
in CGAL. Computational Geometry: Theory and Applications, 22:5–19, 2002.
10
[5] J.-D. Boissonnat, O. Devillers, R. Schott, M. Teillaud, and M. Yvinec. Applications
of random sampling to on-line algorithms in computational geometry. Discrete and
Computational Geometry, 8:51–71, 1992.
[6] C. Borcea, X. Goaoc, S. Lazard, and S. Petitjean. Common tangents to spheres in
R3 . Discrete and Computational Geometry, 35(2):287–300, 2006.
[7] T. M. Chan, J. Snoeyink, and C. K. Yap. Primal dividing and dual pruning: Outputsensitive construction of four dimensional polytopes and three-dimensional diagram
Voronoi diagrams. Discrete and Computational Geometry, 18:433–454, 1997.
[8] K. L. Clarkson and P. W. Shor. Applications of random sampling in computational
geometry, II. Discrete and Computational Geometry, 4:387–421, 1989.
[9] T. Culver. Computing the Medial Axis of a Polyhedron Reliably and Efficiently. PhD
thesis, University of North Carolina at Chapel Hill, 2000.
[10] C. Delode. Gomtrie affine et euclidienne. Dunod Universit, France, 2000.
[11] T. K. Dey and W. Zhao. Approximate medial axis as a voronoi subcomplex. In SMA
’02: Proceedings of the seventh ACM symposium on Solid modeling and applications,
pages 356–366, New York, NY, USA, 2002. ACM Press.
[12] L. Dupont, D. Lazard, S. Lazard, and S. Petitjean. Near-optimal parameterization
of the intersection of quadrics: II. A classification of pencils. Journal of Symbolic
Computation, 2007. In press (24 pages). http://dx.doi.org/10.1016/j.jsc.2007.
10.012.
[13] M. Etzion and A. Rappoport. Computing Voronoi skeletons of a 3-d polyhedron by
space subdivision. Computational Geometry: Theory and Applications, 21(3):87–120,
2002.
[14] H. Everett, D. Lazard, S. Lazard, and M. S. E. Din. The Voronoi diagram of three
lines in R3 . In Proceedings of the 23rd ACM Annual Symposium on Computational
Geometry (SoCG’07), pages 255–264, S. Korea, 2007.
[15] S. Fortune. Voronoi diagrams and delaunay triangulations. In Handbook of discrete
and computational geometry, pages 377–388. CRC Press, Inc., Boca Raton, FL, USA,
1997.
[16] K. Hoff, T. Culver, J. Keyser, M. Lin, and D. Manocha. Fast computation of generalized Voronoi diagrams using graphics hardware. Computer Graphics, 33(Annual
Conference Series):277–286, 1999. Proceedings of ACM SIGGRAPH 1999.
[17] M. . Karavelas. A robust and efficient implementation for the segment voronoi diagram. In Proc. Internat. Symp. on Voronoi diagrams in Science and Engineering,
pages 51–62, 2004.
[18] M. I. Karavelas. A robust and efficient implementation for the segment Voronoi diagram. In International Symposium on Voronoi Diagrams in Science and Engineering,
pages 51–62, 2004.
[19] J. Keyser, S. Krishnan, and D. Manocha. Efficient and accurate B-Rep generation
of low degree sculptured solids using exact arithmetic: I – Representations, II –
Computation. Computer Aided Geometric Design, 16(9):841–859, 861–882, 1999.
11
[20] V. Koltun and M. Sharir. Three dimensional euclidean Voronoi diagrams of lines with
a fixed number of orientations. SIAM Journal on Computing, 32(3):616–642, 2003.
[21] V. J. Milenkovic. Robust construction of the Voronoi diagram of a polyhedron. In Proceedings of the 5th Canadian Conference on Computational Geometry (CCCG’93),
pages 473–478, 1993.
[22] B. Mourrain, J.-P. Técourt, and M. Teillaud. On the computation of an arrangement
of quadrics in 3D. Computational Geometry: Theory and Applications, 30(2):145–164,
2005. Special issue, 19th European Workshop on Computational Geometry.
[23] A. Okabe, B. Boots, K. Sugihara, and S. N. Chiu. Spatial Tessellations - Concepts
and Applications of Voronoi Diagrams. John Wiley, 2nd edition, 2000.
[24] E. Schömer and N. Wolpert. An exact and efficient approach for computing a cell
in an arrangement of quadrics. Computational Geometry: Theory and Applications,
33(1-2):65–97, 2006. Special Issue on Robust Geometric Algorithms and their Implementations.
[25] O. Schwarzkopf and M. Sharir. Vertical decomposition of a single cell in a threedimensional arrangement of surfaces and its applications. Discrete and Computational
Geometry, 18:269–288, 1997.
[26] R. Seidel. A convex hull algorithm optimal for point sets in even dimensions. M.Sc.
thesis, Univ. British Columbia, Vancouver, BC, 1981. Report 81/14.
[27] M. Sharir. Almost tight upper bounds for lower envelopes in higher dimensions.
Discrete and Computational Geometry, 12:327–345, 1994.
[28] M. Teichmann and S. Teller. Polygonal approximation of Voronoi diagrams of a set of
triangles in three dimensions. Technical Report 766, Laboratory of Computer Science,
MIT, 1997.
12
Appendix
A
Two lines intersect in R3 and the third is in a plane parallel
In this case the trisector consists of the intersection of a right hyperbolic paraboloid and
two planes.
Proposition 23 If two lines intersect in R3 and the third is in a plane parallel then
the trisector consists of two parabolas, one in each of the planes of the bisector of the
intersecting lines. The projection of the trisector on the XY -plane is a pair of orthogonal
lines (and thus monotonic in X and Y ).
Proof. See Figure 6(a). We can assume that all three lines are parallel to the XY -plane
so that bisector H1,3 is a pair of vertical planes and H1,2 is a right hyperbolic parabloid
with vertical axis. By Lemma 14 the trisector is either a parabola or a line in each of the
planes of H1,3 . By Lemma 4 neither is a line.
Proposition 24 Let l1 , l2 and l3 be three lines such that l1 and l3 intersect in R3 and l2
is in a plane parallel and below the plane containing l1 and l3 . Then
(i) V1,2 and V2,3 consist of two connected components of a hyperbolic paraboloid each of
which is bounded by two arcs of the trisector. The cell of V1,2 (resp. V2,3 ) consists
of the components that contain l1 (resp. l3 ) in projection.
(i) V1,3 consists of one connected component lying on two planes. In each plane, the cell
consists of the region above the corresponding branch of the trisector.
Sketch of proof. The pair of parabola project onto the XY -plane in a pair of orthogonal
lines dividing the plane into four quadrants. Each quadrant contains either l1 or l3 in
projection. A point on the hyperbolic paraboloid H1,2 in the quadrant of l1 is clearly
closer to l1 than to l3 . Similarly for H2,3 . This concludes the argument for (i).
For (ii) consider a point p on the trisector that projects, orthogonally to the XY plane, on l2 . Such a point p can be chosen on each of the bisecting planes and thus on
each parabola. Since l2 is everywhere below the hyperbolic paraboloid H1,2 (and H2,3 )
and l1 is above, moving the point p upward moves it away from l2 and closer to l1 . Hence
the result.
(a) The trisector is two parabolas
(b) One parabola
Figure 6: The trisector of two intersecting and one skew line.
13
Z
`3


v3 = (1, a, 0)
p3 = (x, 0, z)
O
Y
`1 : 


`2 : 
X
y = ax
z=1
y = −ax
z = −1
(a) l3 is above l1
(b) l3 is above l1
(c) l3 is below l1
Figure 7: A pair of parallel lines with the third line in a plane not parallel to the plane
of the parallel pair. The trisector is a hyperbola. The 2D cells depend on whether l2
intersects the plane containing l1 and l3 between them or not.
B
Two lines are parallel
When two lines are parallel the trisector consists of the intersection of a right hyperbolic
paraboloid and a plane. It is either a parabola or a hyperbola depending on whether the
third line is in a plane parallel to the parallel pair.
Proposition 25 If the third line is in a plane parallel to the plane of the parallel pair then
the trisector is a parabola. It’s projection in the XY -plane is a line (which is monotonic
in X and Y ).
Proof.
See Figure 6(b). We can assume that all three lines are parallel to the XY plane so that bisector H1,3 is a vertical plane and H1,2 is a right hyperbolic parabloid with
vertical axis. By Lemma 14 the trisector is either a parabola or a line and by Lemma 4 it
is not a line. It projects to a line since H1,3 is vertical.
Proposition 26 Let l1 , l2 and l3 be three lines such that l1 and l3 are parallel in R3 and
l2 is in a plane parallel and below the plane containing l1 and l3 . Then
(i) V1,2 and V2,3 consist of one connected component of a hyperbolic paraboloid bounded
by the trisector. The cell of V1,2 (resp. V2,3 ) consists of the component that contains
l1 (resp. l3 ) when projected on the XY -plane.
(i) V1,3 consists of one connected component lying on the plane above the corresponding
branch of the trisector.
Sketch of proof. The proof is similar to the proof of Proposition 24.
Proposition 27 If the third line is in a plane not parallel to the plane of the parallel
pair then the trisector is a hyperbola. Its projection onto the XY -plane is a rectangular
hyperbola which is monotonic in X and Y .
Proof.
See Figure 7. We can assume that bisector H1,3 is a non-vertical plane and
H1,2 is a right hyperbolic parabloid with vertical axis. By Lemma 14 the trisector is
either a hyperbola or a line and by Lemma 4 it is not a line. To see that its projection is
rectangular, we proceed as in the proof of Lemma 8. Lines l1 and l2 are as in Figure 1(a)
and l3 is given by p3 = (x, 0, z) and v3 = (1, a, 0), z 6= ±1. See Figure 7(a). The equation
of the projected conic is 2a(1 − z)XY + 2a2 xX − 2axY + (1 − z 2 )(a2 + 1) − a2 x2 = 0. Since
z 6= 1, the coefficient of XY is not zero, which gives the result.
14
Proposition 28 Let l1 , l2 and l3 be three lines such that l1 and l3 are parallel in R3 and
l2 intersects the plane containing l1 and l3 in a point p. Without loss of generality, by
exchanging if necessary l1 and l3 we may assume that l3 is below l1 (z < 1). If l3 is above
(resp. below) l2 then
(i) V2,3 consists of one connected component of a hyperbolic paraboloid bounded by the
two branches of the trisector,
(ii) V1,2 consists of two connected components of a hyperbolic paraboloid each bounded by
one branch of the trisector (resp. consists of one connected component of a hyperbolic
paraboloid bounded by the two branches of the trisector), and
(iii) V1,3 consists of one connected component lying on the plane and bounded by two
branches of the trisector (resp. two connected components on the plane and each
bounded by one branch of the trisector) (see Figure 7).
Sketch of proof. For (i) note that the midpoint of the common perpendicular of l1 and
l3 is in the cell V1,3 and it can be shown that the projection of this midpoint is in between
the two branches of the projected hyperbola. Similarly for (ii) and (iii).
15
C
Tables and figures
Configuration of lines
Trisector
Three pairwise skew lines
not all parallel to a common plane
or on a hyperboloid of revolution
on a hyperboloid of revolution
all parallel to a common plane
non-singular quartic
cubic and a line
nodal quartic
Fig. 8(a)
One pair of coplanar lines
one
one
one
one
pair
pair
pair
pair
intersecting, third skew, not in a parallel plane
intersecting, third in a parallel plane
parallel, third skew, not in a parallel plane
parallel, third in a parallel plane
two hyperbolas
two parabolas
one hyperbola
one parabola
Fig.
Fig.
Fig.
Fig.
8(b)
8(c)
8(d)
8(e)
Two pairs of coplanar lines
two intersecting pairs
one pair parallel, one pair intersecting
four lines
two lines
Fig. 8(f)
Fig. 8(g)
one line
four lines
Fig. 8(h)
Fig. 8(i)
empty set
two lines
one line
four lines
Fig.
Fig.
Fig.
Fig.
Three pairs of coplanar lines in three distinct planes
three pairwise parallel lines
three concurrent lines
Three coplanar lines
three parallel lines
two parallel lines, the third one intersects them
three concurrent lines
three pairwise intersecting lines (not concurrent)
Table 1: Classification of the trisector of three lines.
16
8(j)
8(k)
8(l)
8(m)
Configuration of lines
Bisector type
V1,2 V1,3 V2,3
V1,2
No. CC
V1,3
V2,3
Three pairwise skew lines
not all parallel to a common plane
or on a hyperboloid of revolution
on a hyperboloid of revolution
all parallel to a common plane
HP
HP
HP
HP
HP
HP
HP
HP
HP
2
2
1
2
2
1
2
2
2
HP
HP
HP
HP
HP
HP
HP
HP
2P
2P
P
P
3
2
2(1)
1
3
2
1
1
2
1
1(2)∗
1
HP
HP
2P
2P
2P
P
4
2
3
1
3
2
P
2P
P
2P
P
2P
1
4
1
4
1
4
P
P
2P
2P
P
2P
2P
2P
∅
2P
2P
2P
1
2
2
2
1
1
2
2
0
1
2
2
One pair of coplanar lines
one
one
one
one
pair
pair
pair
pair
intersecting, third skew, not in a parallel plane
intersecting, third in a parallel plane
parallel, third skew, not in a parallel plane
parallel, third in a parallel plane
Two pairs of coplanar lines
two intersecting pairs
one pair parallel, one pair intersecting
Three pairs of coplanar lines in three distinct planes
three pairwise parallel lines
three concurrent lines
Three coplanar lines
three parallel lines
two parallel lines, the third one intersects them
three concurrent lines
three pairwise intersecting lines (not in a point)
Table 2: Classification of the 2D cells of three lines. In each case the bisectors are either
hyperbolic paraboloids (HP), pairs of planes (2P), or single planes (P). *The number of
connected components for cells V1,2 and V2,3 depends on where the skew line intersects the
plane containing the parallel lines in between them or not.
17
`3
`2
`1
`1
`3
`2
`3
`3
`1
`2
`1
`2
(a) Three pairwise skew lines (b) One pair of coplanar (c) One pair of coplanar
all parallel to a common lines: one pair intersecting, lines: one pair intersecting,
plane.
third is skew but not in a third in a parallel plane.
parallel plane.
`1
`2
`3
(d) One pair of coplanar
lines: one pair parallel, the
third is skew but not in a
parallel plane.
`1
`3
`1
`1
`2
`3
`3
`2
`2
(e) One pair of coplanar (f) Two pairs of coplanar (g) Two pairs of coplanar (h) Three pairwise parallel
lines: one pair parallel, third lines: two intersecting pairs. lines: one pair parallel, one lines in three distinct planes.
in a parallel plane.
pair intersecting.
`2
`3
`1
`2
`3
`1
`2
`3
`1
`2
`3
`1
(i) Three concurrent lines in (j) Three coplanar parallel (k) Three coplanar lines: (l) Three coplanar concurthree distinct planes.
lines.
two are parallel, the third in- rent lines.
tersects them.
`3
`1
`2
(m) Three coplanar pairwise
intersecting lines (not concurrent).
Figure 8: Classification of the degenerate cases.
18