Multiresolution models for topographic surface description

45

Transcript of Multiresolution models for topographic surface description

1

f g

Multiresolution Models

for

Topographic Surface Description

Leila De Floriani, Paola Marzano

Dipartimento di Informatica e Scienze dell'Informazione

Universit�a di Genova

Via Dodecaneso, 35 - 16146 Genova - Italy

Email: de o,marzano @disi.unige.it - Fax: +39-10-353-6699

Enrico Puppo

Istituto per la Matematica Applicata

Consiglio Nazionale delle Ricerche

Via De Marini, 6 (Torre di Francia) - 16149 Genova - Italy

Email: [email protected] - Fax: +39-10-6475-580

1 Introduction

Abstract

Key words

Multiresolution terrain models describe a topographic surface at di�erent levels of resolu-

tion. Besides providing a data compression mechanism for dense topographic data, such models

permit to analyze and visualize surfaces at variable resolution. This paper provides a critical

survey of multiresolution terrain models. A formal de�nition of hierarchical and pyramidal

model is presented, and multiresolution models proposed in the literature (namely, surface

quadtree, restricted quadtree, quaternary triangulation, ternary triangulation, adaptive hierar-

chical triangulation, hierarchical Delaunay triangulation and Delaunay pyramid) are described

and discussed within such framework. Construction algorithms for all such models are given

together with an analysis of their time and spatial complexities.

: Multiresolution surface representation, Hierarchical data structures, Terrain mod-

els.

The representation of surfaces de�ned by bivariate functions plays an important role in di�erent

application �elds, like computer aided geometric design, geographical information systems, �nite

element analysis, robotics, computer vision, and computer graphics. Surfaces can be represented by

means of a digital model: a digital surface model is characterized by a domain partition, and by a

space of functions de�ned on such partition. Digital surface models have been extensively studied in

the literature, and most attention has been devoted to models based on either regular or irregular

subdivisions, made of triangles or quadrilaterals.

Digital models are often intended as approximations of surfaces describing natural objects or

phenomena, that are either simulated or measured through some sampling process. A better reso-

lution in the approximation is generally paid in terms of a �ner domain partition, yielding higher

storage cost and computation time. Therefore, a surface model for a given application should be

designed by maintaining a good tradeo� between its resolution and storage cost.

On the other hand, not all tasks in the framework of a given application necessarily require the

same accuracy, and even a single task may need di�erent levels of resolution in di�erent parts of the

domain. For instance, in landscape visualization and in ight simulation, the terrain surface and the

objects on the ground must be rendered at di�erent resolutions, depending on their distance from

the viewpoint.

In order to support the di�erent needs and problems that one has to face in the framework

of a complex application, multiresolution models should be developed for representing, analyzing,

and visualizing a surface at di�erent levels of detail. Such models can represent a surface on the

basis of a reduced dataset, whenever the level of resolution required by the application allows it.

This implicitly provides a data compression mechanism. Data reduction makes real-time simulation

and visualization possible for those applications in which describing less important areas with fewer

details is a relevant issue. Moreover, a hierarchical organization allows an easy implementation of

searching and other geometric operations, such as �nding surface intersection, or zooming (when

visualizing the surface).

As a general rule, we can state the two following requirements for a multiresolution model to be

e�ective:

the storage cost of a multiresolution model achieving a given maximum level of resolution must

2

1

2

2

1

n

N

S S

S

f g

� !

f j 2 g M

f g

M j

M

2 Digital Terrain Models

V v ; ; v D

V V

V;E; F

V;E F

F D

e D

D � D � D

D;� x; y; � x; y x; y D D; �

D S s ; ; s

D �

S; � �

S

D

Hierarchical Ter-

rain Models Pyramidal Terrain Models

subdi-

vision

domain

boundary edge

mathematical terrain model

representative points

sampled model

not introduce a serious overhead with respect to a corresponding (single resolution) model at

the same highest accuracy;

algorithms for accessing and manipulating a multiresolution model must be e�cient.

While several models, which can represent a surface at a �xed resolution, have been developed,

and are extensively used in commercial packages for many di�erent applications, the development of

multiresolution surface models is still a research issue. Interestingly enough, much research e�orts

on this subject were devoted to the representation of natural terrains, in the context of Geographical

Information Systems (GISs).

Multiresolution terrain models can be classi�ed into two main classes, namely

(HTMs) and (PTMs) (see Fig. 1). Here, we provide a formal

framework for a systematic and comprehensive description of such models. Most relevant examples

of multiresolution models proposed in the literature are formalized and discussed in the context of

such a framework, and algorithms to build them are given and analyzed.

The remainder of this paper is organized as follows. Section 2 reviews the basic concepts behind

digital terrain models. Section 3 reviews some methods for building an approximated terrain model

from a set of sampled points, and describes one of such methods in detail. Section 4 formalizes

hierarchical subdivisions, on which HTMs are based. Section 5 introduces a classi�cation of HTMs,

while Sections 6 and 7 describe the two main classes of hierarchical representations, i.e., quadtree-

based models and hierarchical triangulated models, respectively. Section 8 provides a formalization

of PTMs, and reviews existing pyramidal models. Construction algorithms are proposed for all the

HTMs and PTMs presented in Sections 6, 7, and 8. In Section 9 di�erent features of models reviewed

in the paper are discussed on the basis of some modeling and computational issues that are relevant

in applications. Finally, in Section 10, some concluding remarks are presented.

A surface model for terrain representation, called a digital terrain model, provides an approximation

of a topographic surface based on a set of elevation values given at a �nite set of points in the surface

domain. In this Section, we formalize the concept of DTM. To this aim, we �rst introduce some

preliminary notations and de�nitions.

Let = . . . be a �nite set of points in a domain of the Euclidean plane IR . A

de�ned by is a plane connected straight-line graph having as set of vertices (Preparata

and Shamos 1985). Such subdivision can be expressed as a triple � = ( ), where the pair

( ) is the above mentioned graph, and is the set of polygonal regions (or faces) induced by

such graph. The union of the regions of forms the of subdivision �, denoted by (�).

We call any edge of �, which lies on the boundary of (�), a for �.

Given a domain IR , and a function : IR, the surface corresponding to over is

( ) = ( ( )) ( ) . We call the pair = ( ) a .

In practical applications, function will be apriori unknown, while its value at a �nite set of points

in the domain will be obtained by sampling the elevation of the terrain. Let = . . . be

a �nite subset of , called the set of , at which the value is known. The pair

= ( ) is called a (of ) and supplies a discrete terrain representation on the

set of representative points. As the number of elements of set can be very large, the problem of

building a compact model that approximates a given sampled model within a certain resolution

on arises.

3

i

i

2 \

2 \

1

1

( )

( )

=1

f g

D f g

M D

M D

2

j � j

2

2

D M

D

M D

2

m

m i

i i

S

S

p p

p p i p p

i i

i

ip e S

i

ip r S

m

i

i

S

S

p p i

p p i p p p p

i

i

i

i

Digital Terrain Model

Regular Square Grids Triangulated Irregular Networks

� D

D r ; ; r

; � ; ; � �

r � �

V

V

; V;E; F

S E

p x ; y S

E p � x ; y � x ; y ;

� � r p

e E

E e max E p

r F

E r max E p :

E max E r :

; "

" E "

; V S

� V x ; y V r

x ; y � x ; y � x ; y :

� V V S E

r

r

In general, a �nite approximate description of can be given by tessellating into polygonal

regions, such that can be described by a function over each such region. To this aim, we de�ne a

digital terrain model as a special case of a mathematical terrain model, where function is piecewise

de�ned over a subdivision � of into regions . . . . Thus, a (DTM)

is a pair = (� �), where � = . . . . . . is a set of functions, such that each is de�ned

over a region of �. If is a continuous function, all 's must assume the same values on the

common edges of adjacent regions. Common choices for functions of � are: linear functions, when

� is a triangular subdivision, bilinear functions when � is a subdivision into quadrilaterals. Spline

patches can also be used to obtain smooth surfaces. In any case, functions are always de�ned in

terms of the set �( ) of elevation values of the vertices of �, and of the topological structure of �.

Thus, once the space of functions is selected, the resulting surface is automatically de�ned in terms

of � and �( ).

Given a sampled model and a digital terrain model = (� �), with � = ( ), we

measure the error in approximating with by considering the distance between function and

the functions in � at all points of . We de�ne an error function as follows. For every point

= ( )

( ) = ( ) ( )

where is the function belonging to � approximating over the region containing ; for every

edge

( ) = ( );

for every region

( ) = ( )

Finally,

(�) = ( )

A digital terrain model = (� �) is said to approximate a sampled model at level of

resolution (in short, to satisfy resolution ) if and only if (�) . In the following, if no ambiguity

arises, we will use � and interchangeably.

We consider only approximations of a sampled model through a digital terrain model =

(� �) such that the set of vertices of � is always a subset of the dataset . Moreover, all functions

of � will be interpolants of at the vertices of , i.e., for each ( ) , and for each having

( ) as vertex, ( ) = ( ) Thus, all such functions are uniquely de�ned by the values

of at the points of . Notice that, under these conditions, if , then (�) = 0. Such

conditions hold for most digital terrain models known in the literature, and, however, they are not

restrictive in the framework of this paper.

Digital terrain models can be classi�ed, according to the topology of the underlying subdivision,

into (RSGs) and (TINs). In a RSG, the

subdivision is a rectangular grid and each function is usually a bilinear function interpolating the

elevation at the four vertices of region (see Fig. 2(a)). In a TIN, the subdivision is a triangulation

and each function is a linear interpolant of the elevation values at the three vertices of triangle

(see Fig. 2(b)).

The inherent regularity of the grid structure, as opposed to the high irregularity of topographic

surfaces, makes RSGs non-adaptive to terrain features: in a rectangular grid edges are imposed by the

geometrically-�xed criterion for subdivision. TINs, on the contrary, naturally adapt to topography:

relevant lines and points representing topographic features (such as peaks, pits, passes, ridges and

ravines) may be included as edges and vertices of a triangulation, respectively. Such features can be

identi�ed by preprocessing the input dataset: to this aim, several techniques have been proposed to

4

S

k k

j j

k j

M D �

D

D

geometry-driven

error-driven

3 Building an Approximated Model

V

V S

V

V

S V E "

" >

V

V S

V

V O N

N S

" S N

j ; ; k S

N O N

" O N N

V

V V n n E

V E " " V

V S

extract topographic features from regularly distributed data (Johnston and Rosenfeld 1975; Peucker

1975; Chen and Guevara 1987; Skidmore 1990; Southard 1991). When selecting the vertex set

for �, extracted points can be assigned a priority denoting that they have to be preferred with

respect to other input points. Relevant edges may also be included by building a constrained or a

conforming Delaunay triangulation in which the set of constraints is a subset of relevant features

(Aurenhammer 1991; Edelsbrunner 1992; Tan 1994). There are other techniques that, even without

an apriori knowledge of topography, produce good results in practice, selecting in any case relevant

points on the terrain (see, for instance, the Delaunay selector, explained in Section 3, or (Rippa

1992), or (Lee 1991) for a survey).

In order to approximate a sampled model through a digital model , a suitable subset

must be selected, that forms the vertex set of the subdivision � underlying . The choice of can

be either , i.e., the points of must form a given pattern in an implicit network (if

any) de�ned by the points of , or , i.e., the points of must guarantee that (�) ,

for a given 0. In general, in the former case the resolution of the result cannot be �xed apriori,

while in the latter case it is the cardinality of to be unknown: as fewer points as possible should

be used to achieve the desired resolution in order to ensure data compression.

In case is based on a topologically regular decomposition of the domain (e.g., on an RSG),

the problem of selecting admits a straightforward solution. The points of must be regularly

distributed at the nodes of a lattice, while the points of are obtained through subsampling. For a

geometry-driven approach, is apriori �xed, while the resolution of the result can be tested in ( )

time, where is the cardinality of . For an error-driven approach, the coarsest subsampled lattice

that satis�es resolution will be selected. For instance, if is formed by the (2 +1) (2 +1) (= )

vertices of a rectangular grid, possible subsampled RSGs are built over the nodes of a (2 +1) (2 +1)

grid, for = 0 . . . 1, obtained by taking one point out of 2 data of along each axis. Since

there are log such subgrids, and testing the resolution of each subgrid takes ( ) time, the

subgrid of minimum size satisfying can be found in ( log ).

The problem of �nding an optimal choice of becomes much harder for models based on irregular

subdivisions. In such cases (e.g., for a TIN), the geometry-driven approach is not really meaningful.

Therefore, we can state the following two problems:

1. �nd such that # = , for a given , and (�) is minimum.

2. �nd such that (�) , for a given , and # is minimum.

No polynomial algorithm is known that can solve any of them, both in the case of a TIN and of any

other irregular tessellation (Agarwal and Suri 1994). On the other hand, because of the importance

of such problems in several applications, heuristics have been developed in the literature, and used

in practice, that �nd a suboptimal solution.

There are two main approaches to the construction of an approximated TIN, corresponding

either to a top-down, or to a bottom-up strategy (Lee 1991). The top-down approach starts with a

terrain approximated by a single polygonal cell (or a few polygonal cells) with vertices at grid points,

and re�nes the triangulation by adding new vertices to the subdivision until the desired resolution

is achieved. The bottom-up approach is based on a decimation technique that, starting from a

representation at the highest resolution (i.e., with ), iteratively eliminates as many vertices of

5

2

2

i i

i

i i

while

for

mesh simpli�cation

Delaunay selector

ad hoc

"

� S

E � "

S S

N S n �

p

p

O n O n n

i

O n n i O n

p

O N

O N n i

O Nn n O n n

i O n n n N

O Nn n

the subdivision as possible, while maintaining the required resolution. Polygonal regions left by such

eliminations have to be retriangulated. Thus, also in this case, a re�nement procedure is applied

for generating a triangulation of the current set of vertices. Recently, decimation techniques based

