Terrain prickliness: theoretical grounds for low complexity viewsheds

by   Ankush Acharyya, et al.

An important task when working with terrain models is computing viewsheds: the parts of the terrain visible from a given viewpoint. When the terrain is modeled as a polyhedral terrain, the viewshed is composed of the union of all the triangle parts that are visible from the viewpoint. The complexity of a viewshed can vary significantly, from constant to quadratic in the number of terrain vertices, depending on the terrain topography and the viewpoint position. In this work we study a new topographic attribute, the prickliness, that measures the number of local maxima in a terrain from all possible perspectives. We show that the prickliness effectively captures the potential of 2.5D terrains to have high complexity viewsheds, and we present near-optimal algorithms to compute the prickliness of 1.5D and 2.5D terrains. We also report on some experiments relating the prickliness of real word 2.5D terrains to the size of the terrains and to their viewshed complexity.



There are no comments yet.


page 12


A New Optimal Algorithm for Computing the Visibility Area of a simple Polygon from a Viewpoint

Given a simple polygon P of n vertices in the Plane. We study the pr...

A Comparison of I/O-Efficient Algorithms for Visibility Computation on Massive Grid Terrains

Given a grid terrain T and a viewpoint v, the viewshed of v is the set o...

An Optimal Algorithm for Computing the Visibility Area of a Polygon from a Point Using Constant-Memory

Given a simple polygon P of n vertices in the Plane. We study the prob...

A PTAS for vertex guarding weakly-visible polygons - An extended abstract

In this extended abstract, we first present a PTAS for guarding the vert...

Triangle Centrality

Triangle centrality is introduced for finding important vertices in a gr...

Combining Local and Global Viewpoint Planning for Fruit Coverage

