Geoscience Information Systems Modul–Code GeoData BA Nr. 041

Transcription

Geoscience Information Systems Modul–Code GeoData BA Nr. 041
Tessellation
Geoscience Information Systems
Modul–Code GeoData BA Nr. 041
c
2012
Helmut Schaeben
Geomathematics and Geoinformatics
TU Bergakademie Freiberg, Germany
TUBAF Winter Term 2012/13
Contents
1
Introduction
2
Voronoi Tessellation
3
Delaunay Tessellation
4
Constrained Delaunay Triangulation
5
Triangulation in 3d Space
Tessellation
Introduction
In computer aided geometric design – “computational geometry” –
the term tessellation refers to any method to construct a partition
of a polyhedral n–dimensional object into a set of adjacent
polyhedral n–cells.
Voronoi Tessellation (1)
Dirichlet–Voronoi–Thiessen tessellation
Let P = {p1 , . . . , pm } be a set of m distinct points in the
n–dimensional Euclidean space Rn . The Voronoi polyhedra V (pi )
associated to pi ∈ P is defined as the n–cell of Rn consisting of all
points x ∈ Rn that are closer to pi than to any other point of P,
i.e.
V (pi ) = {x ∈ Rn | d(pi , x) < d(pj , x) ∀j 6= i}
(1)
Voronoi Tessellation (2)
Voronoi Tessellation (3)
Let P = {p1 , . . . , pm } be a set of m distinct points in the
n–dimensional Euclidean space Rn , and let V(P) denote its
Voronoi tessellation, i.e. the union of its Voronoi polyhedra.
The points pij , j = 1, . . . , J, the Voronoi cells Vij of which share a
common edge with the Voronoi cell Vi associated with the point pi
are called canonical (“natural”) or strong Voronoi neighbours of
the point pi .
The Voronoi tessellation is a grid where the number of vertices of
each Voronoi polyhedra is not constant. In terms of data models or
data structures, the Voronoi polyhedra require a list of vertices of
variable length.
Voronoi Tessellation (4)
Voronoi Tessellation (5)
Properties
Each Voronoi cell is convex.
A Voronoi cell V (pi ) is an unbounded part of Rn if and only if pi
is an element of the convex hull of P.
The Voronoi tessellation V(P) is a finite cellular partition of Rn .
Geometrically it can be interpreted
as the projection of the intersection of cones with their tip at
the given points, or
as the result of continuous buffering of points to disks.
Properties (cont.)
If q is the node of the Voronoi graph located at the junction of
(n + 1) Voronoi cells V (p0 ), . . . , V (pn ), then q is the centre of the
circumsphere S(p0 , . . . , pn ), and this circumsphere does not
contain any other point of P.
For n = 2, the common node q of three Voronoi cells
V (p0 ), . . . , V (p2 ), is the center of the circumsphere S(p0 , . . . , p2 ),
and this circumsphere does not contain any other point of P.
Voronoi Tessellation and Spatial Interpolation
Voronoi Tessellation, Piecewise Constant Interpolation (1)
The Voronoi tessellation assigns to each point
pi ∈ P, i = 1, . . . , m, its 2d Voronoi cell Vi ⊂ D ⊂ R2 , the
elements of which are closer to pi than to any other point of P.
Interpolation over Voronoi Polygons
2d Piecewise constant interpolation
The m Voronoi cells constitute a Voronoi tessellation,
Dirichlet–partition, Thiessen–partition, Voronoi–tiling, etc. of the
domain D.
2d Natural neighbour interpolation
Voronoi Tessellation, Piecewise Constant Interpolation (2)
A value (scalar, vector, ...) fi is assigned to each point pi .
Let (pi , fi ), i = 1, . . . , m, denote a data set, and V(P) the Voronoi
tessellation of the distinct data sites P = {p1 , . . . , pm }.
If fi is assigned to each x ∈ Vi , then the result is piecewise
constant interpolation over the domain
fˆ(x) =
m
X
i=1
1Vi (x) fi with 1Vi (x) =
1
0
if x ∈ Vi
otherwise
Voronoi Tessellation, Natural Neighbour Interpolation (1)
Let x ∈ Rn be any arbitrary point, and V (x) its Voronoi
polyhedron with respect to the set P ∪ {x}.
,
(2)
where the interpolant is obviously discontinuous over the edges of
the Voronoi cells.
Let pi(x) ∈ P, i = 1, . . . , n(x), denote the strong Voronoi
neighbours of x and V (pi(x) ) their Voronoi polyhedra with respect
to V(P).
Voronoi Tessellation, Natural Neighbour Interpolation (2)
Voronoi Tessellation, Natural Neighbour Interpolation (3)
Natural neighbour coordinates Ni (x) are defined asthe ratio of the
area of the “second order” Voronoi polyhedra, area V (pi(x) ) , and
the area of the “first order” Voronoi polyhedra, area V (x) , i.e.
area V (pi(x) )
Ni (x) =
area V (x)
(3)
Then, natural neighbour interpolation is defined as
fˆ(x) =
n(x)
X
Ni (x)fi
(4)
i=1
Voronoi Tessellation, Natural Neighbour Interpolation (4)
Graphs (1)
Properties of natural neighbour interpolation:
A graph G = (V , E ) is the pair of a finite set of abstract vertices
V = {v1 , . . . , vI } and a finite set of abstract edges
E = {e1 , . . . , eJ } connecting some of the vertices.
Orthonormality
A graph is called simple, if
Ni (pj ) = δij
there is at most one edge between any two vertices,
all the edges are undirected, and
there are no loops in the graph.
Isoparametric
n(x)
x=
X
Ni (x)x
i=1
Ni (x) is continuously differentiable for all x = pj .
A simple graph can be identified with a symmetric I × I adjacency
matrix AV describing which vertices of the graph are connected
by an edge, i.e. for i, i 0 = 1, . . . , I ,
(
1, if i 6= i 0 and the vertices vi and vi 0 are connected by an edge in
i,i 0
[AV ] =
0, otherwise.
Graphs (2)
Graphs and Polyhedra, Topology and Geometry
An alternative but equivalent representation of a graph is its I × J
incidence matrix IVE , which describes which vertices belongs to
which edges, i.e. for i = 1, . . . , I , and j = 1, . . . , J,
(
1, if vi is a vertex of the edge ej ,
i,j
[IVE ] =
0, otherwise.
The topological relationships between the vertices vi , i = 1, . . . , I ,
edges ej , j = 1, . . . , J, and faces fk , k = 1, . . . , K , of a polyhedron
can be represented by incidence matrices, i.e. by the matrices
(
1, if vi is a vertex of edge ej
[IVE ]i,j =
0, otherwise,
Since every edge connects two vertices, every column of IVE
contains exactly twice the value 1.
and
Furthermore, we have the following relationship to the adjacency
matrix AV of the graph
(
T ]i,j , if i 6= j,
[IVE IVE
i,j
[AV ] =
0,
if i = j,
[IEF ]
j,k
(
1,
=
0,
if ej is edge of the face fk
otherwise.
With these notations it is straight forward to compute the
incidence matrix between vertices and faces of a polyhedron,
(
1, if vi is a vertex of the face fk
[IVF ]ik = [IVE IEF ]i,k =
.
0, otherwise.
T denotes the transposed of the incidence matrix I
where IVE
VE .
Graphs and Voronoi Partition (1)
Graphs and Voronoi Partition (2)
Since each Voronoi cell is a polyhedron, the topological structure
of a Voronoi decomposition D` , ` = 1, . . . , L, can be described in
terms of incidence matrices.
Let vi , i = 1, . . . , I , be the vertices, ej , j = 1, . . . , J, the edges, and
fk , k = 1, . . . , K , the faces of the Voronoi cells.
Then the topological structure of the Voronoi cells is described by
incidence matrices
IVE ∈ RI ×J – describing which vertices belong to which edge,
IEF ∈ RJ×K – describing which edges belong to which face,
IFD ∈ RK ×L – describing which faces belong to which
Voronoi cell.
Two Voronoi cells are called adjacent if they have a common face.
Hence, the L × L adjacency matrix AD of the Voronoi cells is given
by
(
T I
`,`0 , if ` 6= `0 ,
[IFD
0
FD ]
[AD ]`,` =
0,
if ` = `0 .
Notion of a Dual Graph
The dual of an n–dimensional graph Gn is an n–dimensional graph
Gn∗ such that each i–cell C ∈ Gn is associated with one and only
one (n − i)–cell C ∗ ∈ Gn∗ , and conversely.
Delaunay Tessellation, Delaunay Triangulation
Delaunay Tessellation (1)
Delaunay Tessellation (2)
The dual V ∗ (P) of the Voronoi tessellation V(P) is the Delaunay
tessellation (“triangulation”) D(P).
The Delaunay tessellation is a grid where the number of vertices of
each Delaunay cell is constant n + 1.
In terms of data models or data structures, the Delaunay cells
require a list of vertices of constant length, if the basic spatial
objects are the triangles.
Delaunay Triangulation (3)
Delaunay Triangulation (4)
Data structure 1:
The triangles are the basic spatial objects. They are defined by
their vertices. Topology is provided by their three neighbouring
triangles. A second table provides the geometry by the coordinates
of the vertices.
Data structure 2, exploiting the duality with respect to the
Voronoi tessellation:
The vertices are the basic spatial objects. Each vertex is linked by
a pointer to a table containg its strong Voronoi neigbours,
arranged in a convenient order, e.g. (counter)clockwise. A string of
vertices connected to their common strong Voronoi neighbour is
terminated by a 0.
Delaunay Triangulation (5)
Delaunay Triangulation (6)
Properties
The (Delaunay) triangulation T of a set of points P, which is dual
to the Voronoi tessellation, i.e. where strong Voronoi neighbours
are linked to form edges of triangles, has some distinguished
properties, which can be turned constructive.
The boundary of the Delaunay tessellation D(P) is the convex hull
of the point set P.
The Delaunay tessellation D(P) is a finite cellular partition of the
interior of the convex hull of the point set P.
In R2 , the Delaunay tessellation is the triangulation of the interior
of the convex hull of the point set P which maximizes the smallest
angle of each triangle.
Delaunay Triangulation (7)
Constructive Delaunay Triangulation (1)
Let d > 0 be an arbitrary dimension and let v1 , . . . , vI ∈ Rd be a
finite set of vertices. Then its convex hull conv(v1 . . . , vI ) ⊂ Rd is
defined as the set
(
)
I
I
X
X
conv(v1 . . . , vI ) = v =
λi vi | λi > 0 and
λi = 1
i=1
i=1
Given is a set P of m pairwise distinct non–collinear points
pi = p(xi , yi ), i = 1, . . . , m.
A triangulation T of the set P is a set of triples of points
(pi , pj , pk ) such that
each triple defines a non–degenerated triangle,
which can be interpreted as the smallest convex set enclosing
v1 , . . . , vI .
each triangle does not contain any other point p` ∈ P,
In the special case that the convex hull conv(v1 . . . , vI ) is
two–dimensional it is called polygon, if it is three–dimensional it is
called polyhedron. The boundary of a polyhedron consists of
polygons called faces and the boundary of polygons consists of
edges.
the union of all triangles is the convex hull of the set P.
Constructive Delaunay Triangulation (2)
A triangulation of a given set P of points is not unique, however
Euler found that
N = 2m − nR − 2
K
= 3m − nR − 3
m−2 ≤ N
2m − 3 ≤ K
≤ 2m − 5
≤ 3m − 6
where N is the total number of triangles, K is the total number of
edges, nR is the total number of points on the boundary of the
convex hull.
the intersection of the interior of two triangles is empty,
Thus, any triangulation provides a partition of the convex hull of
the set of points pi into triangles.
Constructive Delaunay Triangulation: Criteria (1)
A unique triangulation requires an additional modeling
assumptions, or the choice of a criteria for selection.
Such criteria are initially given for the triangulation of a strictly
convex quadrangle. All criteria aim at a triangulation in triangles
as uniform (equi–lateral, equi–angular) as possible given the
geometrical configuration of the set P.
In this way, triangles with very small or very large angles should be
avoided.
Such criteria can be formulated as an optimization problem: either
maximize the smallest angle of all triangles (max–min criterion), or
minimize the largest angle of all triangles (min–max criterion).
Constructive Delaunay Triangulation: Criteria (2)
Constructive Delaunay Triangulation: Criteria (3)
Constraints of triangulation
triangulation such that the smallest of the six angles of the
two triangles is as large as possible (max–min: Delaunay)
triangulation such that the largest of the six angles of the two
triangles is as small as possible (min–max)
triangulation according to the shortest diagonal in each
strictly convex quadrangle,
triangulation according to the longest diagonal in each strictly
convex quadrangle,
...
a tessellation made up of n dimensional simplices, whose
vertices consist of a set P of points, is the Delaunay
tessellation, if the circumsphere of any n–simplex T contains
no other points of P than the vertices of T .
Constructive Delaunay Triangulation: Local Optimality
The circumcircle is the unique circle that passes through each of
the triangles three vertices. The center O of the circumcircle is the
point of intersection of the three perpendicular bisectors.
Constructive Delaunay Triangulation: Global Optimality
A triangulation is called locally optimum, if each strictly convex
quadrangle is triangulated optimally with respect to the chosen
criterion.
Then the triangulation T1 is called superior (“better”) with respect
to the measure a than the triangulation T2 , if a(T1 ) > a(T2 ).
To define and decide constructively, if a triangulation is globally
optimal, a measure is required to compare several triangulations
which are all locally optimum with respect to the chosen criterion.
Here, > denotes the lexicographical order: for two vectors a, b the
implication of a < b is that there exists a number m ≤ N such
that ai = bi , i = 1, . . . , m − 1 and am < bm .
Let a(T ), T ∈ T , denote a measure for the shape of the triangle
T of a triangulation T . The the vector
A triangulation T ∗ of a given point set P is globally optimum with
respect to a given measure a, if a(T ∗ ) ≥ a(T ) for all triangulations
T of P, i.e. if there is no triangulation with a lexicographically
larger vector.
a(T ) = (a1 , . . . , aN ), ai = a(Ti ), Ti ∈ T , i = 1, . . . , N
is associated to the triangulation T , the components of which are
the values a(Ti ), Ti ∈ T , which are ordered with increasing
magnitude, e.g. each entry denotes the smallest of the three angles
of the triangles ordered increasingly.
All these definitions are sensible as the total number of possible
triangulations of a finite set of points is finite.
Constructive Delaunay Triangulation: Local vs. global
optimality (1)
Constructive Delaunay Triangulation: Local vs. global
optimality (2)
Every (globally) optimum triangulation is locally optimal, too. The
inverse is generally not true.
For the triangulation according to the max–min criterion, the
inverse is true! No other criterion seems to be known for which it is
also true.
Counterexample with respect to the min–max criterion
Let a(T ) denote the largest of the three angles of a triangle T ,
and let a(T ) = max{1/a(T ), T ∈ T }; if for the two triangulations
T1 , T2 of a strictly convex quadrangle a(T1 ) > a(T2 ) holds, then T1
is the superior (“better”) triangulation.
Constructive Delaunay Triangulation: Local vs. global
optimality (3)
The figure shows that local optimality with respect to the
min–max criterion does not imply global optimality with respect to
the min–max criterion.
Constructive Delaunay Triangulation
The triangulation dual to the Voronoi tessellation is locally
optimum with respect to the max–min criterion. It is also globally
optimum with respect to the max–min criterion.
This triangulation is usually called Delaunay triangulation. It is
characterized by the fact that local optimality implies global
optimality.
This distinctive property can ba employed for the design of efficient
algorithms, which initially start to successively triangulate each
strictly convex quadrangle (locally) optimally, and lead eventually
to a globally optimum triangulation without any additional
provision.
Three basic types of algorithms can be distinguished, which are ...
Constructive Delaunay Triangulation, Algorithms
Lineare interpolation over triangles (1)
The neighbourhood relation of a 2d interpolation / approximation
over triangles is actually provided by the triangulation itself.
Typ A: For a given triangulation, each strictly convex
quadrangle is checked if it satisfies the max–min criterion; if it
does not, the diagonal is “swapped”.
The weights of linear interpolation over triangles are determined by
the ratios of areas as follows
Typ B: The triangulation is initialized with three points
constituting a triangle of the triangulation. Then points are
successively added, and any strcictly convex quadrangle being
built is triangulated according to the max–min criterion. The
actual triangulation is always locally optimal.
The barycentric coordinates (u, v , w ) of an arbitrary point
p ∈ T = [pn1 , pn2 , pn3 ] ⊂ R2 with global coordinates (x, y ) are
given by
Typ C: Initially, the domain D is partitioned into subdomains.
Then these smaller subdomains are triangulated locally
optimum with respect to the max–min criterion. Eventually
the triangulations of the subdomains are joined together such
that local optimality is preserved.
u = A1 /A
Linear interpolation over triangles (2)
where

xn1
A = | det  yn1
1

x xn2

A1 = | det y yn2
1 1

xn2
yn2
1
xn3
xn1


yn3
|, A2 = | det yn1
1
1
= A2 /A
w
= A3 /A
Linear interpolation over triangles (3)

xn3
yn3  |
1

v
The barycentric coordinates sum to 1.
The barycentric coordinates of the point pn1 = p(xn1 , yn1 ) are
(1, 0, 0);


x xn3
xn1


y yn3
|, A3 = | det yn1
1 1
1
xn2
yn2
1
The point p with barycentric coordinates (0, v , 1 − v ) is an
 element of the edge pn2 , pn3 and divides it according to the ratio
x
pn2 , p : p, pn3 = 1 − v : v .
y |
1
Linear interpolation over triangles (4)
Linear interpolation over triangles (5)
Now let (xnk , ynk , fnk ), k = 1, . . . , 3, denote the attributes (data)
refering to points pnk ∈ R2 , k = 1, . . . , 3.
The determinant is calculated most efficiently according to a
variant of Cramer’s rule, which reads for A as follows
A = |(xn1 − xn2 )(yn2 − yn3 ) + (xn2 − xn3 )(yn2 − yn1 )|
and consists of two multiplications and five summations only.
An appropriate labeling of the vertices yields that all determinants
are positive.
Linear interpolation over the triangle T = [pn1 , pn2 , pn3 ] is than of
the simple form
fˆ(u, v , w ) = ufn1 + vfn2 + wfn3
or with explicit respect to the global coordinates (x, y ) of the point
x ∈ T ∈ T̃ with local barycentric coordinates (u, v , w ) with
resepct to T
fˆ(x, y ) = fˆ(u(x, y ), v (x, y ), w (x, y )) = u(x, y )fn1 +v (x, y )fn2 +w (x, y )fn3
This interpolant is piecewise linear, the first derivative is
discontinuous across the edges of any triangle.
Linear interpolation over triangles (6)
With resepct to linear interpolation over triangles the Delaunay
triangulation is characterized by a minimum roughness of the
corresponding piecewise interpolant.
Thus, this characterization of the Delaunay triangulation relates its
geometry to a property of the corresponding piecewise linear
interpolant, and it is in fact quite astonishing as the attribute
values fi = f (pi ) are not considered neither by the definition nor
the construction of the Delaunay triangulation.
Here, the measure of roughness is the squared L2 –norm of the
gradient with respect to the convex hull of the point set
Z
2
ˆ
Rf =
|∇fˆ(x, y )| d(x, y )
[P]
Constrained Delaunay Triangulation
Constrained Delaunay Triangulation (1)
For some appliations an “a priori” natural neighbourhood relation
may exit in the data set provided by the problem itself or by
additinal information not explicitly inherent in the data set
(xi , yi , fi ), i = 1, . . . , n,.
Examples are
digitized contourlines of equal elevation, where adjacent
points along a contourline are natural neighbours, or
fault lines (lines of discontinuity), where the points on either
side of the line are natural neighbours.
Constrained Delaunay Triangulation (2)
In case of digitized contour lines of equal elevation adjacent
points along one contourline are joined to form edges to be
preserved by the triangulation,
in case of the lines of discontinuity points along this line are
joined to form edges to be preserved by the triangulation.
In both cases, linear interpolation across the lines is avoided.
In these cases, the natural neighbourhood relationship should be
given priority over the neighbourhood to be constructed by any
triangulation, i.e. the natural neighbourhood relationship should be
preserved by any triangulation by way of defining edges linking
natural neighbours prior to the actual triangulation.
Constrained Delaunay Triangulation (3)
The idea of additional constraints can easily be implemented into
the Delaunay triangulation because of its distinguished feature that
local optimality implies global optimality.
The Delaunay triangulation subject to given edges is locally
optimum everywhere except for some subsets determined by the
given edges.
Therefore, this triangulation is called constrained Delaunay
triangulation.
Constrained Delaunay Triangulation (4)
Constrained Delaunay Triangulation (5)
Problem (1)
A given unknown surface S is to be recovered from data
(p` , z` ), ` = 1, . . . , n, sampled/drawn from (digitized) contour lines
Ci , i = 1, . . . , I , n I displaying a specific z−value ci .
Basic requirement
The input contour lines are adequately well reproduced by the
recovered surface Ŝ, i.e. not only pointwise
interpolation/approximation
S̃(p` ) ≈ z` , l = 1, . . . , n
(5)
but linewise interpolation/approximation
C̃i ≈ Ci , i = 1, . . . , I
(6)
is required.
Problem (2)
Problem (3)
Constraints
Suggested solution
Interpolation/approximation based on a triangulation, because
constraints necessary to ensure the preservation of contourlines can
easily be incorporated into triangulation procedures.
the triangulation should be unique and as uniform as possible
given the vertices −→
Delaunay triangulation
edges should not intersect contour lines −→
constrained Delaunay triangulation
the three vertices of any triangle should not belong to the
same contour line −→
minimum surface area triangulation
Conventional Delaunay triangulation (1)
The Delaunay triangulation T of the convex hull [p1 , . . . , pn ] ⊂ R2
of the data sites p` ∈ R2 is the triangulation which maximizes the
minimum angle of all triangles (Lawson, 1977).
Local optimization of a given triangulation with respect to the
’max-min’ criterion eventually results in the unique globally
’max-min’ optimum triangulation.
Thus, the Delaunay triangulation can be constructed by
consecutive triangulations of all strictly convex quadrangles
p`1 , . . . , p`4 according to the max-min criterion, starting with some
appropriate p1 , . . . , p4 , and then proceeding with p` , l = 5, . . . , n,
successively.
Conventional Delaunay triangulation (2)
Characterization by z− values
The Delaunay triangulation T of the data sites p` minimizes the
roughness measure of a piecewise linear interpolating surface for
any set of fixed z−values, when the roughness measure is provided
by the L2 norm squared of the gradient of the piecewise linear
surface, integrated over the triangulated domain (Rippa, 1990).
Thus, a relationship between the geometry of the Delaunay
triangulation and properties of the piecewise linear interpolating
surface defined with respect to it exists.
The Delaunay triangulation is a purely plane process in R2 ,
independent of the z-values.
Therefore, its edges may intersect given contour lines.
Constrained Delaunay triangulation (1)
Constrained Delaunay triangulation (2)
Constraining by given edges
Each pair of two immediately neighboring data sites x`1 , p`2
belonging to the same contour line Ci should constitute an edge of
some triangle.
The triangulation T ∗ honoring all given edges does not possess
edges intersecting any contour line.
If a given Delaunay triangulation T is locally changed to honour a
given edge, then it is no longer globally max-min optimal, but it is
locally max-min optimum with respect to all actually feasible
strictly convex quadrangles.
Thus, the new triangulation T ∗ is as optimum as possible with
respect to the given edges; therefore, T ∗ is referred to as
constrained Delaunay triangulation.
It is a special instance of z-value controlled triangulation of
[p1 , . . . , pn ] ⊂ R2 .
The constrained Delaunay triangulation T ∗ may include triangles
with all three vertices belonging to the same contourline. Usually,
these “flat” triangles are undesirable because they do not
correspond to features of the surface from which the sampled
contour lines originate.
Minimum surface area triangulation (1)
Let the ordered sequence of points p(ik ) , k = 1, . . . , ni , ni ≥ 3,
denote a set of immediately neighboring vertices ordered with
respect to their common contour line Ci . Thus, it represents a
compound segment of the contour line displaying ci .
Minimum surface area triangulation (2)
The tiling T ∗∗ can be represented by a rectangular search graph
(Meyers et al., 1992) with rows labeled by (p(ik ) , ci ), and columns
by (p(j` ) , cj ).
Let p(j` ) , l = 1, . . . , nj , nj ≥ 1, be analogously defined with
respect to an immediately neighboring contour line Cj displaying
cj .
A spatial triangulation (“tiling”) T ∗∗ of the set given by
(p(ik ) , ci ), (p(j` ) , cj ), k = 1, . . . , ni , l = 1, . . . , nj , with
immediately neighboring data sites on the same contour line
constituting edges
tiles having not more than two vertices on one contour line
cannot contain “flat triangles” by definition.
Such a tiling does not generally yield a plane triangulation of the
2d polygonal subdomain given by p(ik ) , p(j` ) into disjunct triangles.
Example
Minimum surface area triangulation (3)
The tiling T ∗∗ can be represented by a rectangular search graph
(Meyers et al., 1992) with rows labeled by (p(ik ) , ci ), and columns
by (p(j` ) , cj ), where
edges connecting a point of one contour line to a point of the
other contourline (“spans”) are represented by nodes in the
graph
tiles are represented by arcs between nodes in the graph, if
arcs are allowed only if
spans represented by connected nodes share an endpoint
the pair of unshared span vertices are connected by a simple
segment of one contour line
Minimum surface area triangulation (4)
Solving a shortest path problem (1)
If nj = 1, there is only one fan-like tiling; if nj > 1, different tilings
exist.
A unique tiling may be constructed by choosing the “best” of them
with respect to an appropriate criterion defined in terms of an
objective function. Here, the objective function to be minimized
is defined as the total area of all tiles.
In general, the problem of the best tiling may still be ambiguous;
however, in practical applications with real world data these
instances are rarely encountered.
When each arc in the graph is weighed by the area of the tile it
represents, the problem of constructing a minimum area tiling is
that of finding a shortest path starting from node
(p(i1 ) , ci ), (p(j1 ) , cj ) to node (p(ini ) , ci ), (p(jnj ) , cj ) through the
search graph.
Solving a shortest path problem (2)
To determine the shortest path to successive nodes the lengths of
only two alternative paths have to be checked, and the shorter one
has to be encoded and assigned as an attribute to this node while
the other one is discarded. By discarding the unfavorable of two
alternative paths the amount of the graph that must be searched
to get to a specific node is considerably reduced.
Eventually, reading the augmented graph backwards from
(p(in1 ) , z1 ), (p(jn2 ) , z2 ) to (p(i1 ) , z1 ), (p(j1 ) , z2 ) reveals the shortest
path.
First, the weight of each arc of the graph is calculated as the area
of the spatial triangle it represents.
Then starting with node (p(i1 ) , ci ), (p(j1 ) , cj ) the shortest path to
get to another node is determined successively row by row.
In the first row, the length of the shortest path to get to some
node (p(i1 ) , z1 ), (p(jp ) , z2 ) is just the cumulative length to get
there; the same argument applies to the first column.
Example
Example (cont.)
Example (cont.)
Example (cont.)
Summary
Constrained Delaunay triangulation of data sites in the plane is
combined with spatial minimum area triangulation of data points
to yield a completely automated method to recover surfaces
preserving their given contour lines.