Constrained Delaunay triangulation for multiresolution surface

0 downloads 0 Views 377KB Size Report
geographic data processing, computer vision, computer graphics and ... gria refinement process. Hence, we ... circle property) that the circumcircle of any of its triangles ... exist any other vertex P of T such that P is inside ... It has been shown that an arbitrary simple polygon with n vertices can be triangulated in O(n log n).
Constrained Delaunay Triangulation for Multiresolution Surface Description Leila De Floriani

Enrico Puppo

lstituto per la Matematica Applicata

-

C.N.R.

Via L.B.Alberti, 4 1 6 1 3 2 G E N O V A (Italy) Abstract

gria refinement process. Hence, we propose an algorithm capable of modifying an existing constrained DelauMy triangulation by stepwise insertion of points and lines. The algorithm has a dynamic behavior, it is easy to code, and hence, it can be used in combination with the Delaunay pyramid algorithm proposed in [ 5 ] for building a constrained Delaunay pyramid.

The problem of building a constrained Delaunay triangulation (CDT) at different levels of resolution is considered for hierarchical description of topographic surfaces. The surface is approximated at each level by a network of planar triangular faces having vertices at a subset of "surface-specific'' points, like peaks, pits or passes, and including edges which describe "surface-specific'' lines, like ridges or valleys. Each approximation is built based on a Delaunay triangulation of the data points which includes the given constraint segments. A new dynamic algorithm for constrained Delaunay triangulation is proposed, which is based on the stepwise refinement of a CDT by the incremental insertion of points and constraint segments. 1.

2 . Constrained DelaUMy Triangulation: Definitions,

Properties

A triangulation of a set of points is a straight-line maximally connected planar graph, whose vertices are the given set of points and whose edges do not intersect except at their endpoints. The Delaunay triangulation of V is a triangulation with the further property (called the circle property) that the circumcircle of any of its triangles does not contain any other point in its interior [9]. A natural extension of the standard Delaunay triangulation is obtained by allowing the input data to be both points and non-intersecting line segments.

Introduction

Surface modeling is an important issue in geographic data processing, computer vision, computer graphics and computer aided design. The problem of reconstructing a functional surface defined by a set of points and lines is considered here for a specific application to digital surface modeling.

Given a set V of points in the plane and a set L of non-intersecting line segments having vertices at points of V, two vertices pi and P, in V are said to be mutually visible if there does not exist any 1 in L which intersects the straight-line segment joining Pi and P . We call visibilit graph of G the pair G, = (V,,&) such that Vv = and Ev={ (P~,P.) 1 pi, P. in V, and pi and Pj are mutually visible wrt set ) (i.e., any edge in E, joins a pair of mutually visible points with respect to all line segments in L). Then a triangulation of 41 constrained & 4 is defined as a graph T(G) = (Vt,Et) where Vt=V and Et is a maximal subset of E, U L such that L c Et and no two edges of Et intersect except at their endpoints.

In [ 5 ] a hierarchical model, called a Delaunay pyramid, has been proposed which consists of a sequence of piecewise linear approximations based on a Delaunay triangulation of the projections of subsets of data points. Although a Delaunay pyramid provides a good compression mechanism based on an accuracy measure, it must be extended to represent linear surface features, like ridges or valleys, which are important to characterize the shape of the surface. A Delaunay triangulation of a set V of points which embeds a set L of straight-line segments (which represent linear features) is called a constrained Delaunay triangulation of V and L. Here we consider the problem of computing such a triangulation; the definition of constrained Delaunay triangulation is introduced together with a formulation of its basic properties.

f

2

Given V and L, for each point Pi in V, we denote by Wi the set of vertices of v which are visible from Pi wrt L. A constrained Delaunay triangulation (CDT) T(V,L)=(VT,ET) of V wrt L is a constrained triangulation of V wrt L in which the circumcircle of each triangle t =t(PiP,Pk) of T does not contain in its interior any other vertex P of T such that P i n Wi W, wk. Figure 1 shows the CDT of a set of points V constrained by the a set L of lines. The segments in L are denoted by continuous lines, whereas the other edges of T are indicated by dashed lines.