Obtaining 3D sensor data of complete plants or plant parts (e.g., the cr...

Abelian Complexity and Synchronization

We present a general method for computing the abelian complexity ρ^ ab_ ...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

Digital terrain models are representations of (parts of) the earth’s surface and are used to solve a variety of problems in geographic information science (GIS). An important task for which terrain models are used is visibility analysis: determining which parts of a terrain are visible from some other point(s). A point on the terrain is said to be visible from if the line segment does not intersect the interior of the terrain. The viewshed of is the set of all points that are visible from a given viewpoint . Viewsheds are useful, for example, in evaluating the visual impact of potential constructions [2], analyzing the coverage of an area by fire watchtowers [9], or measuring the scenic beauty of a landscape [20].

There are two major ways to represent terrains in GIS: as a raster, i.e., a rectangular grid where each cell stores an elevation, or as a polyhedral terrain, a triangulation of a set of points in the plane, where each point has an elevation. In this paper we focus on the latter, which is the standard model in computational geometry. A polyhedral terrain can be seen as an -monotone polyhedral surface in . This is sometimes called a 2.5D terrain. From a theoretical standpoint, it will be also interesting to consider the simpler setting of 1.5D terrains, defined as -monotone polygonal lines in . In a 2.5D polyhedral terrain, a viewshed is formed by the union of the maximal parts of each terrain triangle that are visible from at least one viewpoint. In 1.5D, a viewshed is composed of parts of terrain edges.

The computational study of viewsheds focuses on two main aspects: the complexity of the viewsheds, and their efficient computation. In a D terrain, the viewshed of one viewpoint can have a complexity that is linear on the number of vertices, and can be computed in linear time [8]. In contrast, in D terrains the complexity of the viewshed of one viewpoint can be quadratic in the number of vertices [14], which makes its computation too slow for most practical uses when terrains are large.

Figure 1: A 2.5D terrain where the visible triangles form a viewshed of quadratic complexity.

A typical quadratic construction is shown schematically in Fig. 1, where the viewpoint would be placed at the center of projection, and both the number of vertical and horizontal triangles is , for terrain vertices. Notice that the vertical peaks form a grid-like pattern with the horizontal triangles, leading to visible triangle pieces. There exist several output-sensitive algorithms to compute the viewshed for a D terrain [10, 18].

While a viewshed in a 2.5D terrain can have quadratic complexity, this seems to be uncommon in real terrains [3]. Indeed, there have been attempts to define theoretical conditions for a terrain to be “realistic” that guarantee, among others, that viewsheds cannot be that large. In particular, Moet et al. [17] showed that if terrain triangles satisfy certain “realistic” shape conditions, viewsheds have complexity. De Berg et al. [3] showed that similar conditions are enough to guarantee worst-case expected complexity of when the vertex heights are subject to uniform noise.

1.1 Viewsheds and peaks

The topography of the terrain has a strong influence on the potential complexity of the viewshed (something well-studied for sitting observers on terrains to maximize coverage, see e.g., [11]). To give an extreme example, in a totally concaveIn this work, as is common in terrain analysis but unlike functional analysis, a vertex of a 2.5D terrain is convex (resp., concave) if there exists a non-vertical plane through leaving all neighboring vertices below it (resp., above it). Convex/concave vertices of 1.5D terrains are defined analogously using lines rather than planes. terrain, the viewshed of any viewpoint will be the whole terrain, so it will have a trivial description. Intuitively, to obtain a high complexity viewshed as in the figure above, one needs a large number of obstacles obstructing the visibility from the viewpoint, which in turn requires a somewhat rough topography.

In fact, it is well-established that viewsheds tend to be more complex in terrains that are more “rugged” [11]. This leads to the natural question of describing the terrain characteristics that can create high complexity (i.e., quadratic) viewsheds. Many topographic attributes have been proposed to capture different aspects of the shape or roughness of a terrain, such as the terrain ruggedness index [19], the terrain shape index [15], or the fractal dimension [13]. These measures focus on aspects like the amount of elevation change between adjacent parts of a terrain, its overall shape, or the terrain complexity. However, none of them is particularly aimed either to capture the possibility to produce high complexity viewsheds or to show any theoretical evidence for such a correlation.

One very simple and natural measure of the ruggedness of a terrain that is relevant for viewshed complexity is to simply count the number of local maxima, or “peaks”, in a terrain. There has been evidence that areas with higher elevation difference, and hence, more peaks, cause irregularities in viewsheds [5, 9], and this idea aligns with our theoretical understanding: the quadratic example from Fig. 1 is designed by creating an artificial row of peaks, and placing a viewpoint behind it. However, there is no theoretical correlation between the number of peaks and the viewshed complexity, as is easily seen by performing a simple trick: any terrain can be made arbitrarily flat by scaling it in the -dimension by a very small factor, and then tilted slightly—this results in a valid terrain without any peaks, but retains the same viewshed complexity. In fact, viewshed complexity is invariant under affine transformations of the terrain, and hence, any measure that has provable correlation with it must be affine-invariant as well. This is a common problem to establish theoretical guarantees on viewshed complexity, or to design features of “realistic” terrains in general [3, 17].

1.2 Prickliness

In this work we explore a new topographic attribute: the prickliness. The definition follows directly from the above observations: it counts the number of peaks in a terrain, but does so for every possible affine transformation of the terrain.

Formally, let be a polyhedral surface. We say that is a terrain if the surface is -monotone; that is, if any vertical line intersects at most once. Let be an affine transformation. We define the number of peaks or local maxima of , , to be the number of internal and convex vertices of We explicitly only count vertices which are already convex in the original terrain, since some affine transformations will transform local minima / concave vertices of the original terrain into local maxima. which are extremal in the -direction in ; that is, all adjacent vertices have a lower or equal -coordinate. Let be the set of all affine transformations of . Then we define the prickliness of , , to be the maximum number of local maxima over all transformation of ;It might happen that, in the affine transformation achieving prickliness, some of the vertices considered local maxima have neighbors at the same height, which might be considered non-desirable. However, under certain reasonable non-degeneracy assumptions for the terrain, there exists a small perturbation of that transformation giving one fewer local maxima and such that in that transformation all vertices considered local maxima have all neighbors at strictly lower height. An assumption guaranteeing this property is that no two edges of have the same slope, and no two faces are parallel. that is, .

We start by observing that, essentially, the prickliness considers all possible directions in which the number of peaks are counted, and we can, in fact, provide an alternative definition that will be helpful in our analysis of the concept. Let

be a vector in

. Let be the number of internal and convex vertices of that are local maxima of in direction ; that is, the number of internal and convex vertices of for which the local neighborhood does not extend further than that vertex in direction .

Observation 1.1


Clearly, for every vector there exists an affine transformation such that : choose for the rotation that makes vertical. We will show that also for every affine transformation there exists a vector for which . In particular this then implies that the maximum value of over all is equal to the maximum value of over all .

Let be an affine transformation, and let be the horizontal plane . Consider the transformed plane . Then any vertex of which has the property that all neighbours are on the same side of in , will be a local maximum or local minimum in . Now, choose for the vector perpendicular to and pointing in the direction which will correspond to local maxima. ∎

Using this observation, we reduce the space of all possible affine transformations to essentially the 2-dimensional space of all possible directions. Further note that, since is a terrain, for any with a negative -coordinate we have by definition. This provides a natural way to visualize the prickliness of a terrain. Fig. 2 shows a small terrain and the resulting prickliness, shown as a function of the direction of .

Figure 2: (left) A polyhedral terrain . Triangulation edges are shown in black, height (-coordinates) are indicated using colors. (right) A visualization of the prickliness as a function of , in degrees from vertical . The maximum prickliness is , attained at a direction about north-east from the origin.

Results and organization

The paper is organized as follows.

  • [leftmargin=*]

  • In Section 2, we show that the prickliness of a D terrain and the viewshed complexity of a single viewpoint are not related: we given examples where one is constant and the other is linear.

  • In contrast, we show in Section 3 that such a correlation does exist for D terrains: we show that the viewshed complexity of a single viewpoint cannot be higher than , and this is tight.

  • In Section 4, we consider the question of how to compute the prickliness of a D terrain. We provide an algorithm that runs in time, as well as a matching lower bound.

  • In Section 5, we consider the question of how to compute the prickliness of a D terrain. We provide an time algorithm, and show that this is near-optimal by proving that the problem is 3SUM-hard.

  • Finally, in Section 6, we report on experiments that measure the prickliness of real terrains, and confirm the correlation between prickliness and viewshed complexity in practice.

2 Prickliness and viewshed complexity in 1.5D terrains

The prickliness of a D terrain and the viewshed complexity of a single viewpoint do not seem to be related. In order to show it, we need to introduce some notation.

For every internal and convex vertex in , we are interested in the vectors such that is a local maximum of in direction . Note that these feasible vectors can be represented as unit vectors, and then the feasible set becomes a region of the unit circle , which we denote by . To find , for each edge of incident to we consider the line through which is perpendicular to . Then we take the half-plane bounded by and opposite to , and we translate it so that its boundary contains the origin. Finally, we intersect this half-plane with , which yields a half-circle. We intersect the two half-circles associated to the two edges of incident to , and obtain a sector of . For each direction contained in the sector, the two corresponding edges do not extend further than in direction . Thus, is a local maxima in direction and this sector indeed represents . See Fig. 3 for an example.

Figure 3: In shaded, for the corresponding vertices.
Theorem 2.1

There exists a 1.5D terrain with vertices and constant prickliness, and a viewpoint on with viewshed complexity .


The construction is illustrated in Fig. 4. From a point , we shoot rays in the fourth quadrant of such that the angle between any pair of consecutive rays is . On the th ray, there are two consecutive vertices of the terrain, namely, and . The vertices are placed so that .

Figure 4: Terrains with low prickliness can have high viewshed complexity.

For every , we have that has angle , while is empty because is not convex. Since the angle between and is and the angle between and is also , we have that can be obtained by rotating counterclockwise by an angle of . Thus, has angle , and is empty for . We conclude that the prickliness of the terrain is constant.

If a viewpoint is placed very near along the edge emanating to the right of , then for every the section contains a non-visible portion followed by a visible one. Hence, the complexity of the viewshed of the viewpoint is . ∎

3 Prickliness and viewshed complexity in 2.5D terrains

Surprisingly, and in contrast to Theorem 2.1, we will show in Theorem 3.1 that in 2.5D there is a provable relation between prickliness and viewshed complexity.

We recall some terminology introduced in [7]. Let be a vertex of , and let be a viewpoint. We denote by the half-line with origin at in the direction of vector . Now, let be an edge of . The vase of and , denoted , is the region bounded by , , and (see Fig. 5).

Figure 5: A vase.

Vertices of the viewshed of can have three types [7]. A vertex of type 1 is a vertex of , of which there are clearly only . A vertex of type 2 is the intersection of an edge of and a vase. A vertex of type 3 is the intersection of a triangle of and two vases. With the following two lemmas we will be able to prove Theorem 3.1.

Lemma 1

There are at most vertices of type .


Consider an edge of and let be the plane spanned by and . Consider the viewshed of on . Let be a maximal invisible portion of surrounded by two visible ones. Since and are vertices of type 2, the open segments and pass through a point of . On the other hand, for any point in the open segment , there exist points of above the segment . This implies that there is a continuous portion of above such that the vertical projection onto of this portion lies on the triangle . Such portion has a local maximum in the direction perpendicular to which is a convex and internal vertex of . In consequence, each invisible portion of surrounded by two visible ones can be assigned to a distinct point of that is a local maximum in the direction perpendicular to . Hence, in the viewshed of , is partitioned into at most parts.We obtain parts when the first and last portion of are invisible; otherwise, we obtain fewer parts.

Figure 6: The situation in the proof of Lemma 2.
Lemma 2

There are at most vertices of type .


Let be a vertex of type 3 in the viewshed of . Point is the intersection between a triangle of and two vases, say, and ; see Fig. 6. Let be the ray with origin at and passing through . Ray intersects edges and . First, we suppose that and do not share any vertex and, without loss of generality, we assume that is closer to than . Notice that is a vertex of type 2 because it is the intersection of and , and partitions into a visible and an invisible portion. Thus, we charge to . If another vertex of type 3 was charged to , then such a vertex would also lie on . However, no point on after is visible from because the visibility is blocked by . Hence, no other vertex of type 3 is charged to .

If and are both incident to a vertex , since is a type 3 vertex, we have that passes through . Therefore, is the first intersection point between (which can be seen as the ray with origin at and passing through ) and the interior of some triangle in . Therefore, any vertex of creates at most a unique vertex of type 3 in this way.∎

Theorem 3.1

The complexity of a viewshed in a 2.5D terrain is .

Next we describe a construction showing that the theorem is best possible.

Theorem 3.2

There exists a 2.5D terrain with vertices and prickliness , and a viewpoint on with viewshed complexity .


Consider the standard quadratic viewshed construction, composed of a set of front mountains and back triangles (Fig. 7 (left)). Notice that there can be at most mountains “at the front”. We add a surrounding box around the construction, see Fig. 7 (right), such that each vertex of the back triangles is connected to at least one vertex on this box. We set the elevation of the box so that it is higher than all the vertices of the back triangles, but lower than those of the front mountains. In this way, no vertex of the back triangles will be a local maximum in any direction, and all local maxima will come from the front.∎

Figure 7: Schematic top-down view of the classic quadratic construction (left), and the same adapted to have small prickliness (right). The camera with quadratic behaviour is at (see Fig. 1 for the resulting view). Blue vertices/edges are low, red are medium hight, and green are high. The right construction introduces a new height (yellow) between medium and high, and changes the triangulation slightly, to ensure that all convex vertices in the construction are green.

4 Prickliness computation in 1.5D terrains

4.1 Algorithm

For every internal and convex vertex in , we compute in constant time using the characterization given in Section 2. The prickliness of is the maximum number of sectors of type whose intersection is non-empty. We sort the bounding angles of the sectors in time, and obtain the maximum in a single pass. Thus, we obtain:

Theorem 4.1

The prickliness of a 1.5D terrain can be computed in time.

4.2 Lower bound

Now we show that is also a lower bound for finding prickliness in a 1.5D terrain. The reduction is from the problem of checking distinctness of integer elements, which has an

lower bound in the bounded-degree algebraic decision tree model 

[12, 22].

Suppose we are given a set of integer elements, assumed w.l.o.g. to be positive. We multiply all elements of by and obtain a new set such that , for each . We construct a terrain that will be an instance of the prickliness problem. For each , we create in a convex vertex such that , where , and such that its two neighbors are at distance from .We sometimes write , where and are the angles bounding the sector. See Fig. 8 for an example. We denote the incident vertices to to its left and right by and , respectively.

Figure 8: (a) Sectors associated to the element set . (b) The corresponding convex vertices. (c) Construction of the terrain.

We arrange these convex vertices in the order of the elements in from left to right, and we place all of them at the same height. Then we place a dummy vertex between every pair of consecutive vertices and , and connect to and ; see Fig. 8c. The height of is chosen so that its two neighbors become concave vertices, and also so that . This is possible because moving upwards increases its feasible region , the limit being . The following lemma allows us to prove Theorem 4.2 below.

Lemma 3

The prickliness of is if and only if all elements in are distinct.


Every vertex of type satisfies that . Thus the prickliness of is at least . For every vertex of type , has an angle of . Finally, the vertices of type and are concave, so and are empty.

Consequently, the prickliness of is if and only the sectors of type are pairwise disjoint, which happens if and only if the elements in are all distinct.∎

Theorem 4.2

The problem of computing the prickliness of a 1.5D terrain has an lower bound in the bounded-degree algebraic decision tree model.

5 Prickliness computation in 2.5D terrains

5.1 Algorithm

A basic observation is that the sphere of potential directions is subdivided into cells by the planes through the origin parallel to the triangles of . For any pair of directions and in the same cell, the values of and are equal. This gives a trivial time algorithm to calculate the prickliness: compute this subdivision, for each cell take a single vector, and for this vector count the number of local maxima (testing whether a vertex is a local maximum is a local operation that takes time proportional to the degree of the vertex; the sum of degrees of all vertices is linear).

We propose a faster algorithm that extends the idea from Section 4.1 to 2.5D terrains as follows: For every convex terrain vertex , we compute the region of the unit sphere containing all vectors such that is a local maximum of in direction . As we will see, such a region is a cone and we denote it by . Furthermore, we denote the portion of on the surface of the sphere by .

In order to compute , we consider all edges of incident to . Let be such an edge, and consider the plane orthogonal to through . Let be the half-space which is bounded by this plane and does not contain . We translate so that the plane bounding it contains the origin; let be the intersection of the obtained half-space with the unit sphere . The following property is satisfied: For any unit vector in , the edge does not extend further than in direction . We repeat this procedure for all edges incident to , and consider the intersection of all the obtained half-spheres . For any unit vector in , none of the edges incident to extends further than in direction . Since is convex, this implies that is a local maxima in direction .

Once we know all regions of type , computing the prickliness of reduces to finding a unit vector that lies in the maximum number of such regions. To simplify, rather than considering these cones on the sphere, we extend them until they intersect the boundary of a unit cube centered at the origin. The conic regions of type intersect the faces of forming (overlapping) convex regions. Notice that the problem of finding a unit vector that lies in the maximum number of regions of type on is equivalent to the problem of finding a point on the surface of that lies in the maximum number of “extended" regions of type . The second problem can be solved by computing the maximum overlap of convex regions using a topological sweep [4], for each face of the cube.

Computing the intersection between the extended regions of type (for all convex vertices ) and the boundary of takes time, and topological sweep to find the maximum overlap takes time. We obtain the following:

Theorem 5.1

The prickliness of a 2.5D terrain can be computed in time.

5.2 Lower bound

In this section we show that the problem of computing the prickliness of a 2.5D terrain is 3SUM-hard. This implies our result in Theorem 5.1 is likely to be close to optimal: The best-known algorithm for 3SUM runs in time, and it is believed there are no significantly faster solutions [1].

The reduction is from the following problem, which is known to be 3SUM-hard [6]: Given a square and strips of infinite length, does there exist a point in not covered by any of these strips?

Let us take an instance of the problem above. The complement of each strip is given by two half-planes. Let us consider the half-planes obtained in this way, together with the square . Answering the above question is equivalent to answering whether there exists a point in covered by of the half-planes.

For every half-plane, if it does not intersect , we discard it. Otherwise, we replace the half-plane by the smallest-area rectangle that contains the intersection of with the half-plane; see Fig. 9. Then the problem becomes determining whether there exists a point in covered by of these rectangles.

Figure 9: Instance of the problem of coverage with strips (left), and the equivalent problem of coverage with rectangles (right).

Let be the arrangement containing and the rectangles. By construction, we have:

Observation 5.2

Any point is covered by at most objects of . If a point is covered by objects of , it lies inside .

Next we consider the plane containing as a horizontal plane in such that lies on . For every object in , we connect all its vertices to , which gives a cone, and we intersect this cone with the unit sphere centered at . The intersection of the cone with the surface of the sphere is referred to as the “projection” of the original object in . We denote the projection of by , and the projection of rectangle by . With some abuse of notation, we still refer to the objects as “rectangles”. Let be the arrangement containing the projection of the objects in . Observation 5.2 implies:

Observation 5.3

Any point is covered by at most objects of . If a point is covered by objects of , it lies inside .

We next construct a terrain . The terrain contains red, green and blue vertices. We associate one red vertex to and to each of the rectangles intersecting it. The red vertices are placed at height two, and the distance between any pair of them is at least three.

Each red vertex has four green vertices as neighbors, placed as follows. Let be one of the rectangles on the sphere (either or one of the rectangles intersecting it), and let be the red vertex of associated to . For each of the sides of , consider the plane containing the side of and passing through the origin. Consider the half-space that is bounded by this plane and contains . Take a normal vector of the plane that does not point towards . Then place a green vertex of such that the vector is congruent to and has length one.Since red vertices have height two, the obtained green vertex has positive height. By following this procedure for all sides of , we obtain four green vertices of which are adjacent to . We denote this set of vertices by . There are no more vertices of adjacent to .

Lemma 4

Vertex satisfies:

  • It is a convex vertex of .

  • If we project and onto the -plane, then the convex hull of the projection of the vertices in contains the projection of .

  • .


The intersection of the four half-spaces associated to the four sides of forms a cone that can be described as the set of points satisfying the equation , where is a matrix. It can also be described as –the conic hull of vectors in –, where is the set of four vectors pointing from the origin to the four endpoints of .

Let be the matrix where each row corresponds to the components of one of the vectors in . Let be the set of four vectors corresponding to the four rows of . By polar duality, the cones described by and are also the same.

Notice that the vectors of are the four vectors used to place the four neighbors of in . Therefore, (b) is equivalent to the following: If we project the endpoints of the vectors of onto the -plane, then the convex hull of the projected points contains the origin. We will prove that , which implies this claim.

Since the four endpoints of have positive -coordinate, satisfies the equation . Since the cones and are the same, we obtain .

Regarding (a), let be such that . Then is contained in the half-space , which proves that is a convex vertex of .

By construction of and the fact that is a convex vertex of , (c) follows.∎

By Lemma 4b (and the facts that red vertices are at pairwise distance at least three and each red vertex has its green neighbors at distance one), the projection of the red and green vertices, and the edges among them, onto the -plane is a set of pairwise disjoint wheel graphs. Next, we triangulate this graph. Then, for every triangle defined by three green vertices, we place a blue vertex inside the triangle and we connect this vertex to the three vertices of the triangle (see Fig. 10). It only remains to specify the height of the blue vertices. Each blue vertex is placed at a height high enough so that: (i) the three neighboring green vertices become non-convex vertices of , and (ii) contains . Regarding (ii), if is placed higher than all of its neighbors (which are all green, so they already have specified heights), then contains the north pole. By moving upwards, becomes bigger and bigger, the limit being the upper hemisphere of . Therefore, from some height onwards contains . Let be the arrangement augmented with for all blue vertices . Let the number of blue vertices be . By Observation 5.3,

Figure 10: Projection of onto the -plane.
Observation 5.4

Any point is covered by at most objects of . If a point is covered by objects of , it lies inside .

Lemma 5

The prickliness of is if and only if there is a point in covered by rectangles.


Suppose that the prickliness of is . This means that, when we compute for all vertices of , a unit vector that is covered by the maximum number of such cones is covered by cones. If is a blue vertex, contains . If is a green vertex, is empty because is a concave vertex of . If is a red vertex, either is associated to or for some . By Lemma 4c, in the first case , while in the second case . Therefore, the problem of computing the prickliness of is equivalent to the problem of finding a point in covered by the maximum number of objects. By Observation 5.3, if the prickliness of is , there is a point in covered by objects of . This implies that there is a point in covered by rectangles.

If there is a point in covered by rectangles, there is a point in covered by objects of . By Observation 5.3, there is no point in covered by more than objects, so the prickliness of is .∎

Thus we have the following:

Theorem 5.5

The problem of computing the prickliness of a 2.5D terrain is 3SUM-hard.

6 Experiments

Figure 11: (left) The prickliness values for the terrains we considered. (right) The relation between the (median) viewshed complextity of the high viewpoints in a terrain and its prickliness.

We briefly report on some experiments relating the prickliness to the viewshed complexity in real world 2.5D terrains (see [16] for details). We considered a collection of 52 real-world terrains around the world. They varied in ruggedness, including mountainous regions (Rocky mountains, Himalaya), flat areas (farmlands in the Netherlands), and rolling hills (Sahara), and in number of vertices. For each of these terrains we computed the prickliness, and the viewsheds of nine “sufficiently separated” high points on the terrain. We refer to [16] on how we pick these points exactly. Fig. 11 (left) shows the number of vertices in each of the terrains and their prickliness. We see that the prickliness is generally much smaller than the number of vertices. See also Fig. 12. Fig. 11 (right) then shows the relation between the prickliness and the viewshed complexities. The viewshed complexities seem to scale nicely with the prickliness. These results suggest that the prickliness may indeed be a valuable terrain descriptor.

Figure 12: A real-world terrain with vertices from the neighborhood of California Hot Springs whose prickliness is only . On the right the value for vectors near .

7 Conclusions

We introduced the prickliness as a new measure of terrain ruggedness, and showed that for 2.5D terrains it has a direct correlation with viewshed complexity. As far as we know, this constitutes the first topographic attribute that has a provable connection with viewshed complexity, and is independent of the viewpoint location. Furthermore, we presented near-optimal algorithms to compute the prickliness of 1.5D and 2.5D terrains. We also performed some experiments indicating that, in real-world terrains, prickliness is significantly smaller than the number of vertices, and also that the correlation between prickliness and viewshed complexity translates into practice.

An intriguing question is whether the computation of the prickliness itself can be done more efficiently on real terrains, as our lower bound construction results in a very artificial terrain. It is conceivable that one could achieve this assuming, for instance, realistic terrain conditions [17], or a slope condition [21]. Finally, extending our study to viewsheds of multiple viewpoints, whose complexity was studied recently for the first time [7], is another interesting direction for further research.


The authors would like to thank Jeff Phillips for a stimulating discussion that, years later, led to the notion of prickliness.

A. A., R. J., and M. S. were supported by the Czech Science Foundation, grant number GJ19-06792Y, and by institutional support RVO: 67985807. M.L. was partially supported by the Netherlands Organization for Scientific Research (NWO) under project no. 614.001.504. R. S. was supported by projects MINECO PID2019-104129GB-I00 and Gen. Cat. DGR 2017SGR1640.


  • [1] T. M. Chan (2020) More logarithmic-factor speedups for 3SUM, (median, +)-convolution, and some geometric 3SUM-hard problems. 16 (1), pp. 7:1–7:23. Cited by: §5.2.
  • [2] M. Danese, G. Nolè, and B. Murgante (2011) Identifying viewshed: new approaches to visual impact assessment. In Geocomputation, Sustainability and Environmental Planning, pp. 73–89. External Links: ISBN 978-3-642-19733-8 Cited by: §1.
  • [3] M. de Berg, H. J. Haverkort, and C. P. Tsirogiannis (2009) Visibility maps of realistic terrains have linear smoothed complexity. In Proc. SoCG’09, pp. 163–168. Cited by: §1.1, §1.
  • [4] H. Edelsbrunner and L. J. Guibas (1989) Topologically sweeping an arrangement. J. Comput. System Sci. 38 (1), pp. 165–194. Cited by: §5.1.
  • [5] W. R. Franklin and C. Vogt (2004) Multiple observer siting on terrain with intervisibility or lo-res data. In XXth Congress, International Society for Photogrammetry and Remote Sensing, pp. 12–23. Cited by: §1.1.
  • [6] A. Gajentaan and M. H. Overmars (1995) On a class of O() problems in computational geometry. Comput. Geom. 5 (3), pp. 165–185. Cited by: §5.2.
  • [7] F. Hurtado, M. Löffler, I. Matos, V. Sacristán, M. Saumell, R. I. Silveira, and F. Staals (2014) TERRAIN visibility with multiple viewpoints. Internat. J. Comput. Geom. Appl. 24 (04), pp. 275–306. Cited by: §3, §3, §7.
  • [8] B. Joe and R. B. Simpson (1987) Corrections to Lee’s visibility polygon algorithm. BIT 27 (4), pp. 458–473. Cited by: §1.
  • [9] F. Kammer, M. Löffler, P. Mutser, and F. Staals (2014) Practical approaches to partially guarding a polyhedral terrain. In Proc. 8th International Conference on Geographic Information Science, LNCS 8728, pp. 318–332. Cited by: §1.1, §1.
  • [10] M. J. Katz, M. H. Overmars, and M. Sharir (1992) Efficient hidden surface removal for objects with small union size. Comput. Geom. 2, pp. 223–234. Cited by: §1.
  • [11] Y. Kim, S. Rana, and S. Wise (2004) Exploring multiple viewshed analysis using terrain features and optimisation techniques. 30 (9), pp. 1019–1032. Cited by: §1.1, §1.1.
  • [12] A. Lubiw and A. Rácz (1991) A lower bound for the integer element distinctness problem. Inf. Comput. 94 (1), pp. 83–92. Cited by: §4.2.
  • [13] B. B. Mandelbrot (1982) The fractal geometry of nature. W.H. Freeman, New York. External Links: ISBN 0716711869 Cited by: §1.1.
  • [14] M. McKenna (1987) Worst-case optimal hidden-surface removal. ACM Trans. Graph. 6 (1), pp. 19–28. Cited by: §1.
  • [15] W. H. McNab (1989) Terrain shape index: quantifying effect of minor landforms on tree height. 35, pp. 91–104. Cited by: §1.1.
  • [16] G. Meijer (2020) Realistic terrain features and the complexity of joint viewsheds. Master’s Thesis, Utrecht University. External Links: Link Cited by: §6.
  • [17] E. Moet, M. J. van Kreveld, and A. F. van der Stappen (2008) On realistic terrains. Comput. Geom. 41 (1-2), pp. 48–67. Cited by: §1.1, §1, §7.
  • [18] J. H. Reif and S. Sen (1988) An efficient output-sensitive hidden surface removal algorithm and its parallelization. In Proc. SoCG’88, pp. 193–200. Cited by: §1.
  • [19] S. J. Riley, S. D. DeGloria, and R. Elliot (1999) A terrain ruggedness index that quantifies topographic heterogeneity. 5, pp. 23–27. Cited by: §1.1.
  • [20] U. Schirpke, E. Tasser, and U. Tappeiner (2013) Predicting scenic beauty of mountain regions. Landscape Urban Plan.Computers & GeosciencesEnviron. Monit. Assess.Intermt. J. Sci.Forest ScienceACM Trans. Algorithms 111, pp. 1–12. Cited by: §1.
  • [21] Y. Schreiber (2010) An optimal-time algorithm for shortest paths on realistic polyhedra. Discret. Comput. Geom. 43 (1), pp. 21–53. Cited by: §7.
  • [22] A. C. Yao (1991) Lower bounds for algebraic computation trees with integer inputs. SIAM J. Comput. 20 (4), pp. 655–668. Cited by: §4.2.