on a process of have been proposed for three-dimensional object representation:

di�erent criteria have been proposed for point selection and for locally retriangulating the \holes"

resulting from vertex removal (Schroeder et al. 1992; Turk 1992; Hoppe et al. 1993).

In the following, we describe in detail a top-down method for performing an error-driven re�ne-

ment of a Delaunay-based TIN, which was proposed �rst in (Fowler and Little 1979). Such method

is called the , and it is the basis for the construction of the hierarchical model

described in Section 7.3. Given a tolerance , the Delaunay selector starts form an initial Delaunay

triangulation covering the whole domain of data. The point of that maximizes the error of the

current approximation is iteratively inserted as a new vertex, and is updated accordingly. The

re�nement process continues until ( ) . Since, as we have already mentioned, the error of a

generic subdivision is null if its vertex set coincides with , and since the number of points in is

�nite, the convergence of the method is guaranteed in a �nite number of steps.

The pseudo-code of the Delaunay selector is shown in Fig. 3. The insertion of a new vertex

in the subdivision is performed through a procedure ADD VERTEX, that is based on an on-line

technique for building a Delaunay triangulation. Note that it is straightforward to transform the

Delaunay selector into a method for a cardinality-driven re�nement, by substituting the loop

with a loop.

The worst-case time complexity of the Delaunay selector can be computed in terms of the cardi-

nality of and of the total number of vertices in the resulting triangulation , by counting the

cost of selecting the point at each iteration, plus the global cost of procedure ADD VERTEX. In

our implementation, we maintain a data structure that associates with each triangle in the current

triangulation a list of data points contained inside it: we take care of placing at the top of such a

list the point that causes the maximum error within the triangle. Moreover, triangles of the current

triangulation are maintained in a balanced search tree, organized according to the approximation

error corresponding to each triangle. By using such data structure, a point can be selected in time

(log ) at each iteration, and thus the total contribution of point selection is ( log ). Procedure

ADD VERTEX must take care of two tasks:

1. update the triangulation;

2. update the links between triangles and data, and the tree storing triangles.

We implemented the triangulation update through an algorithm proposed in (Guibas and Stol�

1985), and we added the operations for updating links after triangulation update. It is known from

(Guibas and Stol� 1985) that the new triangles inserted at a generic re�nement step are at most

( ), where is the number of vertices in the triangulation at step , yielding a total cost of ( )

in the worst case for computing the whole triangulation. Moreover, triangles inserted at each step

are radially arranged around the new point , and a sequence of such triangles sorted radially can be

obtained from the updating procedure at no extra cost. Since the area covered by the new triangles

could contain at most ( ) data points, the links between triangles and points can be updated

in ( log ) at step , through binary search on the sorted sequence, hence yielding a total cost

of ( log ) for this task. Finally, the tree of triangles can be updated in time ( log ) at

step , yielding a total cost of ( log ). Since we always have , we can conclude that

the total complexity of the algorithm in the worst case is ( log ). We wish to point out that

such worst-case complexity can possibly be achieved only through ill-conditioned data, while

the practical performance of the Delaunay selector on real world data shows a slightly superlinear

6

0

0

=0

4 Hierarchical Subdivisions

H S E

S f g 8

8 9

9 2 �

E f j 2 S 9 2 � g

