1 ssd99 tutorial multiresolution in terrain modeling leila de floriani, enrico puppo university of...

163
1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

Upload: geraldine-melton

Post on 18-Jan-2016

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

1SSD99 Tutorial

Multiresolution in

Terrain Modeling

Leila De Floriani, Enrico Puppo

University of Genova

Genova (Italy)

Page 2: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

2SSD99 Tutorial

Outline

Generalities on Terrain Models

Data Structures

Compression Techniques

Algorithms for Terrain Generalization

Multiresolution Representations:

A general framework for multiresolution

Classification and review of multiresolution models

Applications

Page 3: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

3SSD99 Tutorial

Terrain Data

Elevation data are given at a finite set of points in a geo-referenced domain 2D locations + elevation define a sample data set

Points can be: regularly spaced in the x and y coordinates irregularly distributed

Terrain data acquisition

Ground survey methods using electronic tacheometers Photogrammetric methods working on aerial and satellite images SAR interferometry Digitization of existing contour maps (through contour following)

Page 4: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

4SSD99 Tutorial

Digital Terrain Model (DTM)

A terrain can be modeled in the continuous as a surface

described by a function z=f(x,y) defined in a two-dimensional

domain D

DTM: discrete model of a terrain based on a given set of

elevation data

DTM characterized by

a subdivision of the domain into two-dimensional cells (usually

with vertices at the sample points)

a collection of interpolating functions defined at cells of the

subdivision

Page 5: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

5SSD99 Tutorial

Classification of DTMs

Classification based on the topology of the underlying subdivision: Regular Square Grids (RSGs) Triangulated Irregular Networks (TINs)

Page 6: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

6SSD99 Tutorial

Regular Square Grids (RSGs)

The domain subdivision is a rectangular grid For each rectangle r in the grid:

elevations of vertices of r are interpolated by linear functions along each edge of r

a bilinear function is obtained as the tensor product of such four linear functions

Straightforward data structures and manipulation techniques

Only regularly spaced data resampling required Not adaptive to characteristics of the surface massive data

sets at high resolution are necessary to achieve accuracy

Page 7: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

7SSD99 Tutorial

Triangulated Irregular Networks (TINs)

The domain subdivision is a triangulation

For each triangle t, elevations of its three vertices are

interpolated by a linear function

Capability of adapting to the roughness of terrain (adaptive models)

Possibility of explicitly including relevant points (peaks and pits) and lines (ridges and valleys)

Ease of update

More complex data structures and manipulation techniques

Page 8: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

8SSD99 Tutorial

Data Structures

Page 9: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

9SSD99 Tutorial

Data Structures for RSGs

The basic data structure is a rectangular matrix (raster) of elevation values:

Geographic coordinates of each entry are computed directly from its position in the matrix

Elevation is given by the value stored at the entry

More sophisticated data structures are inherited from the literature on digital images for:

Compression

Block decomposition

Hierarchical decomposition

Page 10: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

10SSD99 Tutorial

Data Structures for TINs

Two types of information encoded:

Geometrical

position in space of the vertices

surface normals at the vertices (optional)

Topological

mesh connectivity

adjacency relations among triangles of the mesh (optional)

Page 11: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

11SSD99 Tutorial

...Data Structures for TINs...

List of triangles:

It maintains an explicit list of triangles composing the mesh

For each triangle, it maintains its three vertices by explicitly encoding the geometrical information associated with the vertices

Connectivity described through a relation between a triangle and all its vertices

Drawback:

Each vertex is repeated for all triangles incident in it

Storage cost:

In a triangle mesh with n vertices, there are about 2n triangles

Total cost of data structure: about 18n floats, if geometric information associated with a vertex is just its position in space

Page 12: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

12SSD99 Tutorial

...Data Structures for TINs...

Indexed data structure:

List of vertices + list of triangles + relation between triangles and vertices

For each vertex: its geometrical information

For each triangle: references to its three vertices

Drawback:

No adjacency information

Storage cost:

6n log n bits +

3n floats (cost of storing geometrical information)

since a vertex reference for a triangle requires log n bits

Page 13: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

13SSD99 Tutorial

...Data Structures for TINs...

Indexed data structure with adjacencies:

list of vertices (with their geometrical information) + list of triangles

for each triangle: references to its three vertices + references to its three adjacent triangles

Storage cost:

(12n log n + 6n) bits + 3n floats (cost of storing geometrical information), since each triangle reference requires (log n + 1) bits

t

t1

t2t3

P1

P2

P3

t: (P1,P2,P3) (t1, t2, t3)

Page 14: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

14SSD99 Tutorial

...Data Structures for TINs...

Comparison of the three data structures:

n = number of vertices, let one float = 32 bits

list of triangles: 18n floats

if n = 216 ==> 18*216 floats = 578*216 bits

indexed data structure: 6n log n bits + 3n floats

if n = 216 ==> 96*216 bits+ 3*216 floats = 150*216 bits

indexed data structure with adjacencies: (12n log n + 6n) bits+ 3n floats

if n = 216 ==> 198*216 bits + 3*216 floats = 252*216 bits

Page 15: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

15SSD99 Tutorial

Compression Techniques

Page 16: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

16SSD99 Tutorial

Why Terrain Compression?

Availability of large terrain datasets in Geographic Information Systems

Need for:

Faster transmission of terrain models

Faster I/O of terrain models from/to disk

Enhanced rendering performances: limitations on on-board memory and on data transfer speed

Lower costs of memory and of auxiliary storage

Objective: design compact structures for encoding a terrain model as a

sequence of bits (bitstream)

Page 17: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

17SSD99 Tutorial

...Why Terrain Compression?...

Compression methods for TINs aimed at two complementary

tasks:

Compression of geometry: efficient encoding of numerical

information attached to the vertices, i.e., position, surface normal,

color, texture parameters

Compression of mesh connectivity: efficient encoding of the

mesh topology

Page 18: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

18SSD99 Tutorial

Compression of Geometry [Deering, 1995; Chow, 1997]

Positions, normals and scalar attributes quantized to significantly fewer than 32 bits (single-precision IEEE floating point) with little loss in accuracy

Example: quantization for position information:

Geometry normalized to a unit cube

Positions quantized by truncating the less significant bits of position components

Optimizations:

Positions are "delta-encoded”: just the difference between a vertex position and that of its predecessor in the bitstream is encoded

Quantization assignment can be done by partitioning the triangle mesh into parts of similar detail based on triangle size and curvature

Page 19: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

19SSD99 Tutorial

Compression of Connectivity

Two kinds of compression techniques:

Direct techniques:

Goal: minimizing the number of bits needed to encode connectivity

Progressive techniques:

Goal: an interrupted bitstream provides a description of the whole terrain at a lower level of detail

Page 20: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

20SSD99 Tutorial

Direct Methods

Compression methods for rendering:

Triangle strips (and triangle fans) used in graphics API (e.g., OpenGL)

Generalized triangle meshes [Deering 1995; Evans et al., 1996; Chow, 1997; Bar Yehuda and Gotsman 1996]

Topological surgery [Taubin and Rossignac, 1996]

A compression method for transmission:

Sequence of triangles in a shelling order [De Floriani, Magillo and Puppo, 1998]

Page 21: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

21SSD99 Tutorial

...Direct Methods... Triangle Strips

Each strip is a sequences of vertices Each triangle in a strip has its vertices at three

consecutive positions A TIN is encoded as a collection of strips

Drawbacks: Each vertex is encoded twice on average It is difficult to obtain a small number of long strips

[Evans et al., 1996]

1

2

3

4

5

6

7

. . . .

Page 22: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

22SSD99 Tutorial

...Direct Methods...

Generalized Triangle Meshes [Deering, 1995]

Sequence of vertices with alternate strip-like and fan-like behavior

Behavior at each vertex specified by a bit code A small buffer allows to reuse some past vertices (indexing) A TIN is encoded as a collection of generalized strips Cost: ~11 bits per vertex for connectivity

1

2

3

4

5

6

7

. . . .

2

6

5

1

4

3

. . . .Strip-like(zig-zag) Fan-like

(turning)

Page 23: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

23SSD99 Tutorial

...Direct Methods... Topological Surgery [Taubin and Rossignac, 1996] It cuts a mesh and opens into a connected set of triangles shaped as

a tree (triangle spanning tree) The edges along which the mesh is cut form another tree (vertex

spanning tree)

The bitstream produced by the method contains the two trees Compression/decompression algorithms are rather complicated

Page 24: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

24SSD99 Tutorial

...Direct Methods...

A Compression Method based on Shelling

[De Floriani, Magillo and Puppo, 1998]

Based on a shelling order: a sequence of all the triangles in the mesh with the property that the boundary of the set of triangles corresponding to any proper subsequence forms a simple polygon

Encoding:

four 2-bits codes per edge: SKIP, VERTEX, LEFT, RIGHT

Page 25: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

25SSD99 Tutorial

...Direct Methods...

...A Compression Method based on Shelling...

Initialize current polygon at an arbitrary triangle of the TIN Loop on the edges of the current polygon, and for each edge

e try to add the triangle t externally adjacent to e : if t contains a new vertex, send a VERTEX code and vertex

information if t is bounded by the edge either preceding or following e on the

current polygon, then send either a LEFT or a RIGHT code if t either cannot be added or does not exist, then send a SKIP

code

Page 26: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

26SSD99 Tutorial

...Direct Methods...

Page 27: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

27SSD99 Tutorial

...Direct Methods...

Properties of the Shelling Method: Every vertex is encoded only once Each edge is examined at most once Compression and decompression algorithms:

fast no numerical computations conceptually simple and easy to implement

Adjacencies between triangles are reconstructed directly from the sequence at no additional cost

Cost: in theory: at most 6 bits of connectivity per vertex in practice: less than 4.5 bits of connectivity per vertex

Page 28: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

28SSD99 Tutorial

...Direct Methods...

Experimental Results:

Exp #vert #tri #code bits compression bits /vert time(tri/s)

U1 42943 85290 182674 4.2538 1.644(51879)U2 28510 56540 123086 4.3173 1.077(52483)U3 13057 25818 57316 4.3897 0.479(53899)U4 6221 12240 27180 4.3690 0.215(56930)

Page 29: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

29SSD99 Tutorial

Progressive Compression

Efficient encoding of the mesh produced by a simplification algorithm

A sequence of progressive LODs generated by iteratively applying a destructive operator which removes details from a mesh

An inverse constructive operator recovers details

Encoding:

coarsest mesh produced in the simplification process + sequence of construction operations

Page 30: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

30SSD99 Tutorial

...Progressive Compression...

Each LOD can be seen as a form of lossy compression of the original mesh

There is a trade-off between loading/transmission times and loss of detail

Compression rates are usually lower than those achieved by direct techniques

Page 31: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

31SSD99 Tutorial

...Progressive Compression...

Progressive Compression Methods

Progressive meshes [Hoppe, 1996]

destructive operator = edge collapse

Sequence of edge swaps [De Floriani, Magillo and Puppo, 1998]

destructive operator = vertex removal

Sequence of ordered vertex sequences [Snoeyink and van Kreveld, 1997]

destructive operator = removal of a set of vertices

Page 32: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

32SSD99 Tutorial

...Progressive Compression...

Progressive Meshes [Hoppe, 1996] Edge collapse:

replace an edge e with a vertex v1 and the two triangles sharing e with two edges incident at v1

Vertex split (inverse operation): expand a vertex v1 into an edge e=v1v2 and two edges e1 and e2 among those

incident at v1 into two triangles

v1

v1 v2

e1

e2

e

Page 33: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

33SSD99 Tutorial

...Progressive Compression...

Progressive Meshes [Hoppe, 1996]

Encoding: new vertex v2 reference to v1 code specifying the position of e1 and e2 in the set of edges

incident at v1 Properties:

suitable to support geomorphing Cost:

n(log n + log(b(b-1))) bits of connectivity, where b = maximum degree of a vertex at any step

for instance, for n=216 and b=23 ==> about 21.8*216 bits of connectivity

Page 34: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

34SSD99 Tutorial

...Progressive Compression...

Sequence of Edge Swaps

[De Floriani, Magillo, Puppo, 1998]

Based on the iterative removal of a vertex of bounded

degree (less than a constant b) selected according to an

error-based criterion:

The vertex which causes the smallest loss of accuracy (least

relevant detail) is always selected

The polygonal hole left by removing vertex v is re-

triangulated

The inverse constructive operator inserts vertex v and

recovers the previous triangulation of

Page 35: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

35SSD99 Tutorial

Sequence of Edge Swaps

The old triangulation T is recovered from the new one T' by first splitting the triangle t of T' containing vertex v and then applying a sequence of edge swaps

...Progressive Compression...

T

T’

Page 36: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

36SSD99 Tutorial

...Progressive Compression...Sequence of Edge Swaps Information encoded for each removed vertex v:

a vertex w and an index indicating a triangle around w (they define the triangle t of T' containing v)

the packed sequence of edge swap which generates T from T'

T

Vertex: wTriangle index: 0Swap sequence: 2 0 2

Page 37: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

37SSD99 Tutorial

...Progressive Compression...

Sequence of Edge Swaps

Cost:

n(log n +log b+ log((b-1)!)-1) bits of connectivity information

for instance, for n=216 and b=23 ==> about 31.4*216 bits of connectivity

Properties:

The criterion used in the re-triangulation is encoded in the sequence of swaps: more general than other progressive methods

Suitable to encode TINs based on Delaunay triangulations, data dependent triangulations, constrained triangulations, etc.

Page 38: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

38SSD99 Tutorial

...Progressive Compression...

Snoeyink and van Kreveld's Method

It applies to TINs based on Delaunay triangulation

LOD generation process: at each step, a maximal set of independent vertices (i.e., vertices which are not connected by an edge) of bounded degree is removed

The process of removing a set of vertices terminates in a logarithmic number of steps

Page 39: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

39SSD99 Tutorial

...Progressive Compression...

Snoeyink and van Kreveld's Method

Encoding:

the vertices removed at the same step form a sorted sequence

each sequence terminates with an end-of-phase code

Cost: at most log 2n bits to encode connectivity

Compression and decompression methods are quite involved

and require heavy numerical computations (a Delaunay

triangulation must be computed when decompressing)

Only suitable for Delaunay triangulation

Page 40: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

40SSD99 Tutorial

Algorithms forTerrain Generalization

Page 41: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

41SSD99 Tutorial

Why Terrain Generalization?

Terrain models at high resolution are often too large to be processed:

Models must fit into computer memory

Processing time must be reasonable

Performance may be critical:

Terrain visualization needs real time rendering

Some tasks in terrain analysis are computationally expensive (e.g., watershed, viewshed)

Not all tasks need a model at the same accuracy

Page 42: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

42SSD99 Tutorial

...Why Terrain Generalization?...

More accurate representation more cells

More cells higher storage requirements and processing time

Objective of generalization: find an optimal trade-off between the size of a model and its accuracy

Page 43: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

43SSD99 Tutorial

Terrain generalization

Problem Statement :

given a terrain model [either an RSG or a TIN],

find a TIN representing the same terrain and having smaller size and

a small approximation error

Major issues:

size / accuracy ratio

shape of cells in the generalized model (no slivers!)

Page 44: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

44SSD99 Tutorial

Approximation error

Approximation of a terrain with a TIN: each triangle approximates a portion of terrain within a given accuracy

Given a sample data set, each triangle of the TIN approximates the portion of terrain spanned by points whose projections lie within the projection of the triangle

Error at a point is measured by distance from its vertical projection on the triangle

Page 45: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

45SSD99 Tutorial

...Approximation error...

Errors at all points in the sample data set are combined to define the accuracy of approximation

Different combinations may be used for different needs:

Maximum error over all points

Average error

Root Mean Square error

Other criteria may be used: difference in volume, curvature, surface normal, etc...

Page 46: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

46SSD99 Tutorial

Triangle quality measures

A TIN should have triangles as much compact as possible

Elongated triangles (slivers) cause numerical errors and unpleasant visual effects

Compactness of a triangle [Gueziec, 1995]:

where A is the area and l0 , l1 , l2 are edge lengths.

Compactness is 1 for an equilateral triangle and decreases while a triangle becomes elongated

lll

A22

21

20

34

Page 47: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

47SSD99 Tutorial

Generalization goals

Two alternative optimization problems can be defined:

Min - # : build the approximation of minimum size (e.g. minimum number of vertices) which satisfies a given error bound

accuracy is a constraint

size is the goal

Min - : build an approximation having minimum error and having a given size

size is a constraint

accuracy is the goal

Page 48: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

48SSD99 Tutorial

Theoretical results

Optimization problems Min-# and Min- are NP-hard [Agarwal and Suri, 1995]

There exist just few approximation algorithms for problem

Min- that guarantee a bound on the size of the solution with respect to optimal [Agarwal and Desikan, 1997]:

Algorithms are difficult to code and computationally expensive

Sub-optimality bounds are coarse

Empirical results are not substantially better than those obtained with heuristics

Page 49: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

49SSD99 Tutorial

Practical methods

All practical methods are based on heuristics:

Selection of point features

[Fowler and Little, 1979; Chen ad Guevara, 1989; Scarlatos, 1990]

Iterative refinement of a TIN

[Franklin, 1973; Fowler and Little, 1979; De Floriani et al., 1984; De Floriani et al., 1985; Rippa, 1992]

Iterative simplification of a TIN

[Lee, 1989; deBerg and Dobrindt, 1995; Hoppe, 1996]

Methods based on greedy construction of a TIN

[Silva et al., 1995]

Page 50: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

50SSD99 Tutorial

Methods based on selection of points

General approach:

Extract a subset of the sample data set formed by points that are likely to be relevant to describe the morphology of terrain

Compute a TIN having vertices at selected points.

Topographic features [Fowler and Little, 1979]:

Surface-specific points at peaks, pits, ridges,valleys and passes are extracted from an input RSG using a local method [Peucker and Douglas, 1975]

Points along lineal features (ridges and valleys) are organized into chains, which are simplified by a line-thinning method [Douglas and Peucker, 1973]

A Delaunay triangulation of the selected points is computed

Page 51: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

51SSD99 Tutorial

...Methods based on selection of points...

VIP [Chen ad Guevara, 1989]

An importance measure is computed at all points of an RSG:

Each point has four pairs of diametrically opposed neighbors

For each pair of neighbors, distance from the central point to the line interpolating them is computed

The average of the four computed distances is used as a measure of importance.

Very Important Points (VIP) are extracted based either on an importance threshold, or on a desired number of points

Delaunay triangulation of VIP points is computed

P

F E

D

C

H

A

G

B

G CP

Page 52: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

52SSD99 Tutorial

...Methods based on selection of points...

Constrained triangulation [Scarlatos, 1990]

Lineal features (ridges and valleys) as well as contour lines are

obtained from previous processing of an RSG model

A triangulation constrained to contain such lines as edges is

built

constrained triangulation may contain many slivers

Page 53: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

53SSD99 Tutorial

...Methods based on selection of points...

Pros and Cons:

Simple and local computations

Topographic features are preserved

TIN accuracy must be evaluated after building the TIN

Very sensitive to noise in the input data

Not suitable to resolve the Min-# problem

Applicable only to RSG input (not applicable to sparse data samples)

Page 54: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

54SSD99 Tutorial

Methods based on TIN refinement

General approach:

Start with a TIN having a small number of vertices and covering the whole domain of terrain

Iteratively insert more vertices until a stop condition is verified:

[Min-#] a desired accuracy is obtained

[Min-]the TIN has a desired number of vertices (or triangles)

Key issues that characterize different methods: Initial TIN Selection of vertices to insert Triangulation method

Page 55: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

55SSD99 Tutorial

...Methods based on TIN refinement...

Initial TIN

[Fowler and Little, 1979]: built on a small set of point features

[Franklin, 1973; De Floriani et al., 1984; Rippa, 1992]: built on

a the four corners of a grid (two triangles)

[De Floriani et al., 1995]: built on the vertices of the convex hull

of the (arbitrarily shaped) domain

Page 56: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

56SSD99 Tutorial

...Methods based on TIN refinement...

Selection of vertices:

All known methods use the same criterion:

At each iteration, input point causing the largest vertical error is

selected

Alternative criterion:

Select vertex that improves accuracy better

The alternative criterion might give a better size / accuracy ratio,

but it is computationally more expensive because insertion of

all points must be simulated in order to make selection

Page 57: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

57SSD99 Tutorial

...Methods based on TIN refinement...

Triangulation method:

[De Floriani et al., 1994]: triangle containing the new vertex is

split into three

extremely simple and local update rule

hierarchy of nested triangles

many slivers

Page 58: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

58SSD99 Tutorial

...Methods based on TIN refinement...

[Franklin, 1993]:

triangle containing the new vertex is split into three

edges of the split triangle are possibly swapped to improve compactness

simple and local update rule

still slivers

Page 59: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

59SSD99 Tutorial

...Methods based on TIN refinement...

[Fowler and Little, 1979; …many others...]: a Delaunay

triangulation is updated by inserting the new vertex:

need for an on-line triangulation method [Watson, 1981; Guibas and Stolfi, 1983]

best compactness on the given set of vertices

region of influence is local on average, but might be arbitrarily extended in the worst case

more complex update rule

Page 60: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

60SSD99 Tutorial

...Methods based on TIN refinement...

[De Floriani et al., 1985]: a Constrained Delaunay Triangulation

(CDT) is updated by inserting the new vertex:

need for an on-line CDT method [De Floriani and Puppo, 1988]

suitable to non-convex domains

lineal features can be included as TIN edges

update rules similar to those of Delaunay triangulation

some slivers may appear

Page 61: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

61SSD99 Tutorial

...Methods based on TIN refinement...

[Rippa, 1992]: a data dependent triangulation is updated by

inserting the new vertex:

update method based on edge swaps similar to those used for Delaunay triangulation

tests to decide whether or not a swap must be performed depend on data elevation

better size / accuracy ratio

optimality with respect to selected criterion is not guaranteed

computationally expensive

some slivers may appear

Page 62: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

62SSD99 Tutorial

Methods based on TIN simplification

General approach:

Start with the model (either an RSG or a TIN) at maximum resolution

Iteratively reduce the number of vertices/triangles through local modifications in the TIN until a stop condition is verified:

[Min-#] the TIN cannot be simplified firther without violating a desired accuracy

[Min-]the TIN has a desired number of vertices (or triangles)

Key issues that characterize different methods: Type of local modification Selection of modification at each step Error evaluation

Page 63: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

63SSD99 Tutorial

...Methods based on TIN simplification...

Local modifications:

Vertex decimation [Lee, 1989; deBerg and Dobrindt, 1995]

Edge collapse [Hoppe, 1996]

Page 64: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

64SSD99 Tutorial

...Methods based on TIN simplification...

Influence region of vertex decimation: before: a star of triangles surrounding the

removed vertex after: a star-shaped triangulated polygon

Key issues: selection of vertices to remove triangulation method error estimation

Page 65: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

65SSD99 Tutorial

...Methods based on TIN simplification...

Greedy decimation [Lee, 1989; ….many others….]:

For each vertex in the initial TIN, compute the cost (error increase)

of deleting it from the TIN

At each step, remove vertex causing the least error increase

Mesh update based on Delaunay triangulation (variants based on

heuristics)

Vertices are stored in a priority queue according to their cost

Cost must be updated at each step only at vertices of the influence

polygon

Page 66: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

66SSD99 Tutorial

...Methods based on TIN simplification...

Decimation of independent sets of vertices [deBerg and

Dobrindt, 1995; …others...]: At each iteration remove a set vertices such that all vertices

have bounded degree

are mutually independent (no two vertices share an edge)

Vertices to remove selected either random, or with a greedy

technique giving highest priority to vertices causing the least error

increase

Vertices eliminated in a single iteration have disjoint influence

regions (holes)

Each holes triangulated independently with Delaunay or data-

dependent rule

Page 67: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

67SSD99 Tutorial

...Methods based on TIN simplification...

Page 68: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

68SSD99 Tutorial

...Methods based on TIN simplification...

Edge collapse on endpoint: influence region: star of

triangles surrounding the

endpoint that disappears

equivalent to decimation with

special update rule

Edge collapse on midpoint: influence region: cycle of

triangles surrounding the

collapsed edge

Page 69: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

69SSD99 Tutorial

...Methods based on TIN simplification...

Edge collapsing rules

Greedy: collapse an edge at each step:

the shortest edge

the edge causing the least error increase

an edge surrounded by almost coplanar faces

Independent set:

two edges are independent if they have disjoint influence regions

select a maximal set of independent edges and collapse them all

together

Page 70: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

70SSD99 Tutorial

...Methods based on TIN simplification...

Decimation

smaller influence regions more regular triangles always possible for any

vertex

more complex update rules

Collapse

simple update rules

larger influence regions slivers collapse not always legal

Page 71: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

71SSD99 Tutorial

Method based on greedy TIN construction

[Silva et al., 1995]:

Start with a polygon covering the whole domain

Iteratively reduce the current polygon(s) by one triangle having at least two vertices on the current boundary

Basic operations:

ear cutting

greedy biting

polygon splitting

edge splitting

Page 72: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

72SSD99 Tutorial

...Method based on greedy TIN construction...

Ear cutting

Greedy biting

Page 73: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

73SSD99 Tutorial

...Method based on greedy TIN construction...

Polygon splitting

Edge splitting

Page 74: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

74SSD99 Tutorial

...Method based on greedy TIN construction...

Pros and Cons:

Good size / accuracy ratio

Does not need to keep the whole TIN in memory

Slivers

Not suitable to resolve the Min- problem

Complex update rules

Page 75: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

75SSD99 Tutorial

Final remarks

Refinement and simplification methods may achieve both a good size / accuracy ratio, and compactness of triangles

Delaunay-based methods achieve the best compactness

Point selection methods can be used as pre-processing for refinement methods in order to speed-up refinement, and to preserve topographic features

Open issue: input data and/or TIN sometimes do not fit into memory

Greedy methods can help to cope with this problem and achieve good size / accuracy ratio, but they produce slivers

Page 76: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

76SSD99 Tutorial

Multiresolution Terrain Models

A general framework

Page 77: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

77SSD99 Tutorial

LOD Models

Layered models

description of a sequence of few meshes each of which represents an object at a different resolution

Multiresolution models

description of a virtually continuous set of meshes representing an object at increasing resolutions

Page 78: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

78SSD99 Tutorial

Layered Models

Each mesh is obtained through a simplification algorithm

Each mesh is associated with a range of levels of detail

The range is used as a filter to select a mesh from the sequence

Each mesh is stored independently: the number of meshes must be small, otherwise the model becomes huge

Modest possibility to adapt resolution to application needs

Resolution of each mesh is uniform

Page 79: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

79SSD99 Tutorial

Multiresolution Models

They provide a virtually continuous range of meshes

representing terrain at different resolutions

The number of different meshes that can be extracted from the

model is not fixed a priori, but it is a function of the data size,

and can be huge (e.g., combinatorial)

Resolution of a mesh can be variable, and change smoothly

over different parts of terrain

Page 80: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

80SSD99 Tutorial

...Multiresolution Models...

Requirements for a Multiresolution Model

Support to efficient query processing (e.g., extraction of terrain

representations at suitable resolution in real time)

Size of the model not much higher than size of representation

at maximum resolution

No cracks or abrupt transitions within a mesh

Smooth transition between different representations at close

resolutions

Page 81: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

81SSD99 Tutorial

...Multiresolution Models...

Intuitive Idea behind Multiresolution

Terrain representations at different levels of detail (LODs) can be obtained as a sequence of local modifications on an initial mesh (by simplification or refinement)

Some modifications depend on others Some modifications are mutually independent

Page 82: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

82SSD99 Tutorial

...Multiresolution Models...

Initial mesh +

collection of local modifications arranged in a partial order

(described by a DAG)

The “Heart” of a Multiresolution Model

Page 83: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

83SSD99 Tutorial

A General Framework for Multiresolution:

the MultiComplex

A MultiComplex (MC) is a labeled

DAG where

nodes are polygonal meshes

arcs describe the partial order

Page 84: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

84SSD99 Tutorial

...A General Framework for Multiresolution...

Each modification must be consistent:

Let T be a mesh. A mesh Ti is a consistent modification of T iff T

contains a submesh T’i, such that Ti “covers” T’i , and Ti has

more cells than T’i

T’i is called the floor of Ti,

consistent

not consistent

T’iT

Page 85: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

85SSD99 Tutorial

Expressive Power of a MultiComplex

A subMC of an MC M is a subgraph M’ where M’ contains the root If Ti belongs to M’, then all parents of Ti belong to M’ as well

Every subMC is an MC

=

Page 86: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

86SSD99 Tutorial

...Expressive Power of a MultiComplex...

Any mesh made of cells in M is the boundary mesh of a subMC

A boundary mesh is obtained by applying all modifications in the subMC in a consistent order

boundary mesh

Page 87: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

87SSD99 Tutorial

...Expressive Power of a MultiComplex...

Mesh at Maximum Resolution boundary mesh associated

with the MC itself

boundary mesh

Page 88: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

88SSD99 Tutorial

Desirable Properties for a MultiComplex

Linear growth: the number of cells of the MC is linear in the number of cells in its

boundary mesh

Page 89: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

89SSD99 Tutorial

...Desirable Properties for a MultiComplex...

Bounded width: the number of cells in any MC mesh is bounded from above by a

constant

Logarithmic height: the maximum path length is logarithmic in the total number of arcs of

the MC

Remark: bounded width linear growth

Page 90: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

90SSD99 Tutorial

Spatial Queries on a Multiresolution Model

Special cases of a general extraction query specified by: an accuracy condition:

specification of the LOD at which the mesh is queried threshold function bounding the distance between the original terrain and

the mesh extracted from the MC

a focus condition: specification of the type of geometric operation defined by the query focus set defining the area of interest of the query

Example: maximum resolution inside a window

Page 91: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

91SSD99 Tutorial

...Spatial Queries on a Multiresolution Model...

Accuracy Condition Threshold function : R3 R A cell c is called valid iff its approximation error is lower than the

minimum value of the threshold over c A triangle mesh satisfies if all its triangles are valid

Example of a threshold function: increasing with the distance from the viewpoint, measured on the x-y plane

Page 92: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

92SSD99 Tutorial

Focus Condition Focus set F in R3

A cell c is called active iff

c F is not empty A focus set describes the region of interest of the query

Examples of focus sets: Point : point location query Line/polyline : segment/line interference query, visibility query Region : window query, region overlay, buffer Volume: view frustum Horizontal plane : contour lines

...Spatial Queries on a Multiresolution Model...

Page 93: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

93SSD99 Tutorial

...Spatial Queries on a Multiresolution Model...

General Extraction Query (Selective Refinement)

Extract mesh T, among all meshes described by the model, such that

T has minimal size (minimal number of cells)

all active cells of T are valid

Page 94: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

94SSD99 Tutorial

...Spatial Queries on a Multiresolution Model...

Two instances of the General Extraction Query

Resulting mesh defined locally only in the area of interest

Resulting mesh defined globally on the whole surface

Page 95: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

95SSD99 Tutorial

Selective Refinement

Selective refinement is performed by sweeping a front through the DAG:

the corresponding subMC satisfies the required threshold inside the area of interest

no node above the cut can be omitted without violating the threshold

Page 96: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

96SSD99 Tutorial

MT Library and API

Implementation of the MT as a Library

Independent of how the construction sequence is generated

Library written in C++, tested on both SGI and PC platforms

It implements:

algorithms for building an MT from a given construction sequence

encoding structures and traversal algorithms

threshold functions and focus sets to support different queries

It provides an Application Programming Interface to develop MT-

based applications

Page 97: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

97SSD99 Tutorial

References

General definitions and properties: Puppo, CCCG’96 / Computational Geometry 1998; Magillo, PhD Thesis 1999

Multidimensional extension and other models in the MT framework: De Floriani, Magillo, Puppo, in “Geometric Modeling: Theory and Practice”, 1997 / DGCI’99

Construction: De Floriani, Magillo, Puppo, IEEE VIS’97 VARIANT: De Floriani, Magillo, Puppo, ACM GIS 1997 Data structures and queries: De Floriani, Magillo, Puppo, IEEE VIS’98 /

SSD 1999

Our web page:

http://www.disi.unige.it/research/Geometric_modeling/

Page 98: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

98SSD99 Tutorial

Multiresolution Terrain Models

Survey and Discussion

Page 99: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

99SSD99 Tutorial

Classification

Nested models

based on a nested subdivision of the domain

each cell in the subdivision is refined independently

Evolutionary models

based on the evolution of a mesh through local modifications

different meshes are obtained by combining different groups of modifications

Page 100: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

100SSD99 Tutorial

Nested models

Root mesh at coarse resolution

General refinement rule: each region in the mesh is refined independently into a local mesh

An arc links a region to the local mesh refining it

Page 101: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

101SSD99 Tutorial

…Nested models...

Cracks can appear in the surface if one node is refined independently of its neighbors

Cracks are due to edges that split during refinement

Page 102: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

102SSD99 Tutorial

Nested models as MCs

A node of the tree is not necessarily a node of the MC

Nodes of the MC are obtained by node clustering

Clustering rule: if an edge e of a triangle t splits during refinement, then

the same split must occur in refining triangle t’ adjacent to t along e

the meshes refining t and t’ must be clustered

Propagation: many nodes of the tree can be clustered to form one node of the MC because of edge splits

Page 103: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

103SSD99 Tutorial

…Nested models as MCs...

Page 104: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

104SSD99 Tutorial

Quadtree-like models

Models based on regular nested subdivisions

Suitable for regularly distributed data

Quadtree: recursive subdivision of a square universe into quadrants

Page 105: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

105SSD99 Tutorial

Quadtree

Surface within each quadrant approximated through a bilinear patch

Each patch interpolates data at its four vertices

A mesh formed of quadrants from different levels has cracks

Page 106: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

106SSD99 Tutorial

... Quadtree ...

All quadrants of a given level must be clustered to form a single node

Complete levels are the only possible meshes to give surfaces without cracks

Each valid representation has uniform resolution

Page 107: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

107SSD99 Tutorial

Restricted quadtree [Von Herzen & Barr, 1987]

Merging triangles from different levels without cracks:

Adjacent quadrants can differ by one level

Each quadrant is triangulated

Linear interpolation is used on each triangle

Page 108: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

108SSD99 Tutorial

...Restricted quadtree...

Each quadrant can be triangulated in 16 possible patterns

Triangulation pattern depends on levels of adjacent quadrants

Mesh is always conforming: no cracks

The number of regions is higher than in the original quadtree

Page 109: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

109SSD99 Tutorial

...Restricted quadtree...

Restricted quadtree and wavelets [Gross et al., 1996] Quadtree subdivision naturally adapt to computation of wavelet

coefficients at grid vertices LOD refers to detail relevance in wavelet space, rather than

absolute approximation error on surface Selective refinement: vertices are selected according to their

LOD, and the resulting quadtree is triangulated a posteriori Two quadtree levels are allowed between adjacent quadrants More complex lookup table is necessary to obtain all

triangulation patterns

Page 110: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

110SSD99 Tutorial

Hierarchy of right triangles[Lindstrom et al., 1996, Evans et al., 1997, Duchaineau et al., 1997,

Pajarola, 1998]

Each triangle is recursively bisected by splitting it along its longest edge

Binary tree representation MC representation

Page 111: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

111SSD99 Tutorial

...Hierarchy of right triangles...

MC corresponding to a hierarchy of right triangles:

cluster triangles of the same level that share a short edge

each node is formed of four triangles (except at the boundary)

two types of nodes: squares diamonds

each node has two parents and four sons (except at the boundary, root, and leaves)

Page 112: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

112SSD99 Tutorial

...Hierarchy of right triangles...

Corresponding hierarchy of vertices: each node in the MC is identified with central vertex of fragment each vertex depends on two other vertices

selective refinement: mesh must contain all vertices needed to achieve the LOD, plus all their ancestors

Page 113: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

113SSD99 Tutorial

…Hierarchy of right triangles...

Different models are characterized by: data structures error evaluation traversal algorithms

Trade-off between space complexity and time efficiency

Page 114: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

114SSD99 Tutorial

…Hierarchy of right triangles...

[Lindstrom et al., 1996]

Data structure: matrix of input values Error: on-the-fly estimate of error in screen space Selective refinement: bottom-up vertex reduction

no overhead for multiresolution data structure on-the-fly error estimate is expensive; speed-up techniques

do not warrant exact error evaluation

Page 115: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

115SSD99 Tutorial

…Hierarchy of right triangles...

[Duchaineau et al., 1997, Evans et al., 1997]

Data structure: binary tree of triangles Error: a priori evaluation Selective refinement: top-down traversal of the tree by

forcing splits where necessary

no need for numerical computation during refinement expensive data structure

Page 116: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

116SSD99 Tutorial

…Hierarchy of right triangles...

An implicit data structure: Matrix of input values An array of errors, one for each triangle

Each triangle, and each MC node can be identified by a unique code

All topological and hierarchical relations involving vertices, triangles, and nodes can be evaluated by algebraic manipulation of codes

The array of errors is addressed directly through codes

Very efficient time performance with a moderate overhead

Page 117: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

117SSD99 Tutorial

Codes for triangles [Hebert, 1995] Reference domain: unit square [0,1]x[0,1] Quadtree subdivision:

a quadrant is identified by its center the center of a quadrant at level m is encoded by a sequence of m

quaternary digits (2m bits)

where all i are pairs of signs: (-1,-1) (-1,1) (1,-1) (1,1)

…Hierarchy of right triangles...

m

ii

i

12

Page 118: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

118SSD99 Tutorial

…Hierarchy of right triangles...

For each level of the quadtree there are two levels in the tree of triangles: each quadrant is subdivided in two possible ways

Triangles in a quadrant are identified by a pair of digits (l,t) where l is the type of subdivision, and t is the index of a triangle in the subdivision (total 4 bits)

Page 119: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

119SSD99 Tutorial

…Hierarchy of right triangles...

Topological relations are evaluated by algebraic manipulation of codes. From a triangle we can obtain: vertices parent triangle sons adjacent triangles at the same level adjacent triangle at the previous level adjacent triangles at the next level

Page 120: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

120SSD99 Tutorial

…Hierarchy of right triangles...

Codes for nodes of the MC: two kinds of nodes: squares and diamonds a node is encoded by its center a square coincides with a quadtree quadrant same code a diamond is encoded with a similar formula that identifies its

center vertex

Page 121: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

121SSD99 Tutorial

…Hierarchy of right triangles...

Relations among triangles and nodes are evaluated by algebraic manipulation of codes. From a node we can obtain: triangles in it triangles in its floor parent nodes child nodes

The algorithm for selective refinement for MC can be implemented efficiently on a hierarchy of right triangles encoded by the implicit data structure

Page 122: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

122SSD99 Tutorial

…Hierarchy of right triangles...

Results of selective refinement with view frustum, and error increasing with distance from viewpoint

Page 123: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

123SSD99 Tutorial

Quaternary triangulations

Recursive subdivision of a triangle into four triangles by joining the midpoints of edges

Applicable as a refinement scheme to an arbitrary surface mesh at low resolution

Topological constraints on positions of vertices

Supports methods based on wavelets

A mesh made of triangles from different levels has cracks

Page 124: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

124SSD99 Tutorial

...Quaternary triangulations...

Different levels of the hierarchy can be merged through a posteriori triangulation of non-conforming meshes

Eight triangulation patterns Patterns less regular than those used for restricted quadtrees Model completed with such triangulation patterns is not an MC

Page 125: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

125SSD99 Tutorial

Adaptive hierarchical triangulations

Based on irregular triangulations Suitable for sparse data sets Error driven subdivision rule: refine a triangle by inserting

vertices that cause the largest errors Vertices can be inserted inside a triangle and/or on its edges

More adaptive than models based on fixed subdivision rules May contain elongated triangles (slivers)

Page 126: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

126SSD99 Tutorial

...Adaptive hierarchical triangulations...

[Pavlidis and Scarlatos, 1990/92] Find the vertex causing the largest

error inside the triangle, and the vertices causing the largest error along each edge

Select only vertices whose error is beyond a given threshold

Use predefined subdivision patterns

[De Floriani and Puppo, 1992/95] Insert the vertex causing the largest

error until a given accuracy is achieved

At each insertion compute the Delaunay triangulation

Page 127: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

127SSD99 Tutorial

Evaluation of nested models

Regular subdivisions Pros:

easy to handle compact data structures regular shape of regions support wavelets

Cons: only regular data:

topological constraints less adaptive than irregular

subdivisions

Irregular subdivisions Pros:

suitable for irregular distributed data sets

more adaptive than regular subdivisions

Cons: elongated triangles cumbersome structures selective refinement not

easy

Page 128: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

128SSD99 Tutorial

Evolutionary models

Store the evolution of a mesh through either refinement or

simplification algorithm based on local modifications

Partial order is given by relations among components of the

mesh (vertices, faces, etc…) before and after each local

modification

Different models characterized by: construction method

information stored (geometry, connectivity, topology, interference,

attributes, error, etc…)

operations supported - efficiency of algorithms

Page 129: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

129SSD99 Tutorial

...Evolutionary models...

Models based on vertex insertion / vertex decimation [De Floriani, 1989] [de Berg and Dobrindt, 1995] [Cignoni et al., 1995/97] [Brown, 1996/97] [Klein and Strasser, 1996] [De Floriani et al., 1996/97/98]

Page 130: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

130SSD99 Tutorial

...Evolutionary models...

Models based on vertex split / edge collapse [Hoppe, 1996/97/98] [Xia et al., 1996/97] [Maheswari et al., 1997] [Gueziec et al., 1998] [Kobbelt et al., 1998]

Page 131: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

131SSD99 Tutorial

Data structures

Relevant information on evolutionary models: Geometry: coordinates of vertices Connectivity: triplets of vertices forming triangles Topology: adjacency, boundary, co-boundary relations Spatial interference: relations among nodes and triangles

that have spatial interference Additional information: accuracy, material, surface normal,

etc.

Different data structures are characterized by the amount of information stored

Trade-off between spatial complexity and efficiency

Page 132: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

132SSD99 Tutorial

...Data structures...

Sequential models

[Cignoni et al., 1996; Hoppe, 1996; Klein and Strasser, 1997; De Floriani et al., 1998]

Keep local modifications into a totally ordered list (just one valid sequence)

Dependencies are not explicitly stored

Page 133: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

133SSD99 Tutorial

...Data structures...

…Sequential models…

extraction of a uniform LOD very efficient very compact selective refinement not possible no topology and interference maintained

Page 134: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

134SSD99 Tutorial

...Data structures...

Explicit MC Representation for triangle meshes (MultiTriangulation, MT) [De Floriani et al., 1996/1998]

Geometry: vertex coordinates

Connectivity:

for each triangle: error + references to its three vertices

DAG structure:

for every arc (Tj,Ti): links to source and destination node, link to the set of triangles of Tj which form the floor of Ti

for every node: link to the sets of its incoming and outcoming arcs

Page 135: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

135SSD99 Tutorial

...Data structures...

MTExplicit MT

Page 136: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

136SSD99 Tutorial

...Data structures...

...Explicit MC representation...

Supports selective refinement efficiently Supports spatial queries efficiently

High storage cost No topology

Page 137: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

137SSD99 Tutorial

...Data structures...

Compressed hierarchies:

Key ideas: each node of an MC is a local modification that can be encoded in

compressed form the arcs of the DAG are encoded explicitly

Different structures for models based on edge collapse called vertex hierarchies: [Xia et al., 1996/97] [Hoppe, 1997] [Gueziec et al., 1998]

One structure for models based on vertex decimation: [De Floriani et al., 1997/98]

Page 138: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

138SSD99 Tutorial

...Data structures...

Vertex hierarchies [Hoppe, 1997; Xia et al., 1997, Gueziec et al., 1998]

Based on vertex split

Store two types of dependencies among vertices

Dependencies of type 1: a vertex depends on the vertex that has been split to create it

Page 139: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

139SSD99 Tutorial

...Data structures... Dependencies of type 2 (defined differently in the various models):

[Hoppe, 1997]

[Xia et al., 1997, Gueziec et al., 1998]

Dependencies of type 1 and of type 2 DAG of vertex dependencies

Page 140: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

140SSD99 Tutorial

...Data structures...

Compressed hierarchies for a MultiTriangulation based on

decimation: Implicit MT [De Floriani et al., 1997/98]

Each node corresponds to vertex insertion/decimation

Partial order of nodes is maintained

For each node:

corresponding vertex

error associated with the component

possible compressed information to encode node triangulation

Page 141: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

141SSD99 Tutorial

...Data structures...

…Compressed hierarchies...

More compact than Explicit MC

Less general than Explicit MC Accuracy not stored for each triangle resulting mesh not

minimal (about twice the size of mesh obtained from Explicit MC)

Page 142: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

142SSD99 Tutorial

...Data structures...

Hypertriangulation [Cignoni et al., 1995/97]

Interpretation of an MC in a higher dimensional space: cells of a new node are lifted along a “resolution axis” and welded on floor at the node boundary

Page 143: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

143SSD99 Tutorial

...Data structures...

...Hypertriangulation...

Data structure based on topological information (global adjacency)

topology is maintained explicitly efficient support of queries requiring navigation of domain interactive mesh editing high storage cost no interference information selective refinement super-linear and possible only for some

accuracy conditions

Page 144: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

144SSD99 Tutorial

Discussion

Taxonomy

Modeling issues: adaptivity and data distribution expressive power shape of triangles storage

Processing issues: selective refinement progressive transmission navigation geometric queries construction

Page 145: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

145SSD99 Tutorial

...Discussion...

Adaptivity and data distribution Adaptivity: possibility to increase LOD only where necessary Data distribution: irregular distribution vs regular grid

More adaptive, more general

Less adaptive, less general

MT, HyT

PM

Adaptive hierarchical triangulations

Quaternary triangulations

Quadtree, hierarchy of right triangles

Page 146: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

146SSD99 Tutorial

...Discussion...

Expressive power Number of different meshes that can be extracted Possibility to adapt a mesh to arbitrary LOD Ratio accuracy/size

More expressive, higher ratio

Less expressive, lower ratio

Explicit MT

PM, Implicit MT

HyT

Quaternary triangulations

Hierarchy of right triangles, quadtree,restricted quadtree,

Adaptive hierarchical triangulations

Page 147: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

147SSD99 Tutorial

...Discussion...

Shape Regions with regular shape are desirable Slivers cause numerical errors, and unpleasant visual effects

More regular

Less regular

Quadtree, restricted quadtree, hierarchy of right triangles

Quaternary triangulation

HyT, MT

PM

Adaptive hierarchical triangulations

Page 148: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

148SSD99 Tutorial

...Discussion...

Storage Compact data structures are desirable Increasing complexity: geometry, connectivity, interference,

topology

More expensive

Less expensive

Adaptive hierarchical triangulations

HyT

Explicit MT, vertex hierarchies

Implicit MT

Linear sequences (linear PM)

Quadtree, quaternary triangulation, hierarchy of right triangles

Page 149: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

149SSD99 Tutorial

...Discussion...

Selective refinement High efficiency is desirable

More efficient

Less efficient

Explicit MT

Hierarchy of right triangles

PM vertex hierarchies

Implicit MT

HyT

Quaternary triangulation, restricted quadtree

Linear sequences (linear PM)

Page 150: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

150SSD99 Tutorial

...Discussion...

Progressive transmission Compact coding and fast decompression at client are relevant

More efficient

Less efficient

Quadtree, hierarchy of right triangles

Linear PM

Implicit MT, PM vertex hierarchies

Other linear sequences

Explicit MT

Restricted quadtree, quaternary triangulation

Page 151: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

151SSD99 Tutorial

...Discussion...

Navigation Ability to move across surface and through LOD

More efficient

Less efficient

Quadtree, hierarchy of right triangles

Restricted quadtree, quaternary

Adaptive hierarchical triangulation

HyT

Explicit MT

Implicit MT, PM vertex hierarchies

Linear sequences

Page 152: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

152SSD99 Tutorial

...Discussion...

Geometric queries Point location, windowing, segment intersection, ray shooting,

clipping, etc… Bounded width and logarithmic height are relevant

More efficient

Less efficient

Quadtree, hierarchy of right triangles

Restricted quadtree, quaternary

Adaptive hierarchical triangulation

Explicit MT

HyT

Implicit MT, PM vertex hierarchies

Linear sequences

Page 153: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

153SSD99 Tutorial

...Discussion...

Construction Lower time complexity of construction algorithm is desirable Easy-to-code algorithms are desirable

More complex, more difficult

Less complex, less difficult

Adaptive hierarchical triangulations

HyT

MT, PM vertex hierarchies

Linear sequences (linear PM)

Quaternary triangulation

Quadtree, hierarchy of right triangles

Page 154: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

154SSD99 Tutorial

Multiresolution Terrain Models

Applications

Page 155: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

155SSD99 Tutorial

Applications of Multiresolution Terrain Models

Terrain visualization in GUI for GIS, landscape assessment,

flight simulation and virtual reality

Standard viewing and editing tasks: windowing, zooming,

panning, buffering, etc.

Contour map extraction

Viewshed computation

Watershed computation

Track profiling

Page 156: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

156SSD99 Tutorial

TINs at variable resolution

MT manager DISKMT

raw data points

extraction parameters

MT builder

MT clients

MT viewer

. . . .

MT updates

. . . .

VARIANT(Variable Resolution Interactive Analysis

of Terrain)A system for analyzing, querying and visualizing terrain models at

variable resolution based on the MT

System Architecture

Page 157: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

157SSD99 Tutorial

...VARIANT...

VARIANT architecture consists of:

MT Manager: layer of operations built on top of the MT library

to perform update, query, and I/O operations on MT models

MT Builders: algorithms to build an MT from raw data (two

refinement and four simplification strategies)

MT Clients: application programs that make use of variable

resolution features to perform various operations:

VARIANT implements a number of MT clients, such as a

multiresolution viewer

VARIANT is extensible through custom clients that can be

designed through the MT API

Page 158: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

158SSD99 Tutorial

...VARIANT...

Multiresolution visualization

Terrain is extracted with: accuracy decreasing linearly with distance from the viewpoint

region of interest coincident with the view frustum

Page 159: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

159SSD99 Tutorial

...VARIANT...

...Multiresolution visualization...

Uniform resolution:

12701 triangles

Variable resolution:

3065 triangles

Page 160: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

160SSD99 Tutorial

...VARIANT...

Contour map extraction

Focus set is made of one or more horizontal planes at desired

elevations

Threshold function is constant at the desired accuracy

Only triangles intersecting the focus set are extracted, and

contour lines are computed for each triangle

Page 161: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

161SSD99 Tutorial

...VARIANT...

Track profiling

Extraction of terrain profile along a track (road, river, ridge, etc…)

Focus set is a track on the 2D domain

Threshold function is constant at the desired accuracy

Page 162: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

162SSD99 Tutorial

...VARIANT...

Windowing

Focus set is a rectangular window on the 2D domain

Threshold function is constant at the desired accuracy

Page 163: 1 SSD99 Tutorial Multiresolution in Terrain Modeling Leila De Floriani, Enrico Puppo University of Genova Genova (Italy)

163SSD99 Tutorial

...VARIANT...

Buffering

Focus set is buffer region on the 2D domain

Threshold function is constant at the desired accuracy inside

buffer