GeoInformatica 4:3, 287±315, 2000 # 2000 Kluwer Academic Publishers. Manufactured in The Netherlands.
VARIANT: A System for Terrain Modeling at Variable Resolution LEILA DE FLORIANI, PAOLA MAGILLO, AND ENRICO PUPPO Dipartimento di Informatica e Scienze dell'Informazione, Universita di Genova, Via Dodecaneso, 35±16146 Genova, Italy E-mail: fde¯o,magillo,
[email protected] Received August 10, 1999; Revised July 19, 2000; Accepted July 19, 2000
Abstract We describe VARIANT (VAriable Resolution Interactive ANalysis of Terrain), an extensible system for processing and visualizing terrains represented through Triangulated Irregular Networks (TINs), featuring the accuracy of the representation, possibly variable over the terrain domain, as a further parameter in computation. VARIANT is based on a multiresolution terrain model, which we developed in our earlier research. Its architecture is made of a kernel, which provides primitive operations for building and querying the multiresolution model; and of application programs, which access a terrain model based on the primitives in the kernel. VARIANT directly supports basic queries (e.g., windowing, buffering, computation of elevation at a given point, or along a given line) as well as high-level operations (e.g., ¯y-over visualization, contour map extraction, viewshed analysis). However, the true power of VARIANT lies in the possibility of extending it with new applications that can exploit its multiresolution features in a transparent way. Keywords: terrain modeling, multiresolution structures, level of detail, query operations
1.
Introduction
Terrain models used in GIS are discrete approximations of real terrains. A terrain model consists of a subdivision of a planar domain into cells (usually, squares or triangles), together with prede®ned rules for approximating the terrain surface and its attributes within each cell. The resolution of a terrain model refers to the size of its cells, and can be either uniform, as in regular square grids, or variable, as in Triangulated Irregular Networks (TINs). The accuracy of a terrain model refers to the error made in representing a real terrain, and can be related to the approximation of either geometric measures such as elevation and slope, or non-geometric attributes such as soil type and land use. Accuracy naturally increases with resolution. On the other hand, also the cost of storing, manipulating, analyzing, and visualizing a model increases with resolution. Contemporary remote sensing technology can already provide data samples at a ground resolution of one meter and an accuracy in elevation of about half a meter, on the whole surface of earth [15]. Data of this kind are acquired and stored systematically by geographical agencies of many countries. Higher resolution and elevation accuracy (for
288
FLORIANI, MAGILLO AND PUPPO
about one or two orders of magnitude) can be achieved locally with on-®eld photogrammetry devices. More and more data of this latter kind are also available, at least in urban contexts. With such a wealth of data it would be possible, at least in principle, to build and update a global terrain database at a very high resolution, with an accuracy suf®cient to support all possible applications at any possible location on earth. In spite of the huge size of data involved, nowadays such a database could be actually built and stored. However, its management is far from being a trivial issue. An obvious observation is that not all applications need to work at the same scale, i.e., with the same resolution and accuracy. Some applications need very high accuracy on a small domain (e.g., architectural design), while others work with low resolution on a very large domain (e.g., weather forecast at a continental scale). Actually there are applications for a whole range of different domain sizes and resolution/accuracy. Last but not least, there are applications that may highly bene®t from a model having resolution and accuracy variable through the domain. Examples are landscape visualization, road planning and design, viewshed analysis, shortest path computation, watershed analysis, and erosion prediction. Some of such examples are discussed in Section 8. Thus, given a reference model at the highest resolution and accuracy available, and possibly on a global scale, the following basic problems arise: 1. Bounding the model to the domain of interest for a given application; 2. Reducing resolution for those applications that have either looser requirements in terms of resolution and accuracy, or more strict constraints in terms of running time or computing resources. The ®rst one is a problem of spatial indexing, while the second is more a kind of terrain generalization problem. A key aspect in the latter problem is to optimize the trade-off between accuracy of representation and ef®ciency of operations. Naive solutions such as direct sub-sampling of regular grids give poor results, since resolution is reduced uniformly over the whole domain, disregarding terrain roughness and features, as well as areas of speci®c interest for an application. TIN-based techniques for terrain generalization give well-established means to maintain a relatively good accuracy by reducing the resolution and size of a model adaptively. On the other hand, on-the-¯y generalization of data at very high resolution may be often impractical, due to its heavy computational costs. Also separate storage of multiple models at different resolutions may easily create consistency problems, and it may not be suf®cient for those applications that require different resolution and accuracy in different parts of the domain. Multiresolution terrain models have been developed in the literature to cope with these problems. Such models are built off-line from data at high resolution, and corresponding data structures are stored together with their access methods. Representations of a terrain at variable resolution and accuracy can be retrieved on-line from such data structures, according to the current needs of each application task. Accuracy requirements may be variable both in space and in time. For example, in landscape visualization, the accuracy needed in the various parts of a terrain depends on their distance from the viewpoint, whose position may change over time.
VARIANT: A SYSTEM FOR TERRAIN MODELING
289
Multiresolution models may also act as spatial indexes, since their internal organization naturally supports top-down spatial access. This additional feature makes such models not only suitable to provide the proper terrain model according to the requirements of a given application, but also ef®cient in supporting spatial queries. In this paper, we address the management of resolution and accuracy in terrain modeling, in the context a prototype system called VARIANT (VAriable Resolution Interactive ANalysis of Terrain). The system is based on the Multi-Triangulation (MT), a multiresolution TIN-based model that we developed in our previous work [12], [34], and it is implemented upon an object-oriented library for managing the MT [34]. The main idea behind VARIANT is to provide an extensible system which can be integrated with modules performing terrain analysis and processing, with the additional feature of using resolution and accuracy of the representation, possibly variable over the terrain domain, as further parameters in computation. VARIANT directly supports basic spatial queries as well as a few high-level operations. However, the main purpose of the system is to provide the basic mechanisms to manage multiresolution, and to allow users to write extensions, i.e., speci®c application modules, which can exploit its multiresolution features in a transparent, yet ef®cient, way. An application can make simple use of VARIANT just as an interface to the database, in order to obtain models of the desired domain and at the desired resolution. But the major advantage of VARIANT consists in the possibility of writing applications that directly exploit its multiresolution features during computation. The system consists of a few intercommunicating modules. A kernel encapsulating the data structure for the multiresolution model, together with operations for constructing and querying it, provides the basic engine to manage multiresolution. The multiresolution data structure is built off-line from high resolution data, by speci®c construction modules; the system provides some such modules, and others can be built according to speci®c application needs, by exploiting the construction primitives in the kernel. Once the data structure has been built, data can be accessed by application modules ( programs) through query operations provided by the kernel. The system already supports terrain visualization, and some tasks in terrain analysis (e.g., extraction of contour lines, computation of visibility, etc.), which are designed to exploit variable resolution, and can be taken just as examples of possible application modules. The remainder of this paper is organized as follows. Section 2 contains an outline of related work. Section 3 gives a brief description of the multiresolution model at the basis of VARIANT. Section 4 provides an overview of the architecture of VARIANT. Section 5 describes the system kernel in more details. Section 6 describes general criteria as well as tools available in the system to support multiresolution queries. Section 7 describes construction modules that are used off-line to build a multiresolution model. Section 8 describes a few applications that exploit multiresolution features on-line in terrain analysis and visualization, and also gives an outline of general mechanisms to extend the system with more applications. Finally, Section 9 contains some concluding remarks and directions of future developments.
290 2.
FLORIANI, MAGILLO AND PUPPO
Related work
Terrain generalization is a classical problem and a number of algorithms exist in the literature, which are generally aimed at producing a TIN that approximates the elevation of a set of input samples (see Garland and Heckbert [22], Lee [31], for surveys). Most such methods are based on the iterative application of local modi®cations on an initial TIN, in order to either re®ne or coarsen it. Here, we just exploit basic principles of existing algorithms based on local modi®cations in order to obtain general techniques for building our multiresolution model. There exist a number of multiresolution terrain models, which are based on subdivisions of the domain either through nested regular grids [16±17], [24], [32±33], [41±42], or through TINs [1], [4], [7], [9], [25], [28], [27], [37], [43], [46]. Regular multiresolution models have the main advantage of requiring simple data structures, since geometry and connectivity can be represented implicitly. On the other hand, multiresolution models based on irregular triangulations are more ¯exible since they naturally adapt to different surface morphologies, they can be built from scattered data samples, they can include explicitly point features (e.g., maxima, minima, saddle points) as well as line features (e.g., ridges, valleys, coastlines) represented at multiple resolutions, and they can be de®ned for non-convex domains. Some prototype systems which use multiresolution concepts have been developed, based on both regular and irregular triangulated models. Topovista [44] is a system developed at the University of Arizona, in which the underlying multiresolution model is a hierarchy of regular right triangles [17]. FlyAway [19] has been developed at the University of TuÈbingen, using a multiresolution model based on Delaunay triangulations of irregularly distributed points [28]. Apparently, the only application proposed for such systems is interactive terrain visualization, where multiresolution is used for adapting the rendered model to viewdependent thresholds. 3.
The Multi-triangulation
The Multi-Triangulation (MT) is a multiresolution model for triangle meshes, proposed initially in Puppo [38], and developed in De Floriani et al. [12], and Magillo [34]. In VARIANT, we use an MT to represent TINs at multiple resolutions. Here we just give a brief outline of the model. The interested reader may refer to works cited above for details. A TIN consists of a plane triangulation where each vertex has an associated elevation value. Vertex elevations de®ne an embedding of the plane triangulation into the threedimensional space (see ®gure 1). Without loss of generality, we use a planar patch to project each triangle in space. However, smooth surfaces can be also obtained, without modifying the overall framework, by using a curved patch to project each triangle, e.g., computed on the basis of both elevation and surface normal at each vertex [39]. The intuitive idea behind a Multi-Triangulation (MT) is the following one. Consider a process that starts with a coarse TIN and progressively re®nes it by performing a sequence
VARIANT: A SYSTEM FOR TERRAIN MODELING
291
Figure 1. The plane triangulation underlying a TIN and its embedding in three-dimensional space.
of local updates. A popular example of re®nement sequence consists of the iterative insertion of vertices, where each new vertex v modi®es the TIN by substituting a set of triangles ®lling a polygon with a fan of triangles incident at v, and triangulating the same polygon [20]. More in general, a local update replaces a subset of triangles of a TIN with another, more numerous, set of triangles representing the same portions of terrain at a higher resolution. Thus, an update is described by the two subsets of triangles removed and inserted by it, respectively (see ®gure 2(a)). We de®ne the following dependency relation between updates: an update C2 depends on another update C1 if and only if C2 removes some triangles introduced by C1. Intuitively, this means that C2 can be applied only if C1 has been applied before it. The transitive
Figure 2. (a) An initial triangulation and a sequence of four updates: updates 1 and 2, as well as updates 3 and 4, are mutually independent, while 3 depends on both 1 and 2, and 4 depends on 2; (b) the corresponding MT: an additional dummy update represents the creation of the initial TIN.
292
FLORIANI, MAGILLO AND PUPPO
closure of dependency relation de®nes a partial order, which is represented graphically as a directed acyclic graph (DAG), as depicted in ®gure 2(b). This structure is used to obtain different sequences of updates formed by subsets of the initial sequence. A set of updates of an MT that is closed with respect to the partial order, i.e., that contains all parents of each of its nodes, provides a TIN representing the terrain at a certain resolution (see ®gure 3). It is possible to perform more updates in some areas and fewer updates elsewhere, depending on the resolution requirements imposed by a given application, thus producing a TIN having a resolution variable through the domain. Such an operation, called selective re®nement, is the basis for managing terrain resolution on-line.
4.
The architecture of variant
VARIANT consists of a collection of modules, organized into two layers (see ®gure 4). The inner layer, forming the system kernel, is called the MT-manager. It contains the data structure implementing the Multi-Triangulation as well as a set of operations that provide a standard interface between the MT and the other modules of the system. Besides utility operations, such as I/O functions, the MT-manager provides two main classes of operations:
Figure 3. (a) A closed subset of the nodes of the MT of ®gure 2 is given by the nodes above the curve (i.e., nodes 0, 1, 2, 4). (b) The TIN resulting from applying such updates.
VARIANT: A SYSTEM FOR TERRAIN MODELING
293
Figure 4. Modules composing the VARIANT system and their relations.
* *
Basic construction operations, which are used to build an MT through local updates. Query operations, which are used to extract TINs at variable resolution. Such operations are general-purpose and can be specialized by de®ning some parameters in order to obtain speci®c multiresolution queries.
The outer layer is the extensible part of the system, which contains modules implementing applications that exploit multiresolution features. Such applications rely on the MT-manager to either build or query a terrain model encoded through an MT. Modules in this layer can be classi®ed further as: *
*
*
MT-Generators that take as input raw terrain data and build an MT, through construction operations provided by the MT-manager. Modules implementing query parameters that are used to customize the generalpurpose query operations of the MT-manager, in order to implement speci®c multiresolution queries. The system currently provides a number of basic prede®ned parameters, but more parameters can be added by simply instantiating a general scheme. MT-Clients, which use the query operations provided by the MT-manager to perform operations at variable resolution on a terrain encoded through an MT. Such operations include basic spatial queries (e.g., point location, range search), as well as global operations (e.g., generation of contour maps, viewshed computation), as illustrated in Section 8.
The system architecture is depicted in ®gure 4 in terms of the relations among the different modules. Modules implementing the MT-manager, the query parameters, the MT-generators and the MT-clients are described in the following sections in more details. The current version of VARIANT has been implemented in C under the Unix operating system, and is based an object-oriented library for rapid prototyping of MT-
294
FLORIANI, MAGILLO AND PUPPO
based applications [34], which is also the main tool available to write extensions to the system.
5.
The MT-manager
The MT-manager encapsulates the inner representation of the MT and provides a software interface to it. Such an interface provides general access and manipulation mechanisms acting on a terrain model represented as an MT, while hiding all details of managing multiresolution in the speci®c data structure. Operations provided by the MT-manager are at a high level of abstraction and generality, while the implementation of more speci®c operations is deferred to modules of the outer layer.
5.1.
Data structure
In the current version of VARIANT, we store an MT in a data structure which explicitly describes the DAG and the local updates. Each triangle in the model is encoded by storing its geometry, including elevation, as well as its attributes. The connection between a node of the DAG and the triangles removed and created in its corresponding update is encoded by associating triangles to arcs incoming to and outgoing from the node, respectively (see De Floriani et al. [12], and Magillo et al. [35], for further details). The storage cost of this data structure is linearly proportional to the number of triangles of the MT: experimental results show that it is about four times larger than the cost of a single resolution model encoding just the TIN at the highest resolution available. Lighter data structures could be adopted for special classes of MTs [13], [27], which strongly reduce the overhead necessary to manage multiresolution. However, explicit encoding has been adopted in the prototype of VARIANT for a number of reasons: it can encode an MT independently of the technique used to build it, thus allowing us to experiment the system with different construction techniques (see Section 7); it allows us maintaining details for all entities at all levels of resolution in the model; and, last but not least, it is directly supported by our object-oriented library for managing MT models [35], which is a suitable tool for fast prototyping and transparent extension of the system.
5.2.
Construction operations
An MT is built from a sequence of local updates, such as that generated by an incremental technique of terrain generalization. Since many different techniques exist, and no one is best for all applications, we have designed our system to be open to different construction algorithms. In order to achieve this goal, we have included in the MT-manager only generic mechanisms that build an MT data structure starting from a sequence of local updates.
VARIANT: A SYSTEM FOR TERRAIN MODELING
295
The construction of a Multi-Triangulation is made off-line by modules of the outer layer, called MT-generators, and involves two steps: 1. Generation of an initial TIN and of a sequence of updates which incrementally re®ne it. 2. Computation of the partial order within the sequence of updates and construction of the MT. The MT-manager only provides operations that allow an MT-generator to record the updates as they are performed, plus a single operation that automatically performs the second step, thus transforming the sequence of recorded updates into an MT. This mechanism is general enough to allow us to modify different iterative techniques for terrain generalization into techniques for generating our multiresolution model, without requiring any knowledge of the MT model and of its internal organization. These issues are discussed further in Section 7.
5.3.
Query operations
Basic queries on a terrain model include evaluating terrain characteristics at a given point or inside a given region; extracting terrain pro®le along a given path (e.g., a river, a road); windowing and buffering; extracting portions of terrain with a given elevation, or slope, or having a given thematic attribute; etc. Multiresolution queries use resolution and/or accuracy as a further parameter in computation. This means that, besides specifying the subject of our query, we can also specify the desired resolution and/or accuracy of the result, which can be possibly variable over the domain. In the following, we will refer generically to the desired resolution and accuracy as Level of Detail (LOD). In general, a multiresolution query is speci®ed by two parameters: 1. A focus condition, which de®nes the portion of terrain relevant to the query, hereafter called the Region of Interest (ROI). A focus condition is a Boolean function de®ned on the triangles of an MT and assigning the value TRUE to a triangle if and only if it belongs to the ROI. This may depend on a number of parameters, which can be used to implement a speci®c condition, such as: spatial location, elevation, slope, ®eld value (such as temperature, rainfall, etc.), attributes (such as soil type, land use, etc.): a triangle satisfying a focus condition is called an active triangle. 2. A LOD threshold, which de®nes the level of detail of the TIN to be extracted. A LOD threshold is a Boolean function de®ned on the triangles of an MT which assigns the value TRUE to a triangle if and only if its level of detail is considered suf®cient. This may depend on the position of the triangle in space, on its geometric properties (size, shape), on its accuracy-related attributes (e.g., error made by approximating elevation, or slope, or another ®eld of interest), etc. A triangle satisfying the resolution ®lter is called a feasible triangle.
296
FLORIANI, MAGILLO AND PUPPO
The MT-manager provides just a general-purpose operation for multiresolution queries, called TIN extraction, which performs selective re®nement on an MT, on the basis of given focus condition and LOD threshold. TIN extraction returns a TIN describing (a portion of ) terrain according to user-de®ned criteria. The MT-manager supports two types of TIN extraction: *
*
A global query, which extracts a TIN representing the whole terrain at a certain resolution. The LOD threshold is the main parameter of the query, and the result is a TIN made of triangles that are feasible with respect to the given threshold. A focus condition may be eventually used as a ®lter in order to bound the application of LOD threshold only to active triangles: triangles outside the region of interest are considered feasible at an arbitrarily coarse resolution. A local query, which extracts a TIN restricted to the Region of Interest (ROI), still at variable resolution. Both focus condition and LOD threshold are taken as parameters of the query, and the result is a TIN made of triangles that are both active and feasible, i.e., that cover only the desired ROI at the desired LOD. In this case, the MT is used not only as a mechanism to manage resolution, but also as a spatial indexing scheme.
Examples of TIN extraction are depicted in ®gure 5. Figure 5(a) shows a local query: the ROI is a square box, and triangles inside it are required to be at the highest possible resolution; ®gure 5(b) shows a global query in which resolution is the highest one for triangles intersecting a given polyline, while it is arbitrarily low elsewhere. Global queries are intended for applications that compute global information (e.g., computation of visibility maps on a terrain). Local queries are the basis for applications that run geometric queries on a mesh (e.g., evaluation of a ®eld value or an attribute at a point, or along a trajectory). Query mechanisms provided by the kernel are generic with respect to the parameters that describe the level of detail and the region of interest. Modules of the outer layer thus implement speci®c query operations on top of TIN extraction by simply varying its parameters (see Sections 6 and 8). Algorithms that implement TIN extraction reduce to traversing the DAG describing an MT, in order to ®nd a closed subset of updates which provides a TIN having the required properties. The MT-manager includes the following three algorithms, which are described in detail in De Floriani et al. [12], and Magillo [34]: *
*
*
A static algorithm for global queries: this algorithm answers each new query independently of the previous ones, and is suitable for single queries. A dynamic algorithm for global queries: this algorithm answers a new query by updating the solution of a previous query; it is suitable for repeated queries, when the result of the new query slightly differs from the result of the previous one. A local algorithm, suitable for local queries.
It is also possible to perform a global query and then select from the resulting set of triangles just the ones that are active with respect to a given focus condition. In this way, we can exploit the computational advantages of the dynamic algorithm in case of queries
VARIANT: A SYSTEM FOR TERRAIN MODELING
297
Figure 5. Two examples of TIN extraction. (a) Triangulation resulting from local query where the just the terrain portion inside a rectangular window is extracted at the highest possible resolution. (b) Result of a global query in which resolution is high only in the proximity of a polyline.
that have a local nature, but they must be repeated several times with just a few differences between the results of two successive queries. Examples are visualization (see Section 8.1), interactive positioning of a window on a terrain, etc. The TIN resulting from a query is returned either just as a list of triangles (each de®ned by its three vertices), or in a more complete format including also triangle-to-triangle adjacency relations. In the latter case, adjacency information is reconstructed on-the-¯y during extraction. The ®rst format is suf®cient for simple applications such as visualization. The latter format is useful for applications performing TIN analysis.
6.
Query parameters
Speci®c multiresolution queries are obtained by suitable instantiation of the focus condition and the LOD threshold in TIN extraction. Application programs in the outer
298
FLORIANI, MAGILLO AND PUPPO
layer (MT-clients) may either implement their speci®c queries directly, or make use of parameters provided in a speci®c module of the outer layer, which implements a set of prede®ned LOD thresholds and focus conditions. In the current implementation, only a small number of LOD thresholds and focus conditions are provided, which have been used to implement the applications described in Section 8. Focus conditions that depend on spatial location of triangles are provided. For each such condition, only triangles intersecting a given spatial entity, either on the two-dimensional terrain domain, or in the three-dimensional space, are active. The following spatial entities have been considered as regions of interest: *
*
*
*
*
*
Points in 2-D (the terrain domain). This implements a point location query, and can be used to evaluate local terrain characteristics (e.g., elevation and slope at a given point). Polylines in 2-D. These are used to get the terrain con®guration (pro®le) along a relevant feature such as a road, a river, a boundary, etc. Circles in 2-D, which are the basis for range queries. Getting the terrain con®guration within a distance d from a given location reduces to a local query with a circular region of interest. Axis-parallel boxes, which implement window queries; boxes both in two-dimensions (on the xy-plane) and in three dimensions (in the 3-D space) can be used. Wedges, which have been used to implement the view frustum in terrain visualization (see Section 8.1). Horizontal planes at a given height, which are used for contour line extraction (see Section 8.2).
Such focus conditions can be also combined with logical operators AND and OR, which consider the intersection and the union, respectively, of the corresponding regions of interest. The following LOD thresholds that depend on position and elevation accuracy are available: *
*
Constant LOD thresholds, expressed by means of a single real value which bounds from above the elevation error admitted for a triangle. LOD thresholds increasing with the distance from a reference point. The distance can be evaluated either on the xy-plane, or in 3-D space. In both cases, the function increases with the distance and it is de®ned by specifying: the reference point R; the threshold value for elevation error in R; a reference distance d; the threshold value at distance d from R; and the dependency law, which may be linear, or quadratic, or exponential.
Additional LOD thresholds and focus conditions can be de®ned easily by using the subclass mechanism of C in the context of the object-oriented library that is provided to support system extensions [35].
VARIANT: A SYSTEM FOR TERRAIN MODELING
7.
299
The MT-generators
An MT-generator is a program that incrementally modi®es a TIN through a sequence of local updates, and converts such updates into an MT by calling the building operations provided by the MT-manager. Input is made of usual data available for a terrain: typically, a set of points sampled on the terrain surface, plus possibly a set of line segments representing line features of the terrain. A speci®c MT-generator is characterized by: *
* *
the approach followed in modifying an initial TIN, which can be either re®nement (i.e., from coarse to high resolution) or simpli®cation (i.e., from ®ne to coarse resolution); the kind of local update used; the criterion adopted to select updates to be performed, which is often a consequence of a speci®c measure of accuracy.
The speci®c characteristics of the update sequence affect the characteristics of the MT produced (e.g., size of the data structure, speed in extraction, adaptivity to terrain features, etc.). For preliminary results of a comparative study of techniques for building an MT, see De Floriani et al. [11]. In the following, we brie¯y address the three items above in order to clarify policies that can be adopted in writing an MT-generator, and how they can affect the result. 7.1.
Re®nement and simpli®cation techniques
Basic techniques for building an MT come directly from algorithms for terrain generalization. There are two basic approaches: *
*
Re®nement methods start from a coarse TIN and improve resolution progressively by iteratively applying updates that increase resolution locally. Examples of such methods for terrain generalization have been proposed, e.g., [6], [20±21], [40]. The initial coarse TIN can be built either by a triangulation of a small set of terrain features extracted with some standard method from input data, as in [20], or simply by triangulation of the polygon bounding the domain, as in [6]. In this case, the initial TIN corresponds to the root of the corresponding MT, while the sequence of updates provides information for building the MT nodes from coarse to ®ne resolution. Simpli®cation methods start from a TIN at the highest possible resolution, directly built on the whole data set, and coarsen resolution progressively by the iterative application of updates that reduce resolution locally. Examples of such methods have been proposed, e.g., [4], [26], [30]. In this case, the TIN resulting from the process coincides with the root of the corresponding MT, while the sequence of updates provides information for building the MT nodes from ®ne to coarse resolution. In this
300
FLORIANI, MAGILLO AND PUPPO
sense, a simpli®cation sequence can be also seen as a re®nement sequence played in reverse. There is no clear superiority of one such approach with respect to the other. In both cases, it can be convenient to apply a sequence of batches of independent updates, rather than a greedy sequence of single local updates [4]. This permits to improve the performance of the MT as a spatial index (see De Floriani [11], for details). In VARIANT, we provide a few MT-generators based on variants of both approaches.
7.2.
Local updates
In general, a local update is described by two sets of triangles, each triangulating the same region with a different number of triangles (the more numerous set giving the triangulation at higher resolution). A speci®c MT-generator is usually characterized by the repeated application of a speci®c pattern at each update. The most popular patterns are: *
*
Vertex insertion/deletion (see ®gure 6(a)): a re®nement update inserts a new vertex in the data set and updates the TIN by eliminating a triangulated polygon in the area surrounding the new vertex, and by ®lling the hole with a fan of triangles incident at the new vertex [6], [20±21], [40]; a simpli®cation update works in reverse by eliminating a vertex and its incident triangles ®rst, and triangulating the resulting hole next [4], [30]. Edge collapse (see ®gure 6(b)): a simpli®cation update shrinks an edge of the TIN by collapsing either one of its endpoints to the other endpoint, or both endpoints to a new
Figure 6. Update operators for a TIN. Each update can be applied in coarse-to-®ne direction, or in ®ne-tocoarse direction.
VARIANT: A SYSTEM FOR TERRAIN MODELING
301
vertex lying along the edge; each of the two triangles incident at the edge collapses to an edge, while the other triangles incident at its endpoints are warped consistently [23], [26]. Also in this case, there is no clear superiority of one such approach with respect to the other. In VARIANT, we provide MT-generators based on the ®rst kind of local updates. It would be simple to extend the system with more MT-generators of the second kind by incorporating kernel primitives for building an MT into existing code for TIN generalization. To incorporate line features, which are crucial to a variety of applications, we also provide a speci®c MT-generator that is based on simpli®cation through vertex deletion. Input data are in the form of a set of points and a set of segments representing line features. The algorithm starts from a triangulation of the domain containing all the given points and line segments as vertices and edges, respectively, thus representing terrain and features at their maximum resolution. Then, the algorithm deletes a vertex at each iteration, with the constraint that a vertex lying on a line feature can be deleted only if it is shared by exactly two feature edges. In this case, deleting the vertex simpli®es the shape of the line feature. Additional constraints prevent degeneracies such as intersections between line features during simpli®cation (see Magillo [34], for details). 7.3.
Selection of updates and LOD criteria
A major aim of an MT-generator is to maintain overall information on terrain (both shape and attributes) as accurate as possible at the coarsest level of detail already, while more and more accurate descriptions are progressively stored in the higher levels of detail (i.e., at nodes that belong to deeper levels in the MT). The general policy to achieve this goal is: in re®nement algorithms, to perform ®rst those updates which improve detail best; in simpli®cation algorithms, to perform ®rst those updates which cause the least loss of detail. The concept of detail here may depend on different criteria, concerning either accuracy, or resolution, or both, and it is application dependent. In particular, it is possible to consider: *
*
*
*
The error in approximating terrain elevation: each triangle approximates a portion of terrain, and its approximation error can be measured by the vertical distance between the triangle and the data points spanned by the triangle (see ®gure 7). The error in approximating terrain slope, which can be measured in a similar way at each triangle, by comparing its slope with that of triangles representing the same portion of terrain at the highest resolution. The error in approximating some other ®eld de®ned on terrain, such as temperature, rainfall, etc., still measured in a similar way. The error in approximating line features de®ned by the data segments. This permits to
302
FLORIANI, MAGILLO AND PUPPO
Figure 7. The elevation error of triangle t is equal to the maximum vertical distance of p1 ; p2 ; p3 ; p4 from the plane of t, and occurs at point p1 .
*
*
incorporate a multiresolution representation of such lines within the MT (each feature will be represented with a progressively larger number of segments across the various levels of detail). The error made in subsuming thematic attributes of terrain (such as soil type, land use, etc.) represented by each triangle with a single attribute. This can be measured as the area covered by the triangle having an attribute different from that stored at it. The size of triangles, which can be expressed either by their area, or by their perimeter, or by their longest edge, or by a combination of such values. This is a criterion more related to resolution of representation, rather than to its accuracy.
Since different applications may be concerned with different concepts of detail, none of the concepts listed above can be best for all applications. However, building a different MT for every application would be impractical. On the contrary, a reference model can be built by taking into account just one such criterion, or a combination of few of them. The accuracy/resolution of each triangle of the model, according to the other criteria, can be computed off-line after the model has been built, thus making it suitable to multiresolution queries that need concepts different from those considered during construction. A practical observation in support to such an approach is that even models built by random sequences of updates do not perform dramatically worse than methods designed to ®t a given concept of detail, as shown in De Floriani [11]. A general possibility would be to base MT construction only on resolution, which is a concept intrinsic to geometry of each triangle, hence independent of applications. In fact, accuracy, in any of the forms listed above, tends to increase with resolution. However, triangles with the same resolution do not necessarily have the same accuracy. For instance, a higher resolution is necessary in rough areas to achieve the same accuracy in elevation for which a low resolution is suf®cient in ¯at areas (see ®gure 8). For applications that are only concerned with terrain shape, we found that an MTgenerator designed to optimize elevation accuracy, possibly combined with preservation of line features, works well. VARIANT provides MT-generators of this kind. For
VARIANT: A SYSTEM FOR TERRAIN MODELING
303
Figure 8. A TIN at uniform accuracy, measured by elevation error, but variable resolution. Note that bigger triangles represent ¯at terrain areas.
applications that need to work also with thematic attributes, it might be better to write new MT-generators which combine also such concepts in selecting updates during construction. 8.
The MT-clients within variant
A naive use of MTs from any application handling terrain data consists simply of extracting a TIN at a user-de®ned accuracy, and using it for subsequent processing (e.g., visualization, analysis, or simulation). In this case, a single TIN extraction is needed, which is performed by using a selected focus condition and LOD threshold. This simple feature is an improvement over the use of a terrain model at uniform resolution. However, the true power of VARIANT is exploited by applications that make direct use of variable resolution features to improve performance. In the following, we list some examples of MT-clients that are meant to exploit such features. 8.1.
Interactive terrain visualization
Realistic visualization of terrains is very important in ¯ight simulation and environmental assessment. Skewed views of terrain may easily span a huge domain: for instance, the ®eld of view from an airplane may extend on a range of several hundreds kilometers. If a terrain model at very high resolution were used to visualize such kind of views, the number of graphical primitives to be rendered would overwhelm even the performance of most powerful graphical workstations. Moreover, resolution would be unnecessarily high on a large portion of terrain, since the size on screen of any graphical primitive far from viewpoint would become smaller than a pixel. On the other hand, if a generalized model were used, at a resolution suf®ciently low to be managed by the rendering engine, the visual quality of terrain close to the viewpoint would be highly degraded. Some
304
FLORIANI, MAGILLO AND PUPPO
improvement may be obtained with the latter approach by a clever use of texture mapping [2]. However, texture mapping cannot help with the shape degradation of silhouettes (e.g., ridges) and other important geometric features (e.g., cliffs, roads, rivers, etc.). The performance of a visualization system can be improved enormously if a representation at variable level of detail is used. In fact, this kind of solution is the subject of a number of recent proposals in the literature [1], [4], [19], [27], [32], [44]. The general idea is to visualize a terrain model whose resolution is high close to the viewpoint, while it progressively decreases with distance from it. Note that a different model must be provided at each frame, since the viewpoint changes its position continuously. Therefore, TIN extraction at variable resolution must be performed in real time. VARIANT includes a prototype visualization module which permits the interactive visualization (i.e., over ten frames per second) of a terrain at variable resolution on low cost platforms, such as PCs, already. This module allows the user to drive its viewpoint through space to ¯y over the terrain. At each frame, we apply the dynamic algorithm for global queries, and extract a TIN covering the whole domain and obeying to a LOD threshold de®ned in the following way: *
*
Outside the view frustum, resolution can be arbitrarily coarse, since such parts of the terrain do not contribute to the visible scene. Inside the view frustum, resolution is maximum at the viewpoint, and decreasing linearly with distance from it.
In this way, the LOD threshold varies at each frame, since it depends on the position of the viewpoint. Therefore, the terrain model visualized is adaptively changed at each viewpoint position. At each frame, the dynamic algorithm for TIN extraction starts from the model corresponding to the previous frame, increasing detail where necessary, and decreasing it where it is unnecessarily high. Triangles of the extracted TIN lying outside the view frustum are culled prior to rendering. Note that we could use alternatively a local algorithm for TIN extraction by providing the view frustum as a ROI, since this automatically culls triangles outside the view frustum. However, we found that the dynamic approach is faster, due to the computational advantage of starting from a TIN that is very similar to that in output. Figure 9 shows the portion of TIN extracted at a given frame rate, bounded to the view frustum, and a corresponding perspective visualization. Note how the actual size of triangles increases with distance from the viewpoint, while their apparent size on the screen is almost uniform. 8.2.
Contour lines
Contour maps are probably the most common way to visualize a terrain. A contour corresponding to an elevation value h is the intersection between the terrain surface with the horizontal plane of equation z h. A contour map is formed by a collection of
VARIANT: A SYSTEM FOR TERRAIN MODELING
305
Figure 9. (a) A TIN used for interactive terrain visualization, clipped at the view frustum, and (b) the corresponding view of terrain.
contours at different elevations, where each line is labeled with its elevation. In the context of a TIN model, each contour consists of a set of polylines. Without lack of generality, we assume to deal with the extraction of a single contour, at elevation h. Contour lines are computed on a TIN by selecting the triangles containing the given elevation h, ®nding one segment for each of such triangles, corresponding to the intersection with plane z h, and then linking the resulting segments into polylines. We use the MT as a spatial index to select just the relevant triangles for a contour. To this aim, we use a uniform LOD threshold to select the desired accuracy of the map, and a focus condition that considers a triangle active if and only if it intersects the plane z h. In order to avoid missing some intersection, we arti®cially assume that a triangle t spans elevation h if plane z h either intersects t, or its vertical distance from t is smaller than the elevation error associated with t (see ®gure 10). The latter situation corresponds to the cases in which t does not contain h, but some triangle re®ning t may contain it. Intuitively, we can imagine that every triangle t is thickened for an amount equal to its approximation error in order to test the focus condition.
Figure 10. (a) Triangle t : abc is considered as active since plane z h has a distance from t less than the approximation error; (b) triangles re®ning t actually intersect plane z h; (c) the MT node re®ning t.
306
FLORIANI, MAGILLO AND PUPPO
Each triangle returned by the query algorithm which contains the given elevation is post-processed in order to compute the segment that represents its contribution to the countour. Contour segments sharing an endpoint are then connected into chains. Note that two segments may have a common endpoint only if they belong to adjacent triangles. In order to ef®cently ®nd contour segments that need to be connected to each other, the TIN extraction algorithm generates adjacency relations among the triangles of the output mesh. In order to compute a contour map de®ned by a sequence h1 ; . . . ; hk of elevation values, two approaches can be used: 1. A single query is used to retrieve all the triangles relevant to at least one elevation hi , by instantiating a suitable focus condition. Then, each triangle is intersected with the appropriate planes in order to generate the contour lines. 2. An individual query is used for each elevation hi , which is iterated for all values i 1 . . . k. Since a representation of the terrain outside the contours is not of interest, to perform the ®rst approach we prefer a local query algorithm which extracts only triangles that are active for the given contour values (see ®gure 11(b)). The second approach can be implemented in a similar way by using a separate local query for each contour value. However, if the given elevations are dense enough, the change in the relevant set of triangles when passing from hi to hi 1 is small, and an approach based on the dynamic algorithm for global query is more convenient. In this case, the focus condition is used to ®lter triangles which are required to satisfy the LOD threshold. The result of a global query for a given value is depicted in ®gure 11(a). Table I compares the results obtained by using the ®rst approach and the two versions of the second approach, as outlined above. As a measure of the cost of the process, the table shows the number of triangles visited by the TIN extraction algorithms while visiting the DAG. The ®rst approach turns out to be the least expensive one. As expected, the version of the second approach which uses a collection of local queries is appropriate when the gap between two consecutive elevations in the sequence is large, while the version using a dynamic global algorithm becomes more convenient as the gap becomes smaller. 8.3.
Visibility
VARIANT includes MT-clients which compute various types of visibility information on a terrain, as described in the following subsections. 8.3.1. Point-to-point visibility. Two points p1 and p2 lying on or above a terrain are mutually visibile if terrain pro®le along the interior of segment p1 p2 lies below p1 p2. A point-to-point visibility query on a TIN can be solved by reducing it to an intersection query: we search for all the triangles which intersect segment p1 p2 or lie above it (in threedimensional space). The two points are mutually visible if the result of the query is empty (see ®gure 12).
VARIANT: A SYSTEM FOR TERRAIN MODELING
307
Figure 11. (a) Computation of a single contour from a TIN extracted through a global query; note that triangles tend to be larger outside the region of interest. (b) Computation of a contour map for 10 elevations through a local query; only triangles relevant to the contours are generated.
An MT can be used as a spatial index in point-to-point visibility queries, in order to extract just the triangles which, for their spatial location, are relevant for the solution. In this case, the algorithm for local query is used, by setting the unbounded vertical trapezoid extending upwards from segment p1 p2 as region of interest. As in the case of contour lines, in order to ensure that no intersection is lost, we must test the intersection of an MT triangle t with such ROI by considering t ``fattened'' vertically for a thickness equal to its approximation error. Queries can be made either at full resolution (in this case, spatial indexing is the only role played by the MT), or according to a LOD threshold corresponding to a given uniform
308
FLORIANI, MAGILLO AND PUPPO
Table 1. Number of visited triangles in extracting the triangles needed for computing a contour map. Evenly spaced elevations have been used: k is their number, and the ``gap'' is the height difference between two consecutive elevations. For approach 2, the total number of triangles visited in all queries is shown. Approach 1 (One Query)
Approach 2 (Multiple Queries)
k
Gap
Local
Local
Dynamic
5 10 20 40 45 50 66 100 200
200 100 50 25 22 20 15 10 5
35,704 61,244 89,694 107,163 108,522 110,118 112,402 114,432 115,997
41,036 82,629 166,616 334,204 378,139 417,037 555,773 834,045 1,667,575
127,158 177,613 211,326 225,833 226,259 227,577 229,761 230,901 232,557
elevation error e. In the latter case, the answer is subject to a given uncertainty, which can be measured in order to produce a fuzzy model of visibility. To this aim, we do the following. The answer to the local query identi®es a polyline l representing the upper pro®le of the terrain portion intersected by the region of interest. The elevation of such polyline is known with an accuracy of e. This means that the true terrain pro®le may lie in a band of thickness 2e obtained by shifting the extracted pro®le by an offset e above and below along the vertical axis (see ®gure 13). Let lu and ll be the upper and lower boundaries of such a band. If all points of segment p1 p2 lie above lu the two points are certainly visible: we say that p1 p2 have a visibility value 1. If some point of p1 p2 lies below ll they are certainly not visible: in this case their visibility value is 0. Otherwise, we assign to the segment a visibility value between 0 and
Figure 12. Points p1 and p2 are not mutually visible since the straight-line segment connecting them lies partially below the TIN.
VARIANT: A SYSTEM FOR TERRAIN MODELING
309
Figure 13. The three possible situations for a pair of points on a terrain (certainly visible, certainly invisible, uncertain). The dashed line is the pro®le of the extracted TIN, the continuous lines mark the upper and lower boundaries of the band.
1, computed as follows: we take the point of ll that has the smallest vertical distance from p1 p2 , let d be such a distance. Then the visibility value for p1 p2 is given by 2ed . 8.3.2. Viewshed computation. Computing the viewshed of a given viewpoint v on a TIN T consists of determining the portions of each triangle of T that are visible from v. The problem of viewshed computation has been extensively studied for TINs, and for general three-dimensional scenes. Viewsheds can be computed from an MT by extracting ®rst a TIN at the desired resolution, and then applying one of the existing viewshed algorithm for TINs (see Floriani and Magillo [8], for a survey). The most popular viewshed algorithms for TINs traverse the triangles in a front-to-back order with respect to the given viewpoint and compute the visible and invisible portions of each triangle directly during such traversal. They exploit the fact that a triangle s can only be obscured by triangles that precede it in the front-to-back order; thus, when s is traversed, we already have all necessary information to determine the visibility situations of s. Viewshed computation is an expensive task since the worst-case space complexity of the viewshed can be as high as O
n2 for a TIN with n vertices [3]. Thus, we can save time and computation resources by computing it on a terrain representation at a reduced resolution. In general, visibility computations are sensitive to elevation errors near the viewpoint; therefore it is recommended to ensure a suf®cient accuracy near the viewpoint, and decrease it progressively with distance [18]. The LOD threshold we use for viewshed computation is similar to that used in interactive terrain visualization. Given a generic point p [ R2 , we denote with d the distance of p from the viewpoint v. Our threshold increases linearly with d.
310
FLORIANI, MAGILLO AND PUPPO
A global query is performed in order to extract a TIN representing the whole terrain according to the variable-resolution criteria illustrated above. On such TIN, a viewshed algorithm is then applied. Since viewshed algorithms need adjacency information for the TIN on which they operate, such information is generated within the extraction algorithm. The viewshed of a terrain is usually computed for either a ®xed viewpoint, or for a ®xed set of viewpoints (e.g., a set of facilities such as transmission or monitoring stations on a terrain). If the viewshed is computed just once, then the corresponding TIN can be extracted by applying a static query algorithm (which requires less memory). In some situations, however, it might be useful to compute the viewshed initially on a rather rough terrain representation, and then re®ne it interactively in some interesting areas that are determined based on the initial sketch of the distribution of visible and invisible terrain areas. In such cases it is necessary to modify the error threshold function and extract a new TIN. For instance, if the user decides to re®ne the viewshed in a speci®c area A of the terrain, then the LOD threshold must be rede®ned in such a way that it gives smaller values (i.e., it requires a more accurate representation), for all view directions intersecting A. Thus, the expression of the LOD threshold becomes dependant on the the angular position of point p with respect to the viewpoint v (see ®gure 14). As the user shrinks its target area A, a new TIN must be extracted and the corresponding viewshed must be computed. In such a context, it is interesting to use a dynamic TIN extraction combined with a dynamic viewshed algorithm. Dynamic viewshed algorithms maintain the visible portions of a set of triangles under on-line insertion and deletion of triangles [10], [14]. If we record the changes in the extracted TIN (i.e., the set of triangles that disappear and the ones that replace them), we can avoid recomputing the viewshed from scratch, and instead use a dynamic viewshed algorithm to update it by removing the contribution of the old triangles and inserting that of the new triangles. A similar approach as the one illustrated above can be used to compute the horizon of a viewpoint on a terrain. The horizon [3], corresponds to the distal boundary of the visible area from the viewpoint in all directions. On a TIN, the horizon becomes a chain of portions of triangle edges, radially sorted around the viewpoint. Similar LOD thresholds as
Figure 14. If A is an area of interest where the viewshed must be re®ned, then the LOD threshold requires a higher resolution for points p having an angular position y1 y y2 with respect to the viewpoint v.
VARIANT: A SYSTEM FOR TERRAIN MODELING
311
those discussed for viewsheds can be used for extracting a TIN from an MT, and existing horizon algorithms are then applied to such TIN. As in the case of viewsheds, a dynamic approach can be used to interactively re®ning an initially sketched horizon. 9.
Conclusions and future work
The systematic use of a multiresolution approach in handling and processing terrain data can improve the performance of several applications in terrain analysis and visualization. VARIANT directly supports the management of resolution on terrain data. Being an open as well as extensible system, it allows users to write applications that access data at different resolution, possibly variable over the domain, in a transparent way. The applications described in this paper already demonstrate the power of the system. However, many other applications can be developed on top of it, through the programming interface offered by the software library for managing Multi-Triangulations [35]. An application that we wish to tackle in the near future in this context is the computation of optimal paths. Paths can be de®ned on terrain according to various optimality criteria, e.g., paths of minimum length, paths with minimum variation in height, with minimum slope along the path, paths avoiding or preferring certain types of soil [5], [29], [45]. Multiresolution can help optimization tasks since it naturally supports a hierarchical approach in computation: a rough candidate solution, obtained from a model at low resolution, is progressively re®ned while reasoning on models at increasingly high resolution, which can be re®ned selectively only in regions of interest. The current implementation of VARIANT is just a prototype that needs some restructuring in order to become an effective and ef®cient manager of a real terrain database, possibly at a global scale. We plan to restructure the system kernel, without modifying its programming interface in the following aspects: *
*
By developing a more ef®cient data structure for primary memory. This is possible, for instance, by restricting the multiresolution model underlying the system to those Multi-Triangulations that are built through speci®c types of local updates, such as vertex insertion/deletion or edge collapse. In the former case, we have already developed a speci®c data structure that drastically reduces the overhead due to multiresolution structures [13], and also supports a networked implementation of the system. Besides, a corresponding MT generator is already available in the system. In the second case, a similar data structure can be developed, by exploiting basic structures described in [27], and we are already working on the development of MT generators based on edge collapses, that operate bottom-up. By developing a mechanism for managing Multi-Triangulations in secondary memory. This problem is of fundamental importance in order to deal with huge amounts of data, especially in the case of a global terrain database. We have already developed a technique that, given a large MT on disk, can load just a part of it, and then can apply query algorithms in main memory to the loaded part. The method is based on splitting an MT into parts which are still MTs and which can be loaded separately. Algorithms
312
*
FLORIANI, MAGILLO AND PUPPO
have been designed for selecting the parts of the splitted MT which must be loaded for answering a given local query [36]. A corresponding MT generator has also been designed, which is aimed at building the model by processing different subsets of the whole data set separately. By supporting the update of an existing data base with insertion of additional data. Since our ultimate goal would be to have a global terrain database, represented with a Multi-Triangulation and accessed through the VARIANT interface, it is important to provide the system with mechanisms for updating the models each time new data are made available. This is a non-trivial problem that needs different solutions depending on the resolution/accuracy of the new data and on whether new data span the same domain or a different domain that those already in the database.
Acknowledgments This work has been partially supported by the project ``A Library for Applications in Geometric Modeling'' and by the project ``Systems for Geometric Modeling'' of the Italian National Research Council. References 1. P. Cignoni, E. Puppo, and R. Scopigno. ``Representation and visualization of terrain surfaces at variable resolution,'' in Proceedings Scienti®c Visualization '95, 50±68. World Scienti®c, 1995. Extended version appeared in The Visual Computer, Vol. 13:199±217, 1997. 2. P. Cignoni, C. Montani, C. Rocchini, and R. Scopigno. ``A general method for recovering attribute values on simpli®ed meshes,'' in Proceedings Visualization '98, 59±66, ACM Press: Research Triangle Park (NC), 1998. 3. R. Cole and M. Sharir. ``Visibility problems for polyhedral terrains,'' Journal of Symbolic Computation, Vol. 17:11±30, 1989. 4. M. de Berg and K. Dobrindt. ``On levels of detail in terrains,'' in Proceedings 11th ACM Symposium on Computational Geometry, C26±C27, ACM Press: Vancouver (Canada), 1995. 5. M. de Berg and M. van Kreveld. ``Trekking in the alps without freezing or getting tired,'' Algorithmica, Vol. 18:306±323, 1997. 6. L. De Floriani, B. Falcidieno, and C. Pienovi. ``Delaunay-based representation of surfaces de®ned over arbitrarily shaped domains,'' Computer Vision, Graphics, and Image Processing, 32:127±140, 1985. 7. L. De Floriani. ``A pyramidal data structure for triangle-based surface description,'' IEEE Computer Graphics and Applications, Vol. 8(2):67±78, 1989. 8. L. De Floriani and P. Magillo. ``Visibility algorithms on triangulated terrain models,'' International Journal of Geographic Information Systems, Vol. 8(1):13±42, 1994. 9. L. De Floriani and E. Puppo. ``Hierarchical triangulation for multiresolution surface description,'' ACM Transactions on Computers, Vol. 14(4):363±411, 1995. 10. L. De Floriani and P. Magillo. ``Updating visibility information on multiresolution terrain models,'' in W. Kuhn and A.U. Frank, ``Spatial information theory a theoretical basis for GIS,'' Lecture Notes in Computer Science, Vol. 988, 279±296. Springer-Verlag: Berlin-Heidelberg, 1995. 11. L. De Floriani, P. Magillo, and E. Puppo. ``Building and traversing a surface at Variable Resolution,'' in Proceedings IEEE Visualization 97, 103±110, Phoenix, AZ (USA), 1997.
VARIANT: A SYSTEM FOR TERRAIN MODELING
313
12. L. De Floriani, P. Magillo, and E. Puppo. ``Ef®cient implementation of multi-triangulations,'' in Proceedings IEEE Visualization 98, 43±50, Research Triangle Park, NC (USA), 1998. 13. L. De Floriani, P. Magillo, F. Morando, and E. Puppo. ``Dynamic view-dependent multiresolution on a client-server architecture,'' CAD Journal, Special Issue on Multiresolution Geometric Models, Vol. 32(13):805±823, 2000. 14. K. Dobrindt and M. Yvinec. ``Remembering con¯icts in history yields dynamic algorithms,'' in K.W., Ng, P. Raghavan, N.V. Balasubramanian and F.Y.L. Chin (Eds.), Algorithms and Computation, number 762 in Lecture Notes in Computer Science, 21±30. Springer-Verlag: Hong Kong, 1993. 15. I.J. Dowman. ``Encoding and validating data from maps and images,'' in P.A. Longley, M.F. Goodchild, D.J. Maguire, and D.W. Rhind, (Eds.), Geographical Information Systems, Vol.1, Chapter 31, 437±450. John Wiley and Sons, New York, 1999. 16. M. Duchaineau, M. Wolinsky, D.E. Sigeti, M.C. Miller, C. Aldrich, and M.B. Mineed-Weinstein. ``ROAMing terrain: Real-time optimally adapting meshes,'' in Proceedings IEEE Visualization '97, 81±88, 1997. 17. W. Evans, D. Kirkpatrick, and G. Townsend. ``Right triangular irregular networks,'' Algorithmica, to appear. 18. J.P. Felleman and C. Grif®n. ``The role of error in GIS-based viewshed determinationÐa problem analysis,'' Technical Report EIPP-90-2, Institute for Environmental Policy and Planning, State University of New York, 1990. 19. FlyAway. Software package developed by G. Loercher, T. Huetter. Institute for Computer Graphics WSI/ GRIS, University of Tuebingen, Germany. http://www.gris.uni-tuebingen.de/people.staff/¯yaway/ index.html. 20. R.J. Fowler and J.J. Little. ``Automatic extraction of irregular network digital terrain models,'' ACM Computer Graphics (SIGGRAPH '79 Proceedings), Vol. 13(3):199±207, 1979. 21. W.R. Franklin. ``Triangular irregular networks to approximate digital terrains,'' Technical report, ECSE Department, Rensselaer Polytechnic Institute, Troy, NY, 1994. 22. M. Garland and P.S. Heckbert. ``Fast polygonal approximation of terrains and height ®elds,'' Technical Report CMU-CS-95-181, School of Computer Sciences, Carnegie Mellon University, Pittsburgh, PA, USA, 1995. 23. M. Garland and P.S. Heckbert. ``Surface simpli®cation using quadric error metrics,'' Comp Graph. Proc., Annual Conf. Series (Siggraph '97), ACM Press. 209±216, 1997. 24. D. Gomez and A. Guzman. ``Digital model for three-dimensional surface representation,'' Geo-Processing, Vol. 1:53±70, 1979. 25. B. Hamann. ``A data reduction scheme for triangulated surfaces,'' Computer Aided Geometric Design, Vol. 11(2):197±214, 1994. 26. H. Hoppe. ``Progressive meshes,'' in ACM Computer Graphics Proceedings, Annual Conference Series (SIGGRAPH '96), 99±108, 1996. 27. H. Hoppe. ``Smooth view-dependent level-of-detail control and its application to terrain rendering,'' in Proceedings IEEE Visualization '98, 35±42, IEEE Comp. Soc. Press: Research Triangle Park, NC, 1998. 28. R. Klein and W. Straûer. ``Generation of multiresolution models from CAD data for real time rendering,'' in R. Klein, W. Straûer, and R. Rau, (Eds.), Theory and Practice of Geometric Modeling (Blaubeuren II). Spinger-Verlag: Berlin-Heidelberg, 1997. 29. M. Lanthier, A. Maheshwari, and J.R. Sack. ``Approximating weighted shortest paths on polyhedral surfaces,'' in Proceedings ACM Symposium on Computational Geometry, Nice, France, 1997. 30. J. Lee. ``A drop heuristic conversion method for extracting irregular networks from digital elevation models,'' in Proceedings GIS/LIS'89, 30±39, Orlando, FL, USA, 1989. 31. P. Lee. ``Comparison of existing methods for building triangular irregular network models of terrain from grid digital elevation models,'' International Journal of Geographic Information Systems, Vol. 5(3):267± 285, 1991. 32. P. Lindstrom, D. Koller, W. Ribarsky, L.F. Hodges, N. Faust, and G.A. Turner. ``Real-time, continuous level of detail rendering of height ®elds,'' in Comp. Graph. Proc., Annual Conf. Series (SIGGRAPH '96), ACM Press: 109±118, New Orleans, LA, USA, 1996.
314
FLORIANI, MAGILLO AND PUPPO
33. M. Lounsbery, T.D. DeRose, and J. Warren. ``Multiresolution analysis for surfaces of arbitrary topological type,'' ACM Transactions on Graphics, Vol. 16(1):34±73, 1997. 34. P. Magillo. ``Spatial operations on multiresolution cell complexes,'' PhD thesis, Dept. of Computer and Information Sciences, University of Genova (Italy), 1999. 35. P. Magillo, L. De Floriani, and E. Puppo. ``A dimension-independent library for building and manipulating multiresolution triangulations,'' Technical Report DISI-TR-99-03, Department of Computer and Information Science, University of Genova (Italy), 1999. 36. P. Magillo and V. Bertocci. ``Managing large terrain data sets with a multiresolution structure,'' in Proceedings International Workshop on Advanced Spatial Data Management, Greenwich, UK, 2000. 37. A. Maheshwari, P. Morin, and J.-R. Sack. ``Progressive TINs: Algorithms and applications'' in Proceedings 5th ACM Workshop on Advances in Geographic Information Systems, Las Vegas, 1997. 38. E. Puppo. ``Variable resolution terrain surfaces,'' in Proceedings Eight Canadian Conference on Computational Geometry, 202±210, Ottawa, Canada, 1996. Extended version appeared under the title ``Variable resolution triangulations,'' in Computational Geometry Theory and Applications, Vol. 11(3±4):219±238, 1998. 39. R.J. Renka and A.K. Cline. ``A triangle-based C1 interpolation method,'' Rocky Mountain Journal of Mathematics, Vol. 14(1):223±237, 1984. 40. S. Rippa. ``Adaptive approximations by piecewise linear polynomials on triangulations of subsets of scattered data,'' SIAM Journal on Scienti®c and Statistic Computing, Vol. 13(1):1123±1141, 1992. 41. H. Samet. Applications of Spatial Data Structures. Addison Wesley: Reading, MA, 1990. 42. H. Samet. The Design and Analysis of Spatial Data Structures. Addison Wesley: Reading, MA, 1990. 43. G. Taubin, A. Gueziec, W. Horn, and F. Lazarus ``Progressive forest split compression,'' in Computer Graphics (SIGGRAPH '88 Proceedings), 123±132, ACM Press, 1998. 44. Topovista. Software package developed by W. Evans, G. Townsend. Computer Science Department, University of Arizona, USA. http://www.cs.arizona.edu/topovista/index.html. 45. M. van Kreveld. ``On quality paths on polyhedral terrains,'' in J. Nievergelt, H.J. Roos, T. amd Schack, and P. Widmayer, Lecture Notes in Computer Science, Vol. 884, 113±122. Springer-Verlag, 1994. Proceedings IGIS'94: Geographic Information Systems. 46. J.C. Xia, J. El-Sana, and A. Varshney. ``Adaptive real-time level-of-detail-based rendering for polygonal models,'' IEEE Transactions on Visualization and Computer Graphics, Vol. 3(2):171±183, 1997.
Leila De Floriani is professor of Computer Science at the University of Genova, Italy. She received an advanced degree in Mathematics from the University of Genova in 1977. From 1977 to 1981 she was a research associate at the Institute for Applied Mathematics of the Italian National Research Council in Genova, and from 1981 to 1982 an Assistant Professor at the Department of Mathematics of the University of Genova. From 1982 to 1990 she has been a senior scientist at the Institute of Applied Mathematics of the Italian National Research Council. She is leading several national and EEC projects on algorithms and data structures for representing and manipulating geometric data. Leila De Floriani has written over 90 technical publications on the subjects of computational geometry, geometric modeling, algorithms and data structures for spatial data handling and graph theory. She is a member of the Editorial Board of the journals International Journal of Geographic Information Systems and Geoinformatica.
VARIANT: A SYSTEM FOR TERRAIN MODELING
315
Her present research interests include geometric modeling computational geometry, spatial data handling for geographic information systems. Leila De Floriani is a member of ACM, IEEE Computer Society, and International Association for Pattern Recognition (IAPR).
Paola Magillo received an advanced degree in Computer Science at the University of Genova, Genova (Italy), in 1992, and a PhD in Computer Science, at the same university, in 1999. In 1993, she was research associate at the ``Institut National de Recherche en Informatique et Automatique'' (INRIA), Sophia Antipolis (France), working with the research group of J. D. Boissonnat. Since December 1993, she has been working as a researcher at the Department of Computer and Information Sciences (DISI) of the University of Genova, where she got a permanent position in 1996. Her research interests include computational geometry, geometric modeling, geographic information systems and computer graphics. Since November 1995, she has been a member of the International Association for Pattern Recognition (IAPR).
Enrico Puppo is associate professor of computer science at the Department of Computer and Information Sciences of the University of Genova, where he is member of the Geometric Modeling and Computer Graphics Group. He received a Laurea in Mathematics from the University of Genova, Italy, in March 1986. From April 1986 to October 1998 he has been research assistant (until November 1988), and research scientist (from December 1988) at the Institute for Applied Mathematics of the National Research Council of Italy. In different periods between 1989 and 1992, he has been visiting researcher at the Center for Automation Research of the University of Maryland. Since 1994 he has had a research collaboration with the Visual Computing Group at the IEI/CNUCECNR of Pisa. Enrico Puppo has written about 60 technical publications on the subjects of algorithms and data structures for spatial data handling, geometric modeling, computational geometry, parallel algorithms, and image processing. His current research interests are in multiresolution modeling, geometric algorithms and data structures, and object reconstruction, with applications to computer graphics, geographical information systems, scienti®c visualization, and computer vision. He is a member of ACM, the IEEE Computer Society, and the International Association for Pattern Recognition (IAPR).