Constrained Delaunay triangulation algorithms proposed in the literature are very difficult to implement and them require that all the points and the constraint segments be specified at the beginning of the computation. Any algorithm that computes a multiresolution surface model, like the Delaunay pyramid, must be based on an incremental

We may extend the properties of a standard Delaunay

566

CH2614-6/88/0000/0566$01.000 1988 IEEE ~~

~

Algorithms

triangulation of the domain, insertion of a point, insertion of a straight-line segment. An initial triangulation of the domain can be obtained by triangulating the convex hull C of the set V (which can be computed in O(n log n) time [91). In the following two subsections, we present algorithms for point and straight-line segment insertion in a CDT. Basic theoretical results which prove the correctness of such algorithms are introduced: their proofs are omitted for brevity

triangulation [4] to a CDT with some modifications due to the visibility constraints defined by the segments in L. Given any two triangles tl and t2 of a CDT T, adjacent along an edge e not belonging to L, which form a convex quadrilateral Q, the swapping of e with the opposite diagonal of Q does not increase the minimum of the six internal angles of the resulting triangulation of Q (max-min angle property). However, if the repeated application of the max-min angle property to the edges of any given constrained triangulation T(V,L) does not cause any edge swapping, then T is a CDT. Any edge of a constrained triangulation which satisfies the above property is said to be locally optimal [ 8 ] . An alternative characterization of a CDT is given by the c+.b nrnnprtv. A triangle t=t(PirPjrPk) in a constrained Delaunay triangulation T is a Delaunay triangle if and only if there does not exist any other vertex P of T such that P is inside the circumcircle of T and P belongs to W i n Wj I\ wk The equivalence (see the example in figure 2). between the edge optimality and the circle criterion has been proven in [3], 181.

and

161 *

l8] .

for

Insertion

5 CDT

Given a constrained Delaunay triangulation T(V,L) and a new point P, the collection Tp of the triangles t of T such that the circumcircle of t contains P and P is visible from all the vertices of t is called the influence region of point P in T. The polygon formed by the external edges of the triangljs in Tp (i.e., the edges not shared by two triangles in Tp) is called the influence polygon of P in T which is denoted Qp. The following results can be proven [6]: Lemma 3.1 The insertion of a new point in a CDT T modifies a triangle t of T if and only if t is in TP. Lemma 3.2 The influence polygon Qp of a point P is -star shaped wrt P (i.e., P can be connected to each vertex of QP by a straight-line segment internal to

The problem of building a constrained triangulation has been first considered for the special case of an arbitrary triangulation of a simple polygon. It has been shown that an arbitrary simple polygon with n vertices can be triangulated in O(n log n) and asymptotically optimal algorithms have been proposed in [7], [l], In [8] Lee and Lin describe a static O(n ) algorithm for the general CDT problem, which computes the visibility .graph G~ of V and then eliminates those edges in % which are not Delaunay edges. In [2] Chew describes an O(n log n) CDT algorithm based on the recursive partition of the set of points and lines into vertical strips. In [lo] Wang and Schubert present an O(n log n) CDT algorithm based on the computation of the dual of the constrained Delaunay triangulation, called bounded Voronoi diagram. Although asymptotically optimal, the previous two algorithms are complex and hard to implement. Furthermore, both algorithms require the advance specification of all data points and constraint segments. 3. & Incremental Algorithm Delaunay Triangulation

Point

3.1

Qp)

*

Lemma 3 . 3 --

The vertices of any triangle of Tp belong to QP. Theorem 3.1 Let T'(V',L), V'=V U (PI be the CDT Let ovtained from T(V,L) by the insertion of P. T p be the triangulation of the polygon of influence Qp of point P obtained by connecting P with the vertices of Qpr then T' = TIp U T - Tp. A pseudo-Pascal description of the point insertion algorithm is given below. The following procedures and functions are used to manipulate Qp: INITIALIZE, FIRST, NEXT, INSERT and REPLACE. The remaining primitives operate on the data structure encoding the CDT. The names of the functions and procedures used as primitives in the algorithm description are self explanatory.

Constrained

Algorithm INSERT-POINT(T,P); //T is a CDT, P a point to be added to T // INITIALIZE(Qp); // Qp is the insertion polygon of point P // t