This section is a paper review of an article by Aichholzer, Aurenhammer, Chen, Lee and Papadopoulou entitled Skew Voronoi Diagrams (2). We put it here in order to give the reader an idea of how the Voronoi Diagram properties we saw in Section 1 can change if we use a distance function other than the euclidian distance.
Given a set of points , its associated Voronoi diagram is a partitioning of the plane into regions such that each region contains the points nearest to a particular point of . For example, if , then its associated Voronoi diagram is two half-planes separated by the bisectrix of the two points. In that definition, it is generally assumed that the word nearest refers to the smallest euclidian distance. However, in some applications, it may happen that the distance of interest is not the euclidian distance. As an example, consider the case where you are at the mountain and you have the choice between going ten steps upward and ten steps downward. Certainly, the ten steps you would make upward are more costly to you in terms of energy and time than the ten steps downward. In such cases, it appears that the euclidian distance does not tell you in which direction you should go. What we need is a distance function that takes into account the difference in height between two points. This is exactly what the skew distance, introduced in (2) does. In section 3.2, we will present the skew distance and some of its basic properties. In section 3.3, we take a look at the general shape of the Voronoi diagram under the skew distance. In section 3.4, we will discuss some computational issues about the Voronoi diagram under the skew distance. Finally, in section 3.5, we will show how it is possible to use some properties of the skew Voronoi diagram to design an efficient algorithm to solve the all nearest neighbors problem.
The skew geometry takes place in a titled plane. For sake of simplicity, it considers that the plane in is rotated around the axis from an angle . Different angles of rotation give raise to different distances. If it is not rotated at all, then the distance you get is the euclidian distance. One simple way to define a distance function that reflects the fact that going up is harder than going down is to take the following function: , where is the two dimensional euclidian distance and is the height of a point. Since = , one can then forget about the coordinates of its points, and say that the distance between two points is . Now, since is just a constant, we can generalize it to a family of distance functions . If we allow to take arbitrary positive values (greater than 1), we get an even richer set of distance functions.
Firstly, notice that the term distance here should not be understood under the traditional analytical meaning of the word. Usually, we expect a distance function to respect at least the four following properties:
Secondly, circles under skew distance have an interesting property: they are conics, and different values of leads to different conics. Remember that given a point and a radius , the circle is defined as . Since the skew distance is not symmetric, two different circles can be defined: the outgoing circle and the incoming circle. In the paper, the authors only look at the outgoing circle, saying that the incoming circle can be obtained by reflection. This are actually doing this for every geometric structure.
So lets take a look at outgoing circles under the skew distance.
They satisfy the equation:
What we now want to do is to take a look at the general aspect of the Voronoi diagram of a set of points under the skew distance, which we shall denote by . The questions we want to ask are the following:
We first analyze the general shape of a border between two Voronoi
regions. Remember that the definition of the Voronoi diagram allows
to say that borders of two regions, say and , lie
on the bisectrix of points and . That is, it satisfies the
equation:
Now, lets take a look at emptiness of regions. We noticed earlier that since the skew distance can take negative values, it is possible for a point to be farther from itself than from another point. Then, it might be possible point a point that . Now, if then , and by the triangle inequality, . Since , this leads to and therefore . In other words, .
In the next section, we will discuss the problem of computing the
skew Voronoi diagram. If we'd be able to know in a low cost fashion
which regions are empty, then we could use this information to
design a more efficient algorithm to compute the skew Voronoi
diagram. In order to do this, the authors first introduce the notion
of negative area of a point. The negative area of a point , noted
, is simply the set of points such that . The
border of that region can be characterized by the equation:
0 | |||
0 | |||
0 | |||
We now take a look at the algorithmic issues concerning the skew Voronoi diagram. Obviously, we can not in general expect to able to compute it faster than the euclidian Voronoi diagram. Are there still cases where we can do better?
Firstly, are we able to use Proposition 1 to remove points from efficiently? By giving the plane an appropriate angle of rotation (which can be done in linear time), the authors show that the problem of finding which sites are below can be reduced to the one of finding the maximal dominating elements of a set of points. Since that problem can be solved in time and space (7), we can find which points have empty region with the same efficiency.
Secondly, once we have reduced our problem size, how efficiently can
we compute the skew Voronoi diagram of the remaining? The authors
show that the problem of computing the skew Voronoi diagram of a set
of points can be reduced in linear time to the problem of computing
the euclidian Voronoi diagram of a set of skew circles. In order to
do this, first define as the skew circle of center and
radius . Then, notice that since between a point and a circle
is the distance between that point and the center of the minus the
radius the circle, we have:
The all nearest neighbor problem can be stated as follows: for each , find such that and is minimized. Note that, as opposed to the euclidian case, it is not necessarily the case that is a Voronoi neighbor of . As an example, consider the case where (that will be the case, for example, if and all points are vertically aligned). Then, let be the unique point in . Since has no Voronoi neighbor, it is straitforward that the nearest neighbor of is not a Voronoi neighbor of .
Note also that once again, since the skew distance is not symmetric, there are two versions of the problem: the incoming version and the outgoing version. We will restrict our attention to the incoming version and note the nearest incoming neighbor of . Observe it is possible to use the fact that is in the Voronoi region of in to develop an algorithm solving the problem in time (once the points are sorted, each of the Voronoi diagrams takes time to compute and finding the Voronoi region to which belongs takes time).
The authors uses the fact that is either is or in . This can be demonstrated by case analysis on wether is below or not. If is below , then is in as we already shown. If is on , then is on which is a subset of . We then have the following proposition:
The algorithm we can derive using this fact goes as follows: Compute and . If is below , then do a planar point location in . If it is not, then is either the closest Voronoi neighbor of in or the point having the Voronoi region to which belongs in . Chose the closest one of those two points.
Since this algorithm requires to compute only two Voronoi diagrams, it can be performed in where is the number of Voronoi regions in and is the number of Voronoi regions in .