E �! [ , 2 �

2 E

E

H

H

S H

2 S

\ � \

2 S

H

r

m j j j j

j

j i j j

i j i j j i j j

m

i

i i j j j i j j

i j i j j i i j

i j j j

i j

i k k

i i k

i j j i

i

i j

i j

i j

j k i j k

j k

r

r r

; ; �

; ; j ; ;m V ;E ; F

F > D D j > i < j

r F r D

; ; ; r F ; r D

� F � ; r r F r D

; � ;

;

� ; �

D

r ; r r

r

; l

l l

l l V l V l

r r r r

e r r

hierarchical subdivision

parent child

label direct abstraction direct

re�nement macroregion

simple descendant

ancestor

tree describing

segmentation trees

adjacent

matching

behaviour.

In this Section, we focus on the hierarchical structure of the domain subdivision that will be used to

develop a systematic framework for de�ning hierarchical terrain models. A hierarchical subdivision is

de�ned by applying the idea of recursive re�nement to a subdivision. Intuitively, given a subdivision

�, each of its regions can be seen as an individual entity. A region of � can be re�ned at a higher

level of detail into a subdivision � , whose domain covers , by adding new vertices either inside

or on its sides. A is a triple = ( ), where

= � . . . � is a collection of subdivisions such that = 0 . . . , � = ( ),

with # 1; (� ) coincides with an initial given domain , and 0 ! such

that with (� );

= (� � ) � � (� ) ;

: is an injection de�ned as (� � ) = and (� ).

For each (� � ) , � is called the of � , and � is called a of � ; also, (� � )

is called the of (� � ), and the of � ; conversely, � is called the

of (� � ). Any region in ( ) is called a , to denote that its internal

structure is speci�ed further in the hierarchy; conversely, a region that is not a macroregion is called

a region. In general, if there is a path from � to � in , then � is called a

of � , and � is an of � . Such terminology re ects the fact that is described by a tree

with labelled arcs, having as its node set, called the .

In the literature, sometimes hierarchical subdivisions are represented by . In a

segmentation tree, each node corresponds to a single polygonal region: the root represents the initial

domain , while all other nodes correspond to regions of the subdivisions of their parent nodes. Arcs

join pairs of regions: there exists an arc ( ) if and only if belongs to the subdivision � re�ning

. Subdivisions are not explicitly encoded. This representation is only suitable for models based on

a geometrically-�xed criterion: only in this case, indeed, the location of each region in the domain

covered by its parent node is implicitly known. Otherwise, it is not possible to retrieve topological

links between siblings in a segmentation tree. On the contrary, the tree describing a hierarchical

subdivision allows the representation of a wider class of models in a more compact way (Fig. 7

shows the two trees describing a quadtree).

We consider now the e�ects of the re�nement of macroregions within a hierarchical subdivision.

Two subdivisions � � are said to be along a straight-line segment if their domains

intersect only along (see Fig. 4(a)); � and � are said to be along if they are adjacent

along and , i.e., if their boundary edges along are pairwise coincident (see Fig.

4(b)). Notice that the mathematical concept behind matching subdivisions is the two-dimensional

cell complex, i.e., the concept of subdivision. More precisely, it is easy to prove that two adjacent

subdivisions are matching if and only if their union (intended as union of their vertex, edge and

region sets) is a subdivision as well (modulo elimination of duplicate edges and vertices). As an

example, consider the two adjacent subdivisions of Fig. 4(a): the subdivision generated by their

union is not a straight-line plane graph, unlike the union of the two subdivisions of Fig. 4(b).

Let us consider two regions and of a subdivision � such that and are adjacent

along an edge , and such that they are both macroregions in . While re�ning and , some new

7

0 0

1 2

3 1 2 3

1 2 3 4

0

2 S

\ � \ \ � \

2 S

S

S

H

H

H

H H

S

H

j k

i

i j

i j

i j i j h

i j j i

j i j

j

i

i

E

E

E

E

e

e r r

e e

e

e

; l

l

l V l V l V l V

l

r r

r

D

p

p

z p

z

z

z p p

p e e e

t t t t t

matching rule

hierarchical matching subdivi-

sion

expanded subdivision

vertices might be inserted on ; however, the two re�nements may not be consistent, i.e., di�erent

vertices may be inserted on during the two re�nements. The two direct re�nements of and

are subdivisions adjacent along . If is split di�erently in the two cases, such subdivisions are not

matching. Even when is consistently split, the matching could be lost in the successive levels of

the hierarchy, when re�ning regions in descendants of � that are adjacent along . This fact is

undesirable for a terrain model because the continuity across edge-adjacent patches could not be

guaranteed.

In order to have a model in which two adjacent regions are always re�ned by inserting the same

vertices on their common edge, and which maintains this property throughout the whole hierarchy,

the following rule, called the , must be satis�ed:

1. for each pair of subdivisions � � adjacent along a straight-line segment , one of the

following conditions must hold:

(a) � and � are matching along ;

(b) [ ], and there exists a subdivision � in the subtree rooted at

� [� ] that is matching with � [� ] along ;

2. for every simple region of some subdivision � , the edges of are never re�ned further

in the descendants of the regions adjacent to .

A hierarchical subdivision satisfying the matching rule is called a

(see Fig. 5). In summary, the de�nition of hierarchical subdivision guarantees the consistency

of the hierarchical relations between subdivisions in , while the de�nition of hierarchical matching

subdivision ensures that an edge of any subdivision � of is always re�ned consistently in the

subtree rooted at � .

Let be a hierarchical subdivision. We can apply a recursive expansion process that replaces

each macroregion in with the subdivision that directly re�nes it. The outcome of such process is

a planar subdivision � , formed by all simple regions of , that covers (� ), where � is the root

subdivision in the tree describing . � is called the of .

Notice that, given a hierarchical matching subdivision, the model based on the expanded subdivi-

sion � is always continuous; on the contrary, continuity is not ensured if the underlying hierarchical

subdivision is not matching. In particular, let be an inconsistent vertex violating matching rule,

i.e., has been inserted as a vertex of only one of two adjacent subdivisions along a common edge

(see Fig. 4(a)). Continuity holds if the -value of point coincides with the corresponding inter-

polated value along such edge. Thus, whenever continuity is violated, a way to force it consists of

imposing all inconsistent vertices to have, as -value, the interpolated value along the edge they

lay on. In this way, however, input data are not respected since -values of some points in are

modi�ed. Besides, subdivisions re�ning certain regions may result useless for the �nal approxima-

tion. Consider, for instance, the hierarchical subdivision of Fig. 6: if the -values of points ,

and are forced to coincide with the interpolated values along edges , and , respectively,

the re�nement of triangle into triangles , , and , has no in uence on the resolution of the

approximated model based on such subdivision. Indeed, the DTM based on � and the DTM based

on � produce the same surface.

We now show that a hierarchical subdivision does not introduce a serious overhead in terms of

space complexity with respect to its expanded subdivision. More precisely, we prove the following:

8

2

� �

H H H

5 Hierarchical Terrain Models

H

S

H

H

H

H H

H

H

� �

H

H S E D 2 S

8 f g D H

Proposition 4.1

Hierarchical Terrain Model

t

s

t s

k

k

t

k

s

k

t

s

k

t

c

c

k

s

k k

k

k

s

k k

k

k

k

t

k

t

k

k

s

k

s

k k

k k

k

s

k

s

k

k

t

c

c

k

s

c

c

k

s

k

t

k

t

i i i i

i

N

N c

N <

c

c

N :

k

k N N

N N k > N < N

m < N m

c n

N N n

N N n m

n cm

c cN cN c n

N < N N > N n

N

m m

n

; ; � ;

i ; ::;m ; i ; ::;m

( )

( ) ( )

( )

(0) (0) ( )

1

( )

( +1) ( )

( +1)

( )

( ) ( +1)

( +1)

( +1)

( +1) ( )

( +1)

( +1) ( )

( +1) ( +1)

( +1) ( +1)

( +1) ( )

( +1)

( )

1

( )

1

( +1) ( )

( +1)

Let be the total number of regions in a hierarchical subdivision , and let

be the number of its simple regions (i.e., the regions of its expanded subdivision); let the

minimum number of regions in a subdivision of . Then,

Hierarchical

Terrain Model (HTM)

2

1

The proof is given by induction. For each smaller than the height of the tree describing , let

be the substructure corresponding to the �rst levels of such tree, and let and be

the total number of regions and the number of simple regions in , respectively. We have trivially

= . For a given 0 let us assume . is obtained from by

re�ning simple regions of into new subdivisions, each formed of at least

regions, yielding a total number of new regions. Notice that the re�ned regions will not be

simple regions in . Thus, we have the following:

(1) = + ;

(2) = + ;

(3) .

By multiplying (2) by , and substituting (3) into it, we obtain: + ( 1) .

Since , we have + . The thesis follows from (1).

The spatial complexity of is due to the space for storing its subdivision, which is linear in

, plus the space for storing hierarchical links and labels. The number of links (and labels) among

subdivisions in the tree is equal to , where + 1 is the total number of subdivisions, which is

smaller than the total number of vertices, because any subdivision is always non-trivial. Hence,

the contribution due to hierarchical links can be disregarded with respect to the spatial complexity

required for storing all subdivisions.

The framework introduced is su�cient to give a complete formal description of the hierarchical

terrain models which will be discussed in Sections 6 and 7. The various models di�er in the shape

of the regions forming the underlying hierarchical subdivision, and in the rules adopted to build the

re�nement of each macroregion. A similar formalization will be given for pyramidal subdivisions

in order to describe pyramidal terrain models. As we will explain into details in Section 8, the

di�erence between hierarchical and pyramidal subdivisions is in the application of the re�nement

criterion: while in a hierarchical subdivision regions are regarded as individual entities and, thus,

they are independently re�ned, in a pyramidal subdivision the re�nement process is globally applied

to the whole domain.

A (HTM) is a DTM based on a hierarchical subdivision. Formally,

let = ( ) be a hierarchical subdivision, and let = (� � ) be a DTM de�ned over �

= 0 . Let � denote the set � = 0 . The pair =( ,� ) is a

. Similarly to a DTM, an HTM can be automatically built from a hierarchical

subdivision, and from the set of elevation values of its vertices, once an interpolation criterion has

9

H H

0

+1i i i

h

i

i

i

i

h

i

D H

� �

� �

� �

H

H

� H f g ; ;

� H H H

H H

H

H H

H

H

H

H 2

0

0 0

+1

+1

0

0

( )

0

( ) ( ) ( )

+1 +1

( )

( )

( )

( )

( )

( )

( )

E

h

j i j i

k j k i

j j h

i i

h

"

" " "

i i

"

"

"

"

E

i

"

E

i

E

"

E

h

"

E

i

j j j j

"

"

"

"

" " > :: > "

;

E "

" < E "

E "

E "

D

"

" " > :: > "

; ;

" "

D

"

" "

"

" "

"

r E E r

implicit explicit

expanded subdivision of at tolerance

been selected. For this reason, in the following we will refer to (hierarchical) terrain model and to

(hierarchical) subdivision interchangeably, making a distinction only when explicitly required.

A hierarchical model can support either or multiresolution. An HTM supporting

implicit multiresolution satis�es the following requirement: given a tolerance value , the error

associated with the expanded subdivision � must be less than or equal to . An approximate surface

representation at resolution can be determined through a top-down traversal of the hierarchy.

Although a subdivision at any intermediate level generally gives a representation with an error

larger than , the structure does not contain an explicit encoding of di�erent resolutions and, in the

worst case, a complete traversal of the tree must be executed even to reach a coarse resolution. On

the contrary, an HTM supporting explicit multiresolution de�nes a surface representation satisfying

increasingly �ner resolutions. Usually, a sequence of tolerance values ^= [ ] is given, and

the HTM = ( � ) is built in such a way that:

(� ) ;

for every subdivision � such that (� ) , then, for every descendant subdivision

� of � , (� ) ;

for every leaf subdivision � , (� ) .

In other words, each subdivision � of provides a DTM of a portion of the terrain (over (� )) at

a given resolution within sequence .̂ The resulting HTM is said to be de�ned on the given threshold

sequence ^ = [ ]. Given such a sequence, the hierarchical subdivision can be built

through the following top-down approach:

� is computed �rst, and the trivial hierarchical subdivision = ( � ) is created;

given , is computed by re�ning each simple region of , that does not satisfy

resolution , into a subdivision that does satisfy , and by updating the hierarchy edges

and labels accordingly.

It is easy to see that coincides with . A DTM de�ned over the whole domain at any

prede�ned resolution in ^ can be obtained from through a recursive expansion process. Let us

consider subhierarchy of , described as above: if we recursively substitute each macroregion

of with its direct re�nement, we obtain a subdivision � that represents the terrain over the

whole domain at resolution . � is called the . Note

that the expanded subdivision � associated with coincides with the expanded subdivision �

at the maximum level of resolution . In (De Floriani et al. 1993) an algorithm for extracting �

from a hierarchical triangulation , with ,̂ has been proposed.

As we already mentioned in Section 3, two di�erent criteria, either geometry-driven or error-

driven, can be used to build a subdivision that gives an approximate terrain model. The criterion

that governs the decomposition in constructing an HTM has important e�ects on the type of mul-

tiresolution obtained. If a geometry-driven criterion is used, a single tolerance value is speci�ed,

and regions are re�ned into subdivisions (or, when following a bottom-up paradigm, subdivisions

are coarsened into single regions) according to a �xed geometrical pattern. During the construction

process, a constant number of points are inserted into each region (respectively, deleted from each

subdivision). Models based on a geometry-driven re�nement criterion cannot provide explicit mul-

tiresolution: given a macroregion , if � is its direct re�nement, not necessarily (� ) ( ); we

10

0

=0

6 Quadtree-based Models

E

t

s

m

i j i j j i

j j

m

i

i i j j j j j

i

H S E

S f g

E f j 2 S 9 2

� g

E �! [ , �

E "

N S

n

N

N

"

"

; ; �

; ::;

; ; ; r F

r D

� F � ; r r D r

quadtree-

based models hierarchical triangulated models

quadtree

surface quadtree

quaternary triangulation

only know that (� ) . On the contrary, if an error-driven criterion is followed, no geometrically-

�xed pattern is imposed for the decomposition of macroregions. In this case, it is straightforward

to obtain explicit multiresolution, through the top-down construction paradigm described above.

According to the re�nement criterion adopted, existing HTMs can be classi�ed into

and . Quadtree-based models are based on a hierarchical

decomposition of the domain obtained through the recursive partition into a prede�ned set of regions

of �xed, regular shape. Hierarchical triangulated models, on the contrary, are based on a hierarchical

decomposition which is not geometrically-�xed.

In the following two Sections, we will discuss known models within the framework of HTMs,

and we will describe construction algorithms for all of them. A time complexity analysis for all

such algorithms will be given in terms of two parameters: the cardinality of the dataset , and

the number of vertices of the resulting HTM. A spatial complexity analysis will be illustrated in

terms of the total number of regions in the hierarchical subdivision underlying each model, and

the number of regions in its expanded subdivision (corresponding to a DTM at the maximum

resolution achieved by the given HTM).

The is a well-known data structure for two-dimensional spatial data, in which an initial

square domain is partitioned into a set of nested squares by recursive split of each square into four

quadrants. A quadtree-based surface model can be obtained by selecting vertices of squares at data

points, and by using bilinear interpolation to approximate the surface inside each square. In this

case, the rule for building the quadtree is the following: any square, whose error exceeds a given

tolerance value , is split into four subsquares by joining its center to the midpoints of its four sides.

We will call such a model a . Chen and Tobler evaluated di�erent interpolation

techniques for surface quadtrees, in terms of both accuracy and e�ciency (Chen and Tobler 1986).

Another model that follows a similar recursive subdivision scheme, but is based on triangular

regions is the . In a quaternary triangulation (Gomez and Guzman 1979;

Barrera and Vazquez 1984; Fekete and Davis 1984), the initial domain is a triangle. At each level

of recursion, any triangle, which does not satisfy the tolerance value , is subdivided into four

subtriangles obtained by joining the three midpoints of its sides. The terrain surface is approximated

inside each triangular patch by linear interpolation at the elevation values of the three vertices.

Notice that both surface quadtrees and quaternary triangulations require regularly spaced data

points. The common representation for these models is a quaternary segmentation tree: each node

corresponds to a square (or triangular) region; if the region is a macroregion, the node will have

exactly four children. The corresponding representation in the framework introduced in the previous

Sections is a hierarchical subdivision = ( ), de�ned as follows:

= � � is a collection of subdivisions, each of which is de�ned on a square

(respectively, triangular) region and is formed of four subsquares (respectively, subtrian-

gles), according to the geometric pattern just described;

= (� � ) � � a square (respectively, a triangle) such that

(� ) ;

: is de�ned as (� � ) = (� ), where is one of the four

squares (respectively, triangles) in � .

11

i

i

XX

P

0 0

4

=0 =0

=0

2 S E

H

H

H

i i j

j i j

j

j i j

j j

E

k k

j

j

N

j

h

i

n

j

i

i

h

i

i

;

D

D

q E q > "

q

q

q " E q < "

"

"

"

"

N

E q

q i

i

q

O

N

;

h n i n n

For each subdivision � , there exist at most four pairs (� � ) in ; hence, in the tree

describing , each internal node has at most four children. The root corresponds to the subdivision

of the initial domain, while any other node describes a subdivision obtained by re�ning one of

the four regions in its parent node. This tree can be easily obtained from the segmentation tree

by clustering all four siblings into a single node, and by eliminating nodes corresponding to simple

regions. Fig. 7(a) shows a quadtree, Fig. 7(b) its segmentation tree, and Fig. 7(c) the corresponding

tree describing the hierarchical subdivision. As already pointed out in Section 5, it is easy to see

that the latter representation provides an explicit description of topological relations between regions

belonging to the same subdivision.

A straightforward technique for constructing a surface quadtree is based on the following recursive

top-down approach (see Fig. 8):

The hierarchy is initialized by creating the node � corresponding to the root. � is the

subdivision obtained from the initial square domain , containing all data points, by inserting

the central point and joining it to each midpoint of the four sides of .

At each step, each of the four squares of a leaf subdivision � is considered: if ( ) ,

then is recursively subdivided, by inserting the central point and the four midpoints. A new

node � is created in the hierarchy that is linked to � through an arc labeled .

The process terminates when all simple regions satisfy the tolerance value , i.e., ( ) .

A similar approach can be used for constructing a quaternary triangulation; the only di�erence is

in the subdivision criterion: the three midpoints on each triangle side are picked, at each re�nement

step, to drive the decomposition.

Fig. 9 shows an example of application of the algorithm for constructing a surface quadtree:

three recursive calls to procedure BUILD SURFACE QUADTREE are needed in order to satisfy an

input resolution equal to 5.

It is easy to see that the surface quadtree (respectively, the quaternary triangulation) built with

such an algorithm is consistent and minimal, for a given tolerance , i.e.:

1. the expanded model de�ned on � satis�es ;

2. any quadtree (respectively, quaternary triangulation) containing a smaller number of subdivi-

sions cannot satisfy .

The computational analysis of the algorithm that builds the surface quadtree is given in the

following. Data points are stored in a (2 + 1) (2 + 1) (= ) matrix, the central point and the

four midpoints of the sides of a square can be retrieved in constant time. Hence, at each step, the

subdivision of a square is performed in constant time. The evaluation of the error ( ) associated

with a region requires the computation of error values at internal points, where is the current

level of recursion (notice that is also the level, in the tree describing , of the subdivision containing

). The total time complexity is

(

4

)

where +1 is the height of the tree describing , is the number of nodes at level , and =

is the total number of nodes in the tree.

12

0

0

l k

2

2 2

1 2

T

T

N N

T

T T

t s s

i

i

i

i

1 2 1 2 1

2 1 2 2 1

2

2

2

2

4 4

4

3

restricted quadtree

locally balanced

n

T T n h h T

T h < h T T

T

T l k k < l

T C n

T C n > C n

C n > C n

n

n O N

N n

N N N

q

q

q

q

"

We show that, for a �xed total number of nodes, a tree with smaller height involves a higher time

complexity. Indeed, let and be two trees with nodes each, and let and the heights of

and , respectively, with . It is always possible to transform into by moving one leaf

node at a time, in such a way that each node always moves to a lower level. Let be a tree obtained

from by moving a leaf node from level to level , with . Thus, if the time complexity

corresponding to a hierarchy described by is ( ), the time complexity corresponding to a

hierarchy described by is ( ) + ( ). Since the complexity corresponding to

each tree increases each time a move is performed, we can conclude that ( ) ( ). Thus,

the worst-case time complexity is achieved when considering a complete tree with nodes, whose

height is equal to log . In this case, the error must be evaluated for ( ) points at each level of

recursion, yielding a total time complexity of O( log ).

An alternative algorithm, that follows a bottom-up technique, can be derived easily by general-

izing a corresponding algorithm for building region quadtrees (see (Samet 1990)), yielding the same

result and time complexity: a complete quadtree is built �rst, then leaf subdivisions are recursively

merged four by four into quadrants, as long as subdivisions satisfying the required resolution are

obtained.

As far as spatial complexity is concerned, it follows from Proposition 4.1 that the total number

of regions in a surface quadtree or a quaternary triangulation is smaller than , where is

the number of regions in the corresponding expanded subdivision.

Both quadtrees and quaternary triangulations are not hierarchical matching models, and they

cannot preserve the continuity of the surface approximation along the edges of the subdivision. Fig.

10 gives an example of a surface approximated by a quadtree with discontinuities along an edge.

Several techniques have been suggested in the literature for coping with the problem of discontinuities

in quadtree-based models (Barrera and Vazquez 1984; Barrera and Hinojosa 1987; Von Herzen and

Barr 1987). The most popular method, called the , was proposed �rst in (Von

Herzen and Barr 1987) for accurate rendering of surfaces in computer graphics. Such method faces

the problem from two aspects:

1. the quadtree is built in such a way that simple regions, which are adjacent in the expanded

subdivision, are allowed to di�er at most by one level in the hierarchy (we will say that the

resulting tree is );

2. a piecewise-linear function is used within each simple region , that interpolates data at the

four corners of , at its center, and possibly at midpoints of its edges that are introduced

by adjacent regions: the introduction of such midpoints guarantees the continuity of the in-

terpolating function across the edges of . Such a piecewise-linear function is indeed de�ned

on a triangulation of , obtained through a �xed rule that depends upon the points inserted:

from �ve to nine points might be needed, determining sixteen possible con�gurations that are

obtained through rotational symmetry from the six distinct patterns shown in Fig. 11.

Notice that the triangulation of a region is not considered here as a decomposition of the region into

triangles, but rather as a way to de�ne the piecewise-linear function used inside the region. Since the

hierarchical subdivision that de�nes a restricted quadtree is a special case of quadtree, the spatial

complexity analysis made for quadtrees can be applied also to restricted quadtrees.

If we consider the expanded subdivision of a restricted quadtree, and we replace each simple region

with its corresponding triangulation, we obtain a triangulation of the whole domain, that de�nes

a piecewise-linear continuous model of the surface at resolution . The restricted quadtree is not

intrinsically a matching structure: the fact that the continuity of the surface is controlled by locally

13

1

q

q

0

1

0

"

"

"

O N N

Q

Q

Q

Q

q

Remember that the approximation function used upon a quadrant may depend both on data inside the quadrant

itself, and on the level of its adjacent regions: sixteen di�erent piecewise-linear functions are possible, each of which

interpolates at least the four corners and the central point of the region. An approximation upon a quadrant can

be simply described by listing the edges of whose midpoints are interpolated exactly.

balancing the tree and by adjusting the approximation inside a region according to the structure

of adjacent regions, causes problems in both the construction algorithms and in the extraction of

surface models at a resolution coarser than .

The construction algorithm proposed in (Von Herzen and Barr 1987) is based on the three

following distinct steps:

1. construction of a surface quadtree at resolution ;

2. restriction of the quadtree, i.e., further splitting of some leaf nodes to locally balance the tree

according to the rule de�ned above;

3. de�nition of the piecewise-linear function over each simple region, according to the structure

of its neighborhood.

Since the error at approximated points is tested only at step 1, while modi�cations of the structure in

steps 2 and 3 could worsen the approximation inside some region, the �nal result does not necessarily

satisfy resolution everywhere.

In (Samet and Sivan 1992), two new algorithms have been proposed to build the restricted

quadtree, using a bottom-up and a top-down approach, respectively. Although such algorithms

build a locally balanced tree directly and use piecewise-linear approximation inside each node dur-

ing construction, they still could produce an inaccurate and non-minimal solution. Linear time is

achieved in both algorithms by testing the resolution at each datum only a constant number of times.

On the other hand, the resolution of the approximation cannot be guaranteed unless all data within

a region are tested every time such region is modi�ed: thus, a rigorous approach would involve a

superlinear complexity. A solution in ( log ) can be obtained by a suitable modi�cation of the

algorithm described in this Section for surface quadtrees. Such algorithm builds the tree representing

a restricted quadtree according to an iterative top-down strategy. A simpli�ed pseudo-code of the

algorithm is shown in Fig. 12, and a description of its structure is given in the following. A more

detailed description can be found in (De Floriani, Marzano and Puppo 1994).

The algorithm starts from a minimal subdivision � with four quadrants, in which the basic

approximation function interpolating the corners and the central point is used . An auxiliary queue

is used, which stores all quadrants in the leaf nodes of the current quadtree that need to be tested

for resolution. Such queue is initialized with the four quadrants of � .

Each quadrant is iteratively dequeued from , and it is tested for both resolution and local

balancing. In case the resolution and/or local balancing are not satis�ed, either the approximating

function is updated, or the quadrant is re�ned into a new subdivision, whose new quadrants are

enqueued for testing. When re�nement is performed, or the approximating function is modi�ed to

increase resolution, the local balancing of neighboring quadrants can be a�ected, and such quadrants

need to be modi�ed as a consequence. Thus, all such quadrants that were not already present in

are enqueued in turn. The algorithm stops when is empty.

The most involved task in the algorithm is deciding how a quadrant, which does not satisfy

resolution and/or local balancing, must be modi�ed. Such task is performed by procedure DECI-

DE QUADRANT UPDATING, which tests a quadrant in the context of the current quadtree.

Three cases may occur:

14

i

e

q

q

e

false

true

true

false

false

0 1

2 3 4 1

1

2

1 2

2 1 1 2 3

4 3

3 4 3

4 3 2

1 2 3 4 4

1

1 2 3

q

q

q

q

q

q l

q

b q

L q

q q

L q q

L Q q

q q

L

" q

q q q Q q

" b q

q

"

b q q Q

q q q q

q q

b q q q

q Q q

q q q q q

q

" b

q q q

" b

1. satis�es the resolution and the local balancing of the current quadtree with its current

approximation: in this case, is not modi�ed;

2. does not satisfy either resolution and/or local balancing with its current approximation, but

there exists an approximation upon that satis�es both of them;

3. none of the above: must be split.

Handling all di�erent cases requires a rather technical, but conceptually simple code: the pro-

cedure �rst �nds the quadrants adjacent to along each edge in the current quadtree, through

a procedure FIND NEIGHBOUR, then it tests for resolution and balancing along each edge, and

updates the following output parameters as a consequence:

a boolean value indicating whether has to be split;

a list of edges of whose midpoints have to be interpolated by the new approximation

pattern on (this is returned only in case is not to be split);

the list of quadrants adjacent to that have to be modi�ed because of the changes on .

Procedure FIND NEIGHBOUR can be implemented as a neighbor �nding algorithmon a quadtree

(see (Samet 1990)).

After executing procedure DECIDE QUADRANT UPDATING, the algorithm enqueues every

quadrant belonging to list into queue . Then, if must be subdivided, a new node is created,

the hierarchical subdivision is updated, and every quadrant of the new subdivision is enqueued in

turn. Otherwise, if needs not to be subdivided, the approximation function upon is modi�ed by

procedure UPDATE APPROX, on the basis of the edges listed in .

Note that a quadrant is enqueued once when it is generated, and possibly when its neighbors

either at the same level or at the next level of the quadtree are modi�ed. Since there is a constant

number of such neighbors, and each of them can be modi�ed at most a constant number of times

(for either approximation update or split), we can conclude that each quadrant is enqueued at most

a constant number of times. Thus the algorithm terminates.

We brie y illustrate how this algorithm works on the input data of Fig. 9, with an input

value for equal to 5. An initial subdivision � is created and its four quadrants (namely, ,

, and ) are enqueued into a queue . When quadrant is �rst dequeued, procedure DE-

CIDE QUADRANT UPDATING recognizes case (1): indeed an approximation pattern of type (a)

(see Fig. 11) is su�cient to satisfy resolution ; thus, is set to and no neighbor of is

enqueued. When quadrant is dequeued, procedure DECIDE QUADRANT UPDATING recog-

nizes case (3), since none of the six approximation patterns can satisfy both resolution and local

balancing. Therefore, is set to and , beeing a neighbor of not present in , is enqueued

again. Then, is split and a new subdivision � is created, whose four quadrants (namely, , ,

and ) are enqueued in turn. When is dequeued, procedure DECIDE QUADRANT UPDATING

recognizes case (3). Thus, is set to , but no neighbors of is enqueued since both ,

and are already present in . Then, is split and a new subdivision � is created, whose four

quadrants (namely, ^ , ^ , ^ and ^ ) are enqueued in turn. Now, when quadrant and, succes-

sively, quadrant are dequeued case (2) arises: an approximation of type (b) (see Fig. 11) can

satis�es resolution preserving local balancing, thus, is set to and no neighbor needs to be

enqueued. When quadrant , and are successively dequeued case (1) occurs for all of them:

indeed, their current approximation satis�es resolution ; thus, is set to and no neighbor

15

true

true

H T E

T f j g

E f j 2 T 9 2 � g

E �! [ ,

4

1 1 3 4 4

3

1 2 3 4

1

4

1 1 1

1 3

4

4 1

=0

i

i i i i

i j i j j i j j

h

i

i i j j j i

j j

7 Hierarchical Triangulated Models

q

" b

q q q q Q q

q q q q

q

b q

q Q q q

q q

"

q

q q

O N n

O N

O n O n

O n N

l

O N n O N N

; ; �

� V ;E ; T i ; ::;m

� ; � � ; � ; t T ; t D �

� T � � ; � t t �

t D �

has to be enqueued. When quadrant is dequeued, case (3) arises, since none of the six approxi-

mation patterns can satisfy both resolution and local balancing. Therefore, is set to , and

, and , beeing neighbors of not present in , are enqueued. Quadrant is split and a

new subdivision � is created, whose four quadrants are enqueued in turn. Now, when quadrant

^ is dequeued case (2) arises, while for quadrants ^ , ^ and ^ case (1) arises: in both cases no

neighbor needs to be enqueued. When is dequeued, case (3) arises, since local balancing cannot

be warranted by any of the six approximation patterns. Thus, is set to , and , beeing a

neighbor of not present in , is enqueued. Then, is split and a new subdivision re�ning is

created, whose four quadrants are enqueued in turn. When dequeuing and , case (2) arises so

that no other quadrants are enqueued: indeed, local balancing and resolution can be guaranteed

by an approximation pattern of type (b). For the four quadrants re�ning case (1) arises. For

quadrant case (2) arises; for the �rst, the second and the fourth quadrants re�ning case (1)

holds, while for the third one case (2) is again recognized. No more quadrants are enqueued so that

the algorithm terminates. The �nal result is illustrated in Fig. 13.

The time complexity of the above algorithm can be evaluated by computing the cost of processing

a single quadrant. At each iteration, the current quadrant is tested for resolution, and its neighbors

are retrieved. Since each quadrant is processed a constant number of times, the total time for the

error computation over the whole algorithm is the same as for a surface quadtree, i.e., ( log ).

Moreover, we have to consider the time spent in retrieving neighbors. The e�ciency of the retrieval

process depends on the data structure used for encoding the restricted quadtree. For the purpose of

this paper it is su�cient to point out that constant time can be achieved for a single retrieval if we

maintain sibling links from each quadrant to its neighbors at the same level of the tree (four links

per quadrant), since neighbors retrieved in the algorithm di�er only for a �nite number of levels (at

most two) from the current quadrant. Without such links, neighbor �nding can be accomplished

in time proportional to the height of the tree through navigation, i.e., in at most (log ) time.

Since such operation is performed ( ) times, the total time spent for neighbor �nding is ( ) in

the former case, and ( log ) in the latter case, depending of the data structure used. Other

operations, such as testing if an edge has been split, updating the approximation pattern, testing

the matching along an edge , etc., can be done in constant time. In conclusion, the global cost of

the proposed algorithm in the worst case is ( log ) by using sibling links, and ( log ) by

using the traditional quadtree structure.

Triangle-based models seem to provide more appropriate and exible descriptions of topographic

surfaces than quadtree-based models, because, as explained in Section 2, irregular decompositions

can adapt to the changes in the roughness of the terrain, and include surface-speci�c points and

lines, which characterize the surface independently of data sampling. A hierarchical triangulated

model is de�ned on a hierarchical subdivision = ( ), where

= = ( ) = 0 is a collection of triangulations;

= ( ) ( ) ;

: is de�ned as ( ) = is one of the triangles in and

( ).

Because of the irregular shape of triangles used in each subdivision, a bottom-up approach is not

feasible for constructing these models: given a TIN, it is seldom possible to �nd clusters of adjacent

16

2

2

0

0

3

2

ternary

p e t

t e p e

� H

� H

H

H

j j j

j

i j j

t

s s

7.1 Ternary Triangulation

t p

t p

t

� D

p

D

t E t > " t

� t t

"

t

p t t p

t p

t

O N

Nn n

N

N N

The insertion of a point lying exactly on an edge can be treated as a special case: let be such edge; both

and the triangle adjacent to along are subdivided by joining to the two opposite vertices with respect to . The

resulting subdivision is still matching.

triangles that cover exactly a triangular domain, in order to merge them into a single region. Hence,

all algorithms reviewed in this Section will follow a top-down approach.

A �rst attempt for hierarchical terrain description, based on a non-�xed-geometry, �xed-topology

approach, is the triangulation (De Floriani et al. 1984). Such representation is suitable

for irregularly distributed data, and it is based on the recursive subdivision of an initial triangle,

covering the whole domain, into a set of nested subtriangles with vertices at the data points. In a

ternary triangulation, a subdivision of a triangle is obtained by joining an internal point to the

three vertices of : point is selected as the point that maximizes the approximation error inside

. The hierarchical subdivision generated through this re�nement criterion satis�es the de�nition of

hierarchical matching subdivision since edges are never split .

A recursive algorithm for constructing a ternary triangulation is described below (see also Fig.

14):

The hierarchical subdivision is initialized by creating the node corresponding to the root.

Triangulation is built by considering �rst a single triangle covering and then by inserting

the internal point that maximizes the error of such an approximation, and joining it to the

three vertices of .

At a generic step, for each simple triangle in , if ( ) , then is triangulated, by

inserting the internal point that maximizes the error. A new node is created in the hierarchy,

that is linked to triangulation containing , through an arc labelled .

The process stops when all simple triangles of satisfy the tolerance value .

As the criterion followed is error-driven, the points to be inserted cannot be apriori known, and

must be selected at each step. For a triangle , the list of points that lie inside it is maintained,

the point that maximizes the error inside is kept at the top of such list: thus, given , can be

found in constant time. The subdivision of caused by the insertion of also requires constant time.

However, points lying inside must be partitioned into three lists, one for each newly generated

triangle. In the worst case, ( ) points could be involved at each step, yielding a total complexity

of O( ) in the worst case, after insertions. As for the Delaunay selector, this worst-case analysis

is quite pessimistic: in practice, the work spent in partitioning points will be usually amortized

during construction, yielding a slightly superlinear behavior.

From Proposition 4.1 it follows that the total number of triangles in the hierarchical subdivi-

sion describing a ternary triangulation is smaller than , where is the number of triangles

in the expanded subdivision associated with .

The major drawback of a ternary triangulation lies in the elongated shape of its triangles,

which leads to inaccuracies in numerical interpolation. Moreover, in a ternary triangulation, like in

quadtree-based models, it is not possible to represent di�erent levels of resolution explicitly. Adap-

tive hierarchical triangulations, and hierarchical Delaunay triangulations, that we describe in the

next Subsections, try to overcome these problems by using an error-driven decomposition criterion,

while preserving the advantages of irregular triangle-based models.

17

0

1

1

i i

i

H

H H

H

� �

� �

� �

7.2 Adaptive Hierarchical Triangulation

"

" "

j

"

i

j j j j i

j

j j j

j

j

j

j i i i

j i i j

j

i j i j

j

j i i j

j

i i j

j

i j

i i

i

( )

0 0 0

( ) ( )

( )

1 2 3

1 2 3

1 2 3

1 2 3 1

1

1 2 3

1

1 2 3 1 2 1 2

1 2

1 2 3 1 2 3 2 3

1

Adaptive Hierarchical Triangulation (AHT)

splitting rule

� " �

t "

� V ;E ; T "

t

t E t t

t E e E e E e

e e e t

t p

E p E t p i ; ; E p E e

E t > " E e ;E e ;E e " t p

t

E e > " E t ;E e ;E e " t p

t e

E t ;E e > " E e ;E e " t p

t p

E e ;E e > " E e < " t p p p p

t e e

E e ;E e ;E e > " t p p p p p

" i "

i "

In (Scarlatos and Pavlidis 1992), a model, called an ,

has been proposed with the aim of retaining cartographic coherence while developing a hierarchical

representation. An AHT can be formalized as an HTM providing explicit multiresolution: according

to the de�nitions given in Section 5, subhierarchy , corresponding to the top level triangulation

, approximates the surface at the lowest level of resolution . Triangulation is built by using

a subset of data corresponding to surface speci�c points, extracted from the dataset with a method

described in (Scarlatos 1990). At a generic step, subhierarchy is obtained from by

re�ning each simple triangle in , that does not satisfy resolution , into a triangulation

= ( ) that satis�es .

The re�nement of is driven by a heuristic described in the following. Four di�erent

error values are computed for : the maximum error (int( )) associated with the interior of ,

denoted by int( ), and the maximum errors ( ), ( ), and ( ) associated with the three

edges , , and of , respectively. Since data points usually do not lie exactly on edges, suitable

interpolated values are used to estimate the errors on edges. Depending on the values of such

errors, �ve possible ways of splitting are considered (see Fig.15). Let be the point such that

( ) = (int( )), and for = 1 2 3 the points such that ( ) = ( ).

If (int( )) and ( ) ( ) ( ) , then is split by joining to the three vertices

of .

If ( ) and (int( )) ( ) ( ) , then is split by joining to the vertex of

opposite to .

If (int( )) ( ) and ( ) ( ) , then is split by joining to the three vertices

of and to .

If ( ) ( ) and ( ) , then is split by joining to and (or ) to the

vertex of opposite to (or ).

If ( ) ( ) ( ) , then is split by connecting to and , and to .

The re�nement process is repeated on the new triangles obtained in this way, until all triangles

satisfy . The number of points that must be added at level to obtain resolution is not prede�ned:

this is not surprising, since the subdivision into a constant number of regions, and the satisfaction of

a given resolution are two incompatible requirements. Note also that the approximation error does

not necessarily decrease at each point insertion, even though multiple insertions eventually lead to

a smaller approximation error.

In summary, each triangulation, with the exception of the root, consists of at least two triangles,

and it is the re�nement of a triangle belonging to some other triangulation in the hierarchy. Besides,

at any level 1, an edge is always split if its associated error is larger than . Since the error of

a point lying on any edge does not depend on the subdivision of its two adjacent triangles, the point

will be inserted as new vertex in both triangulations re�ning the two adjacent triangles. Thus, the

�nal result will be a hierarchical matching model.

In the followingwe illustrate an iterative algorithm for the construction of an adaptive hierarchical

triangulation. Explicit hierarchical models, unlike implicit ones, can be described better by an

iterative method rather than a recursive one, because of the increasing resolution requirement. The

algorithm works as follows (see Fig. 16):

18

i

0

0

0

( )

H

H

H

j j i j

j j

i j

k j j

E

h

"

E

i

j j

j j j

t s

"

i t E t > " �

t �

" �

� t t

" i

"

� t

Nn n �

N

Nn n

N N

z x y

7.3 Hierarchical Delaunay Triangulation

splitting rule

data-dependent

good

Hierarchical Delaunay Triangulation (HDT)

The hierarchical subdivision is initialized by creating node corresponding to the root. Tri-

angulation is obtained from an initial triangulation covering the whole domain (e.g., a

triangulation of critical points) by iteratively applying the until tolerance is

reached.

At step , every simple triangle is considered: if ( ) then a new triangulation is

created that is initialized with a single triangle coinciding with ; is re�ned in turn through

the splitting rule, until resolution is satis�ed. A new node for is created and linked to

the triangulation containing through an arc labelled . This process is repeated for each

tolerance value.

Notice that at the end of the process, the expanded subdivision � associated with represents

the surface at the �nest resolution , while at each intermediate level , the expanded subdivision

� satis�es resolution .

The subdivision , obtained from simple triangle by repeatedly applying the splitting rule,

requires O( ) time in the worst case, where is the number of new vertices inserted into :

indeed, the retrieval of points causing the maximum error and the redistribution of data lying in the

region modi�ed can take O( ) time at each split, in the worst case. Hence, the total time complexity

is O( ) in the worst case, where is the total number of vertices inserted into . Again, as in

the case of the Delaunay selector and of the ternary triangulation, a slightly superlinear behavior is

veri�ed in practical cases.

Since the minimum number of triangles per triangulation is 2, it follows from Proposition 4.1

that the total number of triangles in is smaller than twice the number of triangles in the

expanded subdivision.

The shape of triangles in an AHT results generally better than in a ternary triangulation. But also

in the case of AHT, the problem of \sliveriness" is not completely resolved, since the triangulation

pattern used for driving re�nement does not explicitly take into account shape. The approach

proposed in (De Floriani and Puppo 1992; De Floriani and Puppo 1995) tries to solve such problem by

using the Delaunay triangulation that helps maintaining the shape of triangles as much equiangular

as possible. Recently, di�erent triangulations have been proposed in the context of surface modeling

(see (Dyn et al. 1990; Rippa 1990; Rippa 1992) and (Quak and Schumaker 1990; Schumaker 1993a)).

These techniques are referred to as triangulations, since the triangulation criterion

depends on the -values of vertices instead of simply on their - coordinates. The common approach

is to de�ne a criterion expressing certain properties of the resulting surface (like, for instance,

the \roughness" or the \thin-plate energy", or the maximum jump between adjacent patches: see

(Dyn et al. 1990) for a survey) and to replace the max-min criterion, characterizing the Delaunay

triangulation, by one of these criteria in the \swap edge-based " scheme for the construction of

such triangulation (Lawson 1977). However, while the original scheme proposed in (Lawson 1977)

guarantees to generate a globally optimal triangulation, this is not the case for criteria other than

Delaunay. Only local optimality is ensured. Heuristic techniques have been proposed for generating

a local optimal triangulation through progressively smaller perturbations of a locally optimal

triangulation (Schumaker 1993b). Besides, even depending only on the plane geometry of its vertices,

Delaunay triangulation is the one that, among all possible triangulations, minimizes the roughness

of the approximating surface (Rippa 1990).

A is an explicit multiresolution HTM de�ned by a

19

X

1

1

i i

i

i

( ) ( )

( )

( )

0

=0

1

2

0

1

H T E T

H H

H

H

f g

P S A

S f g 8 �

Pyramidal Terrain Model

8 Pyramidal Terrain Models

Delaunay selector

pyramidal subdivision

" "

j

"

i j j

i

j j

i

j k j

k

E

"

E

i

m

j j j j

j j

m

j

j j

h

n

h j j j j j

j j

; ; �

t

" t �

"

t e t

e "

t t t e

t

i � "

� ; ; �

j ; ;m � O Nn n n

� �

O Nn n O Nn n ;

n "

V v ; ; v D

D V

;

; ; j ; ; h V ;E ; F D

D V V

hierarchical triangulation = ( ) in which all triangulations belonging to are Delaunay

triangulations. The re�nement criterion produces subhierarchy from by applying the

, described in Section 3, to each simple triangle in whose error exceeds

. The basic idea consists of re�ning in a Delaunay triangulation by inserting one vertex at

a time, until resolution is met. Notice that, while all triangles are re�ned independently, some

vertices introduced when re�ning a triangle can lie on an edge of . However, the re�nement

of produces a chain of edges all satisfying resolution and whose error does not depend on the

subdivisions of and of the triangle adjacent to along . No other vertex is inserted on

such chain while re�ning . The result is thus a hierarchical matching model, and the expanded

subdivision is a triangulation even if not necessarily a Delaunay triangulation. Moreover, at each

level the expanded subdivision provides a surface approximation at resolution .

The construction algorithm is similar to the algorithm described for the adaptive hierarchical

triangulation, except for the fact that the Delaunay selector is used for local re�nements (see Fig.

17). The worst-case time complexity of the algorithms for building the HDT follows directly from the

time analysis of the Delaunay selector, given in Section 3. Let . . . the family of triangulations

of the �nal result: for = 0 . . . , the construction of takes ( log ), where is the

number of vertices of . After its construction is inserted into in constant time. Hence, the

total worst case time complexity of the construction algorithm is

( log ) = ( log )

i.e., the same cost as building a Delaunay TIN with vertices at the maximum resolution .

In (De Floriani et al. 1993; De Floriani, Gattorna , Marzano and Puppo 1994; De Floriani and

Puppo 1995) several algorithms for solving spatial operations on an HDT are described including

the extraction of a representation at a given constant level of resolution and the solution of spatial

queries. In (De Floriani and Puppo 1995) an algorithm for the extraction of a surface at variable

resolution over data domain has also been developed that is based on the same technique proposed

in (Cignoni et al. 1995) (see Section 8 for more details).

Multiresolution surface description can also be obtained through a multilevel representation, rather

than through a hierarchical structure. A (PTM) is a sequence of

DTMs, each of which is de�ned over the whole domain, and is obtained by re�ning a subdivision

of the domain at increasingly �ner resolutions. Being not strictly hierarchical, pyramidal models

cannot be formalized in terms of the de�nitions given in Sections 3. In this Section, following a

similar scheme, we give a formal de�nition of a pyramidal subdivision.

Let = . . . be a �nite set of points in a domain of IR . A pyramidal subdivision is a

�nite sequence of subdivisions of having vertices in . Each subdivision in the sequence is obtained

from the previous one by applying a re�nement criterion (e.g., by adding new vertices, and changing

edges and regions of the subdivision accordingly). Di�erently from hierarchical subdivisions, in a

pyramidal subdivision regions are not regarded as individual entities, but they are globally related

and re�ned contextually to the whole subdivision. More formally, a is a pair

= ( ), where

= � . . . � is a collection of subdivisions such that = 0 . . . , � = ( ), (� )

, and ;

20

P

P P

+1 +1 +1

+1

+1 +1

+1

+1

+1 +1

+1 +1

+1

1

+1

0

1

0 0

0

1

1

1

A f j 2 S � 2 2 \ 6 ;g

P S A

P

2 A

P S A

8 D 2 S

f g P

S

P T A 2 T

2 2

label

trivial

Pyramidal Terrain Model (PTM)

Delaunay pyramid

i i k l i i k i l i k l

i i k l i

i k l k l i i k l

i i k l k i

i k

i i i i k k k

i i l i

i

i i

l i k i

i i i i

i

i i

h

h i

i

i

i i

i

i i

i i i

i k i l i

k

; ; r ; r ; ; i < h; r ; r ; r r

; ; r ; r

r ; r r ; r ; ; r ; r

; ; r ; r r

r

; ; r ; r r

r

r i ; ; h r

;

i ; ::; h ;

; i ; ::; h D

"

"

" " > :: > " i

"

; �

� �

"

� �

"

i " �

� � �

� t � t �

t

= (� � ( )) � � with 0 � � = .

can be described by a multi-graph having as its set of nodes and as its set of multi-arcs; we

will call it the (multi-)graph associated with . Each triple (� � ( )), is an arc from � to

� labelled with a pair ( ). Thus, a pair ( ), such that there exists (� � ( )) ,

is called a of (� � ( )). Since a region belonging to subdivision � can have non-

empty intersection with several regions of � , can appear, as �rst element, in the label of several

arcs joining � to � . Besides, arcs of the form (� � ( )) are possible if belongs to both

� and � . We will call such arcs . Similarly, a region belonging to subdivision � can

have non-empty intersection with several regions of � . Thus it can appear, as second element, in

the label of several arcs joining � to � . This is the main reason why the structure of a pyramidal

subdivision cannot be described by a tree. Nevertheless, for the special case in which every region

of any given subdivision � ( = 1 . . . ) intersects just one region of subdivision � , a

pyramidal subdivision can be regarded as an alternative representation of a hierarchical subdivision,

in which all regions belonging to the same level of resolution are clustered into a subdivision covering

the whole domain, and encoding all topological relations among entities at that level.

A pyramidal terrain model is a DTM de�ned on a pyramidal subdivision. Formally, let = ( )

be a pyramidal subdivision, and = 0 let = (� � ) be a DTM de�ned over � . Let �

denote the set � = 0 . The pair =( ,� ) is a . Unlike

in HTMs, in a PTM each subdivision in describes the surface over the whole domain. For this

reason, pyramidal models support the representation of a terrain surface at di�erent levels of detail,

while they present di�culties in local re�nements over special areas of interest. As for hierarchical

terrain models, the re�nement criterion that drives the decomposition can be either space-based or

accuracy-based, and thus the model is said to provide either an implicit or an explicit multiresolution

surface description. In the �rst case, given a tolerance , subdivision � is obtained from � by

following a prede�ned decomposition pattern, and the approximation error of the last subdivision

� (corresponding to the �nest surface representation) must be less than . In the second case, a

threshold sequence ^ = [ ] is given, and, for every , subdivision � must approximate

the terrain at resolution .

The pyramidal model proposed in (De Floriani 1989), called the , consists of

a sequence of Delaunay triangulations, each of which represents the terrain surface at a di�erent

resolution level. Hence, a Delaunay pyramid is just an explicit multiresolution model based on a

pyramidal subdivision = ( ), where each subdivision is a Delaunay triangulation.

Triangulation is obtained from triangulation by inserting new vertices through the Delaunay

selector, until resolution is reached. Fig. 18 shows an example of re�nement between consecutive

levels in a Delaunay pyramid.

In the following, we describe an iterative algorithm for constructing a Delaunay pyramid based

on a top-down approach (see Fig. 19).

The pyramid is initialized by creating the node corresponding to the root. is a Delaunay

triangulation obtained by iteratively applying the Delaunay selector at resolution to an

initial triangulation of the input data domain.

At a generic step , the Delaunay selector at resolution is applied to to obtain a new

Delaunay triangulation . A new node for is created and the multiple arcs from node

to node are set. To this aim, for each triangle , every triangle , that has a

non-empty intersection with , must be found.

The re�nement process is repeated for each tolerance.

21

X

P

X

X

� � �

1

=1

=1

=0

=0

1

2

+1

2

2

complete

data structure

h i

i i i

i i i i i i

h

i

i i i

h

i

i

i i

i

h

i

i

h

i

i i

i i i

"

" "

O Nn n N

n

e

O e e k k

O n

O n n k n k

O n n k O hn n k ;

k k

n

n n � i i ; ::; h

n

n h n :

n n h n :

O N h n n k i

i k O n n k O hn

h n n :

At the end, each level in the pyramid provides a surface representation at one of the given tolerances

in ,̂ from the coarsest to the �nest, from top to bottom of the pyramid, respectively.

Several data structures for Delaunay pyramids have been proposed in the literature, which encode

either all or a part of topological links in the model. For this reason, we analyze the time complexity

of the algorithm, and the space complexity of the model, by counting separately the complexities of

computing and storing the di�erent levels of the pyramid, and the links between consecutive levels.

Let us �rst notice that the algorithm for constructing the pyramid can be regarded as a Delaunay

selector run with threshold , which is interrupted each time an intermediate level is reached, in

order to store the intermediate result, and to set links between consecutive triangulations. The part

of the algorithmdevoted to the construction of all layers of the pyramid has the same time complexity

of the Delaunay selector, i.e., ( log ) in the worst case, where is the size of the dataset, and

is the number of vertices of the pyramid. Links between two consecutive triangulations can be set

by computing the overlay of such triangulations. This can be done, e.g., through an output sensitive

technique proposed in (Chazelle and Edelsbrunner 1992), which �nds the intersections among

straight-line edges in time ( log + ), where denotes the number of intersections. Since the

total number of edges in two consecutive triangulations � and � is at most ( ), the overlay

can be computed in time ( log + ) (where is the number of vertices of � , and is the

number of intersections, respectively). Therefore, the worst-case time complexity required for setting

links throughout the whole pyramid is then given by

( ( log + )) = ( log + )

where = .

A spatial complexity analysis can be done by computing the space required to store intermediate

triangulations plus the space required to store links between consecutive triangulations. From Euler

formula, it follows immediately that any triangulation of points with triangular domain contains at

most 2 5 triangles. If is the number of points of the triangulation at level (with = 0 ),

at most 2 5 triangles have to be stored at each level. Hence, the total number of triangles is

given by

2 5 ( + 1)(2 5)

The worst-case bound for the number of links between consecutive triangulations is given by

( + 1)

The data structure proposed in the original work of De Floriani (1989), here called the

, was intended to encode the whole model, i.e., all layers plus all interference links. In

this case, it follows from the above analysis that the worst-case time complexity of the construction

algorithm is (( + ) log + ). Note that, in the worst case, every triangle at level could

intersect every triangle at level + 1 so that is ( ), and thus can be ( ). hence, the

spatial complexity of the complete data structure is bounded by

( + 1)( + 2 5)

Notice how such cost is dominated by the maintenance of interference links between consecutive

triangulations.

22

� �

� �

i

i

t

t t

t t

� i

i i i ; ::; h

i �

t i t

t i t

N h n

O Nn n O N N h n

"

O Nn n

O N N h n

N

O N

O N

O N N O N

sequence of lists of triangles

(SLT)

hypertriangulation (HT)

implicit

Delaunay pyramid

In (Bertolotto et al. 1994), an improved data structure called the

has been proposed, with the aim of avoiding duplications of triangles among di�erent levels,

and of reducing the overhead due to interference links. The basic idea consists in representing each

triangulation by the collection of triangles created at level , so that the same triangle is encoded

only at its creation level, instead of at each level it belongs to. This corresponds to storing only

triangles that have been modi�ed from level to level + 1, for any = 1 1. Notice that, at

each level , the newly created triangles are a (possibly proper) subset of the triangles of . This

yields a reduction of the number of entities encoded at each level. Also interference links are reduced:

indeed, since any triangle created at level is never duplicated, trivial arcs are avoided and is

linked to triangles intersecting and created at the �rst level larger than to which does not

belong. Although the asymptotic time and space complexities in the worst case remain unchanged,

the practical performance of this data structure improves dramatically over the previous one. In

particular, the total number of stored triangles may be much smaller than ( + 1)(2 5) if the

re�nement process modi�es few triangles at each level.

In (Bertolotto et al. 1994), operations that can be e�ciently performed on the SLT structure

are evaluated as well. In particular, some basic operations, such as the extraction of the expanded

triangulation at any prede�ned tolerance, can be performed at a low cost, and such operations do

not require interference links. Hence, both the construction process and the storage cost of the SLT

structure can be further reduced by avoiding computation and storage of such links. In this case,

the asyntotic complexities must take into account only construction and storage of layers, i.e., time

complexity is ( log ), and space complexity is ( ), where ( + 1)(2 5) is the total

number of triangles in the model without duplications. More complicated operations, such as the

solution of spatial queries at a given resolution, or the extraction of an expanded triangulation at

an arbitrary resolution , need interference links for quickly traversing consecutive levels between

which the arbitrary resolution is included.

In (Cignoni et al. 1995), a more sophisticated data structure, called the ,

has been proposed for encoding all layers of the pyramid while avoiding duplication of triangles that

survive across di�erent levels. All adjacency links between a given triangle and all its adjacent

triangles in the di�erent layers containing it are maintained. Such a data structure is based on

embedding triangles forming the pyramid in three-dimensional space, where the third coordinate

of a vertex is related to the time of its insertion during the incremental construction performed

by the Delaunay selector. Since interference links are not maintained, the time complexity of the

construction algorithm is ( log ) and, like the simpli�ed SLT structure, complexity of storage

is ( ), where ( +1)(2 5) in the worst case. The main advantage o�ered by such model is

the possibility of extracting e�ciently not only a representation at a given level of resolution, but also

continuous representations of the surface at variable resolution over the domain. In particular, an

algorithmwas presented, which extracts a representation whose accuracy is monotonically decreasing

proportionally to the distance from a given point. Such a representation is particularly suitable for

visualization in the context of ight simulators.

In (de Berg and Dobrindt 1995), a pyramidal model at implicit multiresolution was proposed,

which is also based on Delaunay triangulations. In such work, emphasis was put on the e�ciency

of operations, rather than on the accuracy of representation. The model (called here the

) is built bottom-up through a simpli�cation technique that is essentially based

on the work proposed in (Kirkpatrick 1983). Starting from the bottom level of the pyramid, which

is built on all data points, each new level is obtained from the previous one by deleting a maximal

independent set of vertices of low degree. Hence, an (log ) number of levels is built, and the

number of interferences between every triangle and triangles in the next level is bounded by a

constant, hence giving an ( ) total number of interference links. The time complexity of the

construction algorithm is ( log ). Space complexity of the model is ( ): indeed, the total

23

2

1

N �

t

N

9 Discussion

Explicit and implicit multiresolution.

Adaptivity and data distribution.

number of stored triangles is guaranteed to be less than (where 1 is the percentage of

removed vertices between any pair of consecutive levels) and a constant number of interference links

is stored for each such triangle. The tolerance of each level (except the bottom) is not explicitly

controlled, since the selection criterion for discarding vertices is not based on accuracy. The model

supports point location in logarithmic time, and linear time extraction of representations at variable

resolution. Speed in processing is traded for control over accuracy: since the structure of the di�erent

layers is constrained by the construction process, multiresolution cannot be explicit; also, surfaces

extracted at variable resolution follow only approximately a threshold function, while the result is

not guaranteed to ful�ll exactly the required accuracy over all points of the domain.

In this Section, we give a qualitative evaluation of the models that we reviewed (i.e., surface quadtree,

restricted quadtree, quaternary triangulation, ternary triangulation, adaptive hierarchical triangu-

lation, hierarchical Delaunay triangulation, Delaunay pyramid). Our discussion is based on some

issues that have an impact in surface modeling and processing, but it is not intended to be exhaus-

tive. We follow here a track that derives both from the arguments used by the di�erent authors that

proposed such models, and from a comparative study we have carried out while trying to �t such

models in our framework. We start our discussion with issues related to modeling.

This issue has been remarked several times throughout

the paper, and can be considered crucial, since the main purpose of the models presented

here is multiresolution. The con ict between explicit and implicit multiresolution can be also

regarded as a con ict between resolution and size of the model: as we already pointed out,

in general, it is not possible to achieve a given resolution with a given number of vertices in

the model (i.e., a given size). Notice that as the global number of data used to achieve the

highest resolution is apriori unbounded, implicit models, that set a constant bound on the size

of components, might require an unbounded number of levels.

Explicit models favor extraction, navigation and analysis of the surface at a given resolution,

while implicit models do not always guarantee that representations at intermediate levels of

detail can be easily obtained. On the other hand, implicit models with a constant size per node

of the hierarchy o�er better support to geometric operations, which can be performed through

a top-down traversal of the hierarchy (see also the discussion below on geometric queries).

Quadtree-based models and ternary triangulations support implicit multiresolution only, but

guarantee a constant bound on the size of nodes, while adaptive hierarchical triangulations

and hierarchical Delaunay triangulations in general o�er explicit multiresolution. Delaunay

pyramid provides explicit multiresolution, while implicit Delaunay pyramid is inherently a

model at implicit multiresolution.

A second main purpose of multiresolution models is data

compression for intermediate levels of resolution. Models that are based on irregular subdi-

visions o�er in general better possibilities in adapting to surface characteristics; thus, they

usually achieve better data compression. Note also that models based on irregular subdivi-

sions admit any kind of data distribution, while models based on regular subdivisions require

regularly distributed data.

In this respect, quadtree-based models can be considered less adaptive than all other HTMs,

since they are based on regular subdivisions. Pyramidal models o�er an excellent local adap-

tivity that can be obtained on the basis of the independence of each level in the structure as

24

Shape.

Matching.

Storage.

the resolution increases. On the contrary, the strict hierarchy of HTMs imposes boundaries

at each re�nement, which could prevent the possibility of improving the adaptivity on a local

area.

The shape of the regions forming a subdivision in a terrain model should be maintained

as much regular as possible: regions with elongated shape (slivers) should be avoided. This

issue has an impact on visualization, and on numerical processing.

Quadtree-based models and, in general, models based on regular subdivisions exhibit the best

features in terms of shape, since they guarantee the same shape (e.g., square, right triangle) for

all regions. The worst result in this respect is achieved by ternary triangulations, in which the

presence of slivery triangles cannot be avoided. An improved behavior is o�ered by adaptive

hierarchical triangulations, in which the presence of slivers is reduced through systematic edge

split. Even better results are achieved by hierarchical Delaunay triangulations, in which the

Delaunay criterion is used locally to each subdomain to adjust at best the shape of triangles.

The best possible results for irregularly distributed data is achieved with the Delaunay pyramid

(either explicit or implicit), in which the Delaunay criterion is applied to the entire domain.

This property of hierarchical subdivision, de�ned in Section 5, is especially impor-

tant in rendering. Models that have not the matching property cannot guarantee that the

surface extracted at a given level of resolution is continuous. Thus, cracks may appear when

the surface is visualized.

Surface quadtrees and quaternary triangulations are not matchingmodels. Restricted quadtrees

guarantee matching at the highest resolution, while a continuous surface at an intermediate

level cannot be extracted directly from the model. Ternary triangulations are intrinsically

matching, but this gives little help in rendering, since slivers often yield almost vertical walls,

which compromise the quality of visualization. Adaptive hierarchical triangulations and hi-

erarchical Delaunay triangulations are matching models, and they guarantee that a surface

extracted at any of the tolerance levels used during construction is continuous. Nevertheless,

it is not guaranteed that a surface extracted at an arbitrary resolution, which does not belong

to the threshold sequence, is necessarily continuous. All data structures proposed for Delau-

nay pyramid allow the extraction of continuous representations at both arbitrary or prede�ned

resolutions in the sequence. Continuity in the result is also guaranteed by implicit Delaunay

pyramid even though accuracy may be only approximately respected.

As proved in Section 5, all HTMs o�er a good ratio between their size and the size of

a corresponding non-hierarchical model at the highest resolution. The best result, in the worst

case, is achieved by quadtrees and quaternary triangulations, although in practice (i.e., if at

least four regions for each subdivision are always present) adaptive hierarchical triangulations

and hierarchical Delaunay triangulations may achieve better ratios. On the contrary, this issue

is critically bad for Delaunay pyramid, unless either the simpli�ed SLT or the HT structure

are used: as the intersections between two successive subdivisions can be quadratic in their

sizes, the storage requirement of such models may increase dramatically in the worst case. The

implicit Delaunay pyramid presents instead a good behavior, since interference links between

consecutive levels are guaranteed to require linear space, and the number of levels is logarithmic

in the data size.

Table 1 summarizes modeling issues discussed above, for each model described in the paper.

Processing issues refer to the operations we want to perform on the topographic surface rep-

resented through a multiresolution model. These issues have a great impact on the design and

implementation of systems, and they are often related to some of the modeling features just dis-

cussed.

25

"

"

Data structures.

Construction.

Extraction of DTM.

Data structures have been proposed in the literature for encoding all models

described in this paper. The purpose of data structures is to provide an e�cient support for

retrieving all entities, and spatial and hierarchical relations among them, while keeping storage

space as lower as possible.

The design of data structures for quadtree-based models exploits the wide knowledge about

encoding and processing quadtrees, that has matured through a huge activity (Samet 1990).

The inherent regularity of such models permits to avoid the encoding of some spatial relations

that are implicitly known. Moreover, the literature on quadtrees helps developing structures

both for the main memory and for secondary (disk) storage. E�cient data structures for the

mainmemory have been proposed for most of the remaining HTMs (De Floriani et al. 1984; De

Floriani and Puppo 1995), as well as for the Delaunay pyramid (De Floriani 1989, Bertolotto

et al. 1994, Cignoni et al. 1995) and for the implicit Delaunay pyramid (de Berg and Dobrindt

1995).

To our knowledge, construction algorithms have been implemented for all mod-

els described in the paper, although they were not all available to us. The worst-case time

complexity of such algorithms is seldom signi�cative, since it is usually quite pessimistic with

respect to the practical performance. However, since all models can be built o�-line in reason-

able time, we can consider all of them valid in this respect. Nevertheless, because of the huge

amount of data that must be processed in practice, the possibility of building di�erent parts

of a model independently seems a critical issue. HTMs and, especially, quadtree-based models

seem most suitable to support data partition, provided that data structures for secondary

storage are developed. Pyramids, on the contrary, being based on a global approach, su�er

from the need for maintaining always all data available. In Table 2 and Table 3, the spatial

complexity of HTMs and PTMs, respectively, and the time complexity of the corresponding

construction algorithms are summarized.

Although multiresolution models can be seen as a mean for overcoming

the rigidity of DTMs at a �xed resolution, it must be always possible to focus on a speci�c

level of detail by extracting a DTM at a given resolution. As we discussed above, it is always

possible to do it in all HTMs that we have described through a recursive top-down traversal of

their hierarchical structure. Nevertheless, only explicit resolution matching models guarantee

that the DTM extracted represents a continuous surface, provided that the resolution required

is in the threshold sequence. Models at di�erent arbitrary resolutions can be extracted from

any HTM too, but their continuity is never guaranteed.

Delaunay pyramid represents all models at di�erent resolutions in the threshold sequence;

however, the problem of extracting such DTMs may be a hard task depending on the data

structure used for encoding the model. In particular, for the complete data structure, the

extraction of a representation at a prede�ned resolution within the given threshold sequence ^

is trivial, since all models are explicitly encoded at those resolutions. Ad hoc algorithms have

been designed for the SLT and the HT structures for both a prede�ned resolution in ^ or an

arbitrary resolution included between two prede�ned values. Finally, the implicit Delaunay

pyramid allows the extraction of continuous surfaces whose resolution may not be directly

controlled.

An interesting related problem, that �nds applications in ight simulation and landscape vi-

sualization, is the extraction of a DTM whose resolution is variable over the domain (usually,

the error is proportional to the distance from a point of view). Both the HT structure for

Delaunay pyramid and the implicit Delaunay pyramid guarantee surface extraction at variable

resolutions while achieving good data compression. An algorithm based on the same tech-

nique proposed in (Cignoni et al. 1995) for the HT structure has also been developed for the

hierarchical Delaunay triangulation (see (De Floriani and Puppo 1995)).

26

Extraction of contour lines.

Zooming.

Navigation.

Geometric queries.

point location

line intersection

This is a common task in terrain processing. Only matching

models, that guarantee the continuity of the surface, can support such task by achieving

meaningful results. This task is trivial for pyramidal models encoded through the complete

data structure. In (De Floriani et al. 1993) an algorithm was proposed for extracting contour

lines from a hierarchical Delaunay triangulation.

HTMs favor operations like focusing over a speci�c area of interest, through a top-

down traversal of the tree: the area of interest is localized on a given subdivision, and only

those regions that fall in such an area are considered for further expansion at the desired level

of resolution. Quadtree-based models and ternary triangulations, being based on subdivisions

with a constant number of regions, are better suited for this task. Suitable techniques can be

applied, which make such tasks e�cient even on the remaining HTMs (see, e.g., (De Floriani,

Gattorna, Marzano and Puppo 1994)). Also for PTMs, the problem admits similar solutions,

based on local detection of the area of interest at one level, with a recursive expansion of the

area that intersects it at the next level, provided that interference links are available.

A generalization of zooming is navigation of the structure. Many tasks (especially

interactive manipulation) require navigating the structure both through di�erent levels of

resolution, and across a single level.

Delaunay pyramids (represented through the complete data structure) explicitly encode both

the topology of each level and the hierarchical links between successive levels, thus o�ering

optimal support to such tasks. Also the HT structure allows the navigation of the model at a

single level or at di�erent levels on the basis of adjacency links encoded for each triangle. In

HTMs, navigation involves �nding the neighbor of a given region through the boundary of a

subdomain. E�cient algorithms for neighbor �nding in quadtrees have been proposed in the

literature (Samet 1990), which can be used for all quadtree-based models. It is not di�cult

to generalize such algorithms to all other HTMs, though the same e�ciency is not always

guaranteed, because of the irregularity of such models. An algorithm for neighbor �nding in

hierarchical Delaunay triangulations is described in (De Floriani and Puppo 1995).

A fundamental feature of geographical information systems is the possi-

bility of performing e�ciently geometric queries on data. In the case of terrain models, such

queries can be generally solved on their corresponding domain subdivision. Most important

geometric problems related with such queries are (i.e., �nding the region on the

terrain containing a given query point), and (i.e., �nding all edges and regions

of the terrain intersecting a given query line). A multiresolution model should o�er suitable

support to an e�cient solution of such problems at any level of resolution.

Quadtree-based models naturally o�er a spatial index, which permits to perform such oper-

ations with high e�ciency through standard quadtree algorithms (e.g., point location can be

done in logarithmic time) (Samet 1990). The implicit Delaunay pyramid supports theoreti-

cally e�cient point location in time logarithmic in the size of the model. As for the remaining

models, heuristic querying techniques have been proposed in (De Floriani, Gattorna , Marzano

and Puppo 1994) for the hierarchical Delaunay triangulation, which achieve good practical be-

havior, and which can be immediately extended to all other hierarchical triangulated models.

Similar techniques can be developed also for pyramidal models, following an approach similar

to the one outlined for zooming. Anyway, among all data structures proposed for PTMs, the

implicit Delaunay pyramid is the most suitable in contexts in which point location is a basic

operation: the logarithmic number of levels and the bounded number of interference links

associated to each triangle allows to e�ciently perform such operation.

27

10 Concluding Remarks

wavelet

wavelet coe�cients

The problem of approximating a generic surface in the three-dimensional Euclidean space has been

deeply investigated in the literature. Topographic surfaces represent a special case for which the

concept of precision of an approximated representation (intended as distance from an input set of

data sampled on the surface) can be easily de�ned. In this paper, we have highlighted the need

for models representing topographic surfaces at di�erent precisions in several application contexts,

and we have proposed a formal and systematic classi�cation of most relevant models known in the

literature. All such models have been described and analyzed within the formal framework, and

evaluated on the basis of relevant issues in surface modeling and processing. Di�erent requirements

arising from such issues are often hardly compatible: in general, each single model will be more

suitable to ful�ll some requirements, and less suitable for others.

The proposed discussion should help understanding advantages and drawbacks of each model

and thus it should help selecting the one that best satis�es requirements and needs of a speci�c ap-

plication. Such discussion is just qualitative. A complete evaluation of multiresolution models would

require experimentation on all of them, with some comparative results on, e.g., actual compression

ratio achieved on real world data, and e�ciency of all operations listed above. Such comparative

study has not been carried out since implementations of some of the models reviewed were not

available to us, and, moreover, since it is di�cult to obtain signi�cative comparisons from di�erent

prototypal academic codes of di�erent sources.

Recently, an e�ort has been undertaken towards the formalization of a broader class of multireso-

lution models in arbitrary dimension that can incorporate both hierarchical and pyramidal simplicial

complexes as special cases (Bertolotto et al. 1995). More work on this subject is beeing carried out.

The objective is to compare pyramidal versus hierarchical complexes, in terms of storage cost and

performance on the basic operations a multiresolution surface model should support (e.g., extraction

of a hypersurface at variable resolution, answering geometric queries at di�erent resolutions). Such

a comparative analysis is intended to highlight common aspects and structural di�erences, as well

as advantages and drawbacks of di�erent models, in order to understand which models are best for

various application requirements.

It is worth mentioning that, in the literature, multiresolution analysis has also been studied under

the di�erent perspective of representation (Daubechies 1992), which extends to surfaces

�ltering techniques commonly used in the context of signal analysis. The basic idea consists in

decomposing a surface model at the highest resolution into a \simple" low resolution part and a

collection of perturbations (the ) necessary to recover the original model, and in

iterating such process to obtain rougher representations. Recently, such technique has been extended

to handle functions de�ned on more general bidimensional topological domains (see (Eck et al. 1995)

and references therein). However, the very di�erent nature of the approach prevents from making

critical comparisons between the wavelet representation and the multiresolution analysis presented

in this paper.

A prototype system based on the hierarchical Delaunay triangulation has been developed that

includes the data structure for its representation in main memory, the construction algorithm, al-

gorithms for extracting a DTM and contours at di�erent precisions, and algorithms for answering

geometric queries. Also a prototype system based on the Delaunay pyramid has been developed,

which allows representation, visualization and analysis of a surface at di�erent levels of resolution.

The kernel of the system includes the SLT structure, together with basic primitives for structure

construction, traversal and inquiry. Algorithms for extracting representations at any given level of

resolution (either as a surface or as a set of contour lines) and for solving basic spatial queries are

28

Acknowledgment

References

available through a graphic interface that allows interactive manipulation of the model as well as

visualization of perspective views or contour lines, with possibility of zoom and pan at di�erent

levels of detail.

This work has been supported by the Project \Models and systems for handling environmental and

land data" of the Italian National Research Council under contract N. 95.01057.CT12.

Agarwal PK, Suri S (1994) Surface approximation and geometric partitions. Proceedings 5th ACM-

SIAM Symposium on Discrete Algorithms 24-33.

Aurenhammer F (1991) Voronoi diagrams - A survey of a fundamental geometric data structure.

ACM Computing Surveys 23,3:345-405.

Barrera R, Vazquez AM (1984) A hierarchical method for representing relief. In: Proceedings

Pecora IX Symposium on Spatial Information Technologies for Remote Sensing Today end Tomor-

row, Sioux Falls, South Dakota, pp 87-92.

Barrera R, Hinojosa M (1987) Compression method for terrain relief. Technical report, CINVES-

TAV, Engineering Projects, Department of Electrical Engineering, Polytecnic University of Mexico,

Mexico City.

Bertolotto M, De Floriani L, Marzano P (1994) An E�cient Representation for Pyramidal Ter-

rain Models. In: Proceedings 2nd ACM Workshop on Advances in GISs, Gaithersburg, Maryland,

pp 129-136.

Bertolotto M, De Floriani L, Marzano P (1995) A Unifying Framework for Multilevel Description of

Spatial Data. In: Spatial Information Theory - A Theoretical Basis for GIS, A.U. Frank, W. Kuhn,

(eds.), Springer-Verlag, Germany, LNCS 988, pp 259-278.

Chazelle M, Edelsbrunner H (1992) An optimal algorithm for intersecting line segments in the

plane. Journal of the ACM 39,1:1-54.

Chen ZT, Tobler WR (1986) Quadtree representation of digital terrain. In: Proceedings Auto-

carto, London, pp 475-484.

Chen ZT, Guevara JA (1987) Systematic selection of very important points (VIP) from digital

terrain model for constructing triangular irregular networks. In: Proceedings Autocarto, Baltimore,

pp 50-56.

Cignoni P, Puppo E, Scopigno R (1995) In: Visualization and representation of terrain surfaces

at variable resolution. Scienti�c Visualization '95, R. Scateni (ed.), World Scienti�c. pp 50-68.

Daubechies I (1992) Ten lectures on wavelets, SIAM, Philadelphia.

29

De Berg M, Dobrindt KTG (1995) On the levels of details in terrains. In: Proceedings 11th ACM

Symposium on Computational Geometry, Vancouver BC.

De Floriani L, Falcidieno B, Pienovi C, Nagy G (1984) A hierarchical data structure for surface

approximation. Computers and Graphics 8,2:475-484.

De Floriani L (1989) A pyramidal data structure for triangle-based surface description. IEEE Com-

puter Graphics and Applications 9,2:67-78.

De Floriani L, Puppo E (1992) A hierarchical triangle-based model for terrain description. In:

Theories and Methods of Spatio-Temporal Reasoning in Geographic Space, A. U. Frank, I. Cam-

pari, U. Formentini (eds.), Springer-Verlag, LNCS 639, pp 236-251.

De Floriani L, Mirra D, Puppo E (1993) Extracting contour lines from a hierarchical surface model.

Computer Graphics Forum (EUROGRAPHICS'93 Conference Issue) 12,3:249-260.

De Floriani L, Gattorna G, Marzano P, Puppo E (1994) Spatial Queries on Hierarchical Terrain

Models. In: Proceedings 6th International Symposium on Spatial Data Handling (SDH'94), Edim-

burgh, pp 819-834.

De Floriani L, Marzano P, Puppo E (1994) Multiresolution Models for Topographic Surface De-

scription. Technical Report 94/01 D.I.S.I., University of Genova, Genova, Italy.

De Floriani L, Puppo E (1995) Hierarchical Triangulation for Multiresolution Surface Description.

ACM Transactions (to appear).

Dyn N, Levin D, Rippa S (1990) Data Dependent Triangulations for Piecewise Linear Interpola-

tion. IMA Journal of Numerical Analysis 10,5:137-154.

Eck M, DeRose T, Duchamp T (1995) Computer Graphics Proceedings (SIGGRAPH'95 Annual

Conference Series) PP 173-182.

Edelsbrunner H, Tan TS (1992) An upper bound for conforming Delaunay triangulations. In: Pro-

ceedings 8th Annual ACM Symposium on Computational Geometry, pp 53-62.

Fekete G, Davis LS (1984) Property spheres: a new representation for 3-D object recognition. In:

Proceedings Workshop on Computer Vision: Representation and Control, CS Press, Los Alamitos,

California, pp 192-201.

Fowler RJ, Little JJ (1979) Automatic extraction of irregular network digital terrain models. Com-

puter Graphics 13,3:199-207.

Gomez D, Guzman A (1979) Digital model for three-dimensional surface representation. Geo-

Processing 1:53-70.

Guibas LJ, Stol� J (1985) Primitives for the manipulation of general subdivisions and the com-

putation of Voronoi diagrams. ACM Transactions on Graphics 4:74-123.

Hoppe H, DeRose T, Duchamp T, McDonald J, Stuetzle W (1993) Mesh Optimization. Com-

puter Graphics Proceedings, Annual Conference Series, pp 19-26.

30

1

C

Johnston EG, Rosenfeld (1975) Digital detection of pits, peaks, ridges, and ravines. IEEE Transac-

tions on Systems, Man, and Cybernetics 471-480.

Kirkpatrick DG (1983) Optimal search in planar subdivision. SIAM Journal of Computing 12,1:28-

33.

Lawson CL (1977) Software for Surface Interpolation'. In: Mathematical Sotware III, J. R.

Rice (ed.), Academic Press, New York, pp 161-194.

Lee J (1991) Comparison of existing methods for building triangular irregular network models of

terrain from grid digital elevation models. International Journal of Geographical Information Sys-

tems 5,3:267-285.

Peucker TK (1975) Detection of surface-speci�c points by local parallel processing of discrete terrain

elevation data. Computer Graphics and Image Processing (Short Notes) 4:375-387.

Preparata FP, Shamos MI (1985) Computational Geometry: an Introduction, Springer-Verlag, New

York Berlin Heidelberg.

Quak E, Schumaker LL (1990) Cubic Spline Fitting using Data Dependent Triangulations. Com-

puter Aided Geometric Design 7:293-301.

Rippa S (1990) Minimal roughness property of the Delaunay triangulation. Computer Aided Geo-

metric Design 7:489-497.

Rippa S (1992) Adaptive Approximation by Piecewise Linear Polynomials on Triangulations of

Subsets of scattered Data. SIAM Journal of Sci. Stat. Comput. 13, 5:1123-1141.

Samet H (1990) Applications of spatial data structures. Addison Wesley, Reading, Maryland.

Samet H, Sivan R (1992) Algorithms for constructing quadtree surface maps. In: Proceedings

5th International Symposium on Spatial Data Handling, Charleston, pp 361-370.

Scarlatos LL (1990) An automatic critical line detector for digital elevation matrices. Proceed-

ings 1990 ACSM-ASPRS Annual Convention, Denver, Colorado, 2:43-52.

Scarlatos LL, Pavlidis T (1992) Hierarchical triangulation using cartographic coherence. CVGIP:

Graphical Models and Image Processing 54,2:147-161.

Schroder WJ, Zarge JA, Lorensen WE (1992) Decimation of Triangle Meshes. Computer Graphics

26,2:65-70.

Schumaker LL (1993a) Triangulations in CAGD. IEEE Computer Graphics and Applications 13:47-

52.

Schumaker LL (1993b) Computing optimal triangulations using simulated annealing. Computer

Aided Geometric Design 10:329-345.

Skidmore AK (1990) Terrain position as mapped from a gridded digital elevation model. Inter-

national Journal on Geographical Information Systems 4,1:33-49.

31

Multiresolution Terrain Models

Hierarchical Terrain Models Pyramidal Terrain Models

Quadtree-basedModels

Hierarchical TriangulatedModels

Quaternary Triangulation Ternary

Triangulation

SurfaceQuadtree

Adaptive Hierarchical Triangulation

Restricted Quadtree

HierarchicalDelaunay Triangulation

Delaunay Pyramid

(a) (b)

Southard DA (1991) Piecewise planar surface models from sampled data. In: Scienti�c Visual-

ization of Phisical Phenomena, N. M. Patrikalakis (ed.), Springer-Verlag, pp 667-680.

Tan TS (1994) An Optimal Bound for Quality Conforming Triangulations. In: Proceedings 10th

Annual ACM Symposium on Computational Geometry, pp 240-249.

Turk G (1992) Re-tiling Polygonal Surfaces. Computer Graphics 26,2:55-64.

Von Herzen B, Barr AH (1987) Accurate triangulations of deformed, intersecting surfaces. Computer

Graphics 21,4:103-110.

Figure 1: Classi�cation of multiresolution terrain models.

Figure 2: Digital terrain models: a RSG (a) and a TIN (b).

32

S � "

"

E � > "

p S E

� �; p

procedure

begin

while do

end while

return

end

DELAUNAY SELECTOR ( , , )

input: : precision threshold.

inout: : triangulation.

( )

point of that maximizes ;

ADD VERTEX( );

;

( )

.

Figure 3: Pseudo-code of the Delaunay selector.

33

(a) (b)

Figure 4: Adjacent subdivisions: (a) non-matching and (b) matching.

Figure 5: An example of a hierarchical matching subdivision (labels on the arcs have been omitted,

for simplicity).

34

e1e2

e3

p1p2

p3

t3t1

t4

t2

tt

Σ0

Σ2Σ1

(a) (b) (c)

Figure 6: Forcing continuity can make re�nement useless.

Figure 7: A quadtree (a), its segmentation tree (b), and the tree describing the hierarchical subdi-

vision (c) (labels are omitted, for simplicity).

35

1 4

j

j j

j j

H

H ; ;

H

H

H

H

H

H

H

D "

D "

;

D "

q "

q "

q

q q ; ::; q

q

;

j

E q > "

q "

; ; q

Algorithm

begin

return

end

procedure

begin

for every do

if then

return

end

SURFACE QUADTREE( , )

input: : initial square domain; : precision;

output: : hierarchical subdivision;

( );

BUILD SURFACE QUADTREE( , , );

( )

.

BUILD SURFACE QUADTREE( , , )

input: : square; : precision;

inout: : hierarchical subdivision;

output: �: subdivision of ;

� subdivision of into four squares obtained by

inserting the central point and the four midpoints of ;

INSERT NODE(� );

= 1 to 4

( )

� BUILD SURFACE QUADTREE( , , );

INSERT ARC((� � ), )

(�);

.

Figure 8: Pseudo-code of the algorithm for constructing a surface quadtree.

36

ε=5

ε=5

ε=4

ε=7

ε=8

ε=4

ε=7 ε=5

ε=0

Σ0

Σ1

q1 q2

q3q4

q1

q4

q2

q3

Σ3

_

_ _

_

ε=4

ε=5

Σ2ε=5

ε=5q1

q4 q3

q2^ ^

^ ^

point of discontinuity

(a) (b) (c)

(d) (e) (f)

"Figure 9: Application of the algorithm for constructing a surface quadtree: input value for is 5,

and precision on each quadrant is indicated.

Figure 10: Discontinuities in a surface quadtree.

Figure 11: The six distinct approximation patterns upon a region of a restricted quadtree.

37

0 1 4

0

1 4

i

i

e q

q

x

q

q

x q

i

e

H

H ; ;

H

2

H

H

H

D "

D "

Q

;

Q

D q ; ::; q

;

i

E q > "

q ;Q

Q

q Q

b q; L ; L

q L q

q;Q

q;Q

b q

q

q q ; ::; q

;

; ; q

i

q ;Q

q

q; L

Algorithm

begin

for to do

if then

end if

end for

while not do

for every do

if not then

end if

end for

if then

for to do

end for

else

end if

end while

return

end

RESTRICTED QUADTREE( , )

input: : initial square domain; : precision;

output: : hierarchical subdivision;

local: : queue;

( );

MAKENULL( );

� initial subdivision of into four quadrants ;

INSERT NODE(� );

= 1 4

( )

ENQUEUE( )

;

(IS EMPTY( ))

DEQUEUE( );

DECIDE QUADRANT UPDATING( );

/* must be modi�ed */

( ISIN( ))

ENQUEUE( )

;

/* must be subdivided */

� PARENT( );

� subdivision of into four quadrants ;

INSERT NODE(� );

INSERT ARC((� � ), );

= 1 4

ENQUEUE( )

/* need not to be subdivided;

its approximation pattern can be changed */

UPDATE APPROX( )

;

( )

.

Figure 12: Pseudo-code of the algorithm for constructing a restricted quadtree.

38

Figure 13: The restricted quadtree constructed through the proposed top-down algorithm on the

input data of Figure 9.

39

1 2 3

1 2 3

t

t

j

j

j j

j j

H

H ; ;

H

H

H

H

H

H

H

D; "

D "

;

E D > "

p E p E D

D; p; ";

t; p; ";

t p "

� t

� t t ; t ; t

p

�;

V t

V t ; t ; t

j

E t > "

p E p E t

� t ; p; ";

�; � ; t

Algorithm

begin

if then

end if

return

end

procedure

begin

for to do

if then

end if

end for

return

end

TERNARY TRIANGULATION( )

input: : initial triangular domain; : precision;

output: : hierarchical subdivision;

( );

( )

point such that ( ) = ( );

BUILD TERNARY TRIANGULATION( );

;

( )

.

BUILD TERNARY TRIANGULATION( )

input: : triangle; : point to be inserted; precision;

inout: : hierarchical subdivision;

out: subdivision of ;

subdivision of into three triangles

obtained by inserting point ;

INSERT NODE( );

set of data points lying inside and not yet inserted;

distribute the points of among ;

= 1 3

( )

point such that ( ) = ( );

BUILD TERNARY TRIANGULATION( );

INSERT ARC(( ), )

;

( );

.

Figure 14: Pseudo-code of the algorithm for constructing a ternary triangulation.

40

split in center split on one edge split on one edge and in center

split on three edgessplit on two edges

Figure 15: The �ve ways of re�ning a triangle in an adaptive hierarchical triangulation.

41

4

3

3

2

t s

t s

t s

t s

s t

� � �

� � �

� �

� �

N N O N n

N N O Nn

N N O Nn

N N O Nn n

N n N N h

explicit adaptivity shape matching

multiresolution

quadtree-based models ++

ternary triangulation

AHT +

HDT + +

Delaunay pyramid + ++

implicit Delaunay pyramid + ++

Table 1: Relevant issues in surface modeling.

HTMs spatial complexity time complexity of the

construction algorithm

quadtree-based models ( log )

ternary triangulation ( )

AHT 2 ( )

HDT 2 ( log )

Table 2: Spatial complexity of presented HTMs and time complexity of the corresponding construc-

tion algorithm: , , , and denote, respectively, the number of representative points, the

number of points inserted in the model, the the number of simple regions and the total number of

regions in the hierarchical model, the number of levels in the pyramidal model.

42

0

0 0

0

splitting rule

H

H ; ;

H

H

H

H

h

j k

j i

j j i

j

k j j

j i

j i

j j i

j j

j i

j

j

i i i

t

t

j

D "

D

" " > :: > "

;

� D; "

� ;

i h

t �

E t > "

� t ; "

� ;

� ; � ; t

t "

t "

� t "

� t

E � > "

t E t E �

p E int t E p

i

p E e E p

t

V t

V t

Algorithm

begin

for to do

for every do

if then

end if

end for

end for

return

end

procedure

begin

while do

for to do

end for

end while

return

end

ADAPTIVE HIERARCHICAL TRIANGULATION( , )̂;

input: : initial triangular domain;

^= : sequence of tolerance values;

output: : hierarchical subdivision;

( );

REFINE TRIANGLE( );

INSERT NODE( );

= 1

simple triangle belonging to any subdivision

( )

REFINE TRIANGLE( );

INSERT NODE( );

INSERT ARC(( ), )

;

( )

.

REFINE TRIANGLE( , );

input: : triangle; : precision;

output: : triangulation of satisfying precision ;

;

( )

triangle such that ( ) = ( );

point such that ( ( )) = ( );

= 1 3

point such that ( ) = ( )

split according to the ;

set of data points lying inside ;

distribute the points of among new triangles re�ning

;

( )

.

Figure 16: Pseudo-code of the algorithm for constructing an AHT.

43

0

0

0 0 0

0

H

H ; ;

H

H

H

H

h

j k

j i

j j

j j i

j

k j j

D; "

D

" " > :: > "

;

� D

� � ; "

� ;

i h

t �

E t > "

� t

� � ; "

� ;

� ; � ; t

Algorithm

begin

let

for do

for every do

if then

let

end if

end for

end for

return

end

HIERARCHICAL DELAUNAY TRIANGULATION( )̂

input: : initial domain;

^= : sequence of tolerance values;

output: : hierarchical subdivision;

( );

be an initial triangulation covering ;

DELAUNAY SELECTOR( );

INSERT NODE( );

= 1 to

simple triangle belonging to any subdivision

( )

be the triangulation containing only ;

DELAUNAY SELECTOR( );

INSERT NODE( );

INSERT ARC(( ), )

;

( )

.

Figure 17: Pseudo-code of the algorithm for constructing an HDT.

Figure 18: An example of a Delaunay Pyramid: the points selected for insertion are marked in bold,

and triangles involved in the re�nement process at each level are highlighted. Labels of arcs are

omitted, for simplicity, as well as links corresponding to trivial arcs.

44

0

0 0

0

1

1

1

2 2

2

2

2

1

h

i i i

i

i i

k l

i i k l

t

t

t

t

N

t

P

P ; ;

P

H

P

P

� �

� �

� �

Algorithm

begin

for do

for every do

end for

end for

return

end

D; "

D

" " > :: > "

;

� D

� �; "

� ;

i h

� � ; "

� ;

� �

t t

� ; � ; t ; t ;

h n n O hn

N h n O hn

h n

N h n O Nn n

N h n O Nn n

N O N N

N n N h

DELAUNAY PYRAMID( )̂

input: : initial domain;

^ = : sequence of threshold values;

output: : pyramidal subdivision;

( );

initial Delaunay triangulation of ;

DELAUNAY SELECTOR( );

INSERT NODE( );

= 1 to

DELAUNAY SELECTOR( );

INSERT NODE( );

determine the intersections between triangles in and ;

pair of such intersecting triangles and

INSERT ARC(( ( )) )

;

( )

.

Figure 19: Pseudo-code of the algorithm for constructing a Delaunay pyramid.

PTMs spatial complexity time complexity of the

construction algorithm

complete data structure for ( + 1)( + 2 5) ( )

Delaunay pyramid

SLT ( + 1)(2 5) ( )

with interference links plus ( + 1)

simpli�ed SLT ( + 1)(2 5) ( log )

(without interference links)

HT ( + 1)(2 5) ( log )

implicit Delaunay pyramid ( log )

Table 3: Spatial complexity of presented data structures for Delaunay pyramid and implicit Delaunay

pyramid, and time complexity of the corresponding construction algorithm: , , and are the

same parameters as those of Table 2; is the percentage of vertices that are not removed between

any pair of consecutive levels in the implicit Delaunay pyramid.

45