You are on page 1of 612

GEOMODELING

APPLIED GEOSTATISTICS SERIES


General Editor
Andre G. Journel

Jean-Laurent Mallet, Geomodeling


Pierre Goovaerts, Geostatistics for Natural Resources Evaluation
Clayton V. Deutsch and Andre G. Journel, GSLIB: Geostatistical Software
Library and User's Guide, Second Edition
Edward H. Isaak and R. Mohan Srivastava, An Introduction to Applied
Geostatistics
GEOMODELING

Jean-Laurent Mallet

OXFORD
UNIVERSITY PRESS

2002
OXPORD
UNIVERSITY PRESS
Oxford New York
Athens Auckland Bangkok Bogotd Buenos Aires Cape Town
Chennai Dar es Salaam Delhi Florence Hong Kong Istanbul Karachi
Kolkata Kuala Lumpur Madrid Melbourne Mexico City Mumbai Nairobi
Paris S5o Paulo Shanghai Singapore Taipei Tokyo Toronto Warsaw
and associated companies in
Berlin Ibadan

Copyright 2002 by Oxford University Press, Inc.


Published by Oxford University Press, Inc.
198 Madison Avenue, New York, New York 10016
Oxford is a registered trademark of Oxford University Press.
All rights reserved. No part of this publication may be reproduced,
stored in a retrieval system, or transmitted, in any form or by any means,
electronic, mechanical, photocopying, recording, or otherwise,
without the prior permission of Oxford University Press.

Library of Congress Cataloging-in-Publication Data


Mallet, Jean Laurent.
Geomodeling / Jean-Laurent Mallet.
p. cm.
Includes bibliographical references and index.
ISBN 0-19-514460-0
1. GeologyComputer simulation. 2. Computer-aided design. I. Title.
QE48.8.M34 2001
550'.1'13dc21 00-047894

gOcad is a trade mark of the Association Scientifique pour la Geologic et ses Applications.

9 8 7 6 5 4 3 2 1
Printed in the United States of America
on acid-free paper
Preface

During the 1980s, it became clear that, in spite of their success in modeling simple
surfaces, classic automatic mapping systems would never be able to model complex
geological surfaces and, more generally, complex geological volumes affected by se-
vere tectonic events with overturned folds, salt domes, and reverse faults. At the
same time, experience using traditional Computer-Aided Design software developed
for the car industry brought out its inability to accommodate the complex data
encountered in the geosciences.
For this reason, within the framework of the gOcad research project, in 1989 I
proposed a completely different strategy involving the discrete modeling of natural
objects. In this discrete approach, the geometry of any object is defined by a finite
set of nodes (points) in the 3D space, while its topology is modeled by links bridging
these nodes.
For example, if the object to be modeled is composed of surfaces, then the
links can be arranged in such a way that the mesh so defined generates triangular
facets. These facets can be interpolated locally by flat triangles or, if need be, by
curvilinear triangles. It is not difficult to imagine how this strategy can be extended
to the modeling of curves and volumes.
In practice, such a discrete approach is of no interest without a powerful math-
ematical tool able to interpolate the location (x, y, z) of the nodes defining the
geometry of the objects in the 3D space. For this reason, I proposed a new method,
called Discrete Smooth Interpolation (DSI), which today is at the heart of the gOcad
research project. This new interpolation method was specially designed for model-
ing natural objects, while taking into account a wide range of complex and more or
less precise data.
In fact, adopting a new mathematical core for a Computer-Aided Design system
has huge consequences that render inadequate most of the existing tools developed
for traditional systems. The new research fields thus opened up resulted in the
launching of the gOcad research project in the fall of 1989.
After more than a decade of research, the tools developed within the framework
of the gOcad project are now well honed and widely used in the oil and gas industry
for modeling complex geological structures in the subsurface. At the same time,
some exciting applications have come to light in very different fields such as, for
example, medicine, anthropology, and the environmental sciences.
This book presents some of the more important methods that have constituted
the backbone of the gOcad project from its early days to the present.

v
VI

Acknowledgments
I am pleased to acknowledge the many companies and universities around the world
that have supported and actively participated in the gOcad project. GOcad was,
and still is, a tremendous adventure, not only for me, but also for all the brave
"gocadians" who have agreed to accompany me in this exciting research. There is
no doubt that gOcad would never have become so popular if it were not for the
enthusiastic and outstanding contribution of the students and senior researchers
around the world who decided to participate in this adventure; without further ado,
I want to thank them collectively for the great work they have done.
My particular thanks go to all those who generously helped me in the prepa-
ration and reviewing of this book, including Yves Bertrand, Amy Cheng, Richard
Cognot, Joel Conraud, Stephane Conreaux, Jean-Claude Dulac, Pierre Goovaerts,
Andre Haas, Andre Journel, Bruno Levy, Pascal Lienhardt, Heather Ludden, John
Ludden, Olivier Mariez, Isabelle Moretti, Jarek Rossignac, Jean-Jacques Royer,
Arben Shtuka, Chuck Sword.
I am also grateful to all the many friends around the world who provided useful
critiques in the preparation of this manuscript. Thanks also go to the companies
Chevron, Elf, T-Surf and Unocal who provided data used for building some models
of the subsurface that illustrate this book. Finally, I must acknowledge the ASGA
organization who agreed to manage the day to day administration of the gOcad
project from the very beginning to the present. I would like also to thank the Kluwer
Publishing Company for the written permission to use and reproduce in this book
some of my text and figures previously published in the Journal of Mathematical
Geology (articles [150] and [151]). Finally, I express my deepest thanks to Oxford
University Press which has agreed to publish this book.
These acknowledgments would be incomplete without mentioning the essential
role played by my wife, Danielle. For the last thirty years, her agreement to accept
total responsibility for the smooth running of the family has freed me to devote
myself one-hundred percent to my research. Without her, neither gOcad nor this
book would ever have been possible.

Jean-Laurent Mallet

Jean-Laurent.Mallet@ensg.inpl-nancy.fr
Institut National Polytechnique de Lorraine
Ecole Nationale Superieure de Geologie/CRPG/Loria
Nancy, July 2001
Contents
1 Discrete Modeling for Natural Objects 1
1.1 Introduction 1
1.2 Discrete modeling 5
1.3 Interpolation 12
1.4 Examples of applications 19
1.5 Conclusions 26

2 Cellular Partitions 27
2.1 Introduction 27
2.2 Elements of topology 28
2.3 Cellular partition of an n-manifold object 36
2.4 Generalized Maps 57
2.5 Implementing GMap-based models 81
2.6 Conclusions 93

3 Tessellations 97
3.1 Introduction 97
3.2 Delaunay's tessellation 98
3.3 Non-Delaunay triangulated surfaces 109
3.4 Notion of a regular n-grid 122
3.5 Notion of an irregular n-grid 132
3.6 Implicit surfaces 134
3.7 Conclusions 137

4 Discrete Smooth Interpolation 139


4.1 Introduction 139
4.2 The DSI problem 147
4.3 Uniqueness of the DSI solution 153
4.4 The local DSI equation 160
4.5 Accounting for hard constraints 170
4.6 Accelerating the convergence 174
4.7 The fuzzy Control-Point paradigm 182
4.8 The fuzzy Control-Node paradigm 190
4.9 From a discrete to a continuous model 193
4.10 Conclusions 196

5 Elements of Differential Geometry 199


5.1 Parametric curves 199
5.2 Parametric surfaces 203

vn
vii CONTENTS

5.3 Curvature of curves drawn on a surface 211


5.4 Miscellaneous 218
5.5 Discrete modeling 226
5.6 Examples of applications to geology 233
5.7 Conclusions 244
6 Piecewise Linear Triangulated Surfaces 245
6.1 Introduction 245
6.2 Basic DSI constraints 256
6.3 Modeling a faulted surface 272
6.4 Continuity through faults 278
6.5 Global parameterization 287
6.6 Modifying the topology 305
6.7 Conclusions 315

7 Curvilinear Triangulated Surfaces 317


7.1 Introduction 317
7.2 Building a smooth curvilinear triangle 318
7.3 Gregory G1 patchwork 336
7.4 Recursive subdivisions 350
7.5 Conclusions 369

8 Elements of Structural Geology 371


8.1 Geometry of faults and horizons 371
8.2 Modeling stratified media 379
8.3 Merging seismic data with well data 390
8.4 Deformation analysis 392
8.5 Unfolding a horizon 405
8.6 Unfolding a stack of layers 418
8.7 Conclusions 441
9 Stochastic Modeling 443
9.1 Simulation versus interpolation 443
9.2 Probabilities in a nutshell 445
9.3 Random Functions 459
9.4 Random Fourier Series 474
9.5 Uniform Random Functions and P-fields 488
9.6 Stochastic simulators 492
9.7 Kriging-based methods 502
9.8 Blending-based method 519
9.9 Assessing geometric uncertainties 528
9.10 Conclusions 532

10 Discrete Smooth Partition 533


10.1 Introduction 533
10.2 The probabilistic approach 538
10.3 Structural constraints 548
10.4 Moving-Centers-based methods 559
10.5 A tutorial example 572
10.6 Conclusions 579
Index 595
Pour examiner la verite, il est besoin une fois dans sa vie de mettre
toutes choses en doute autant qu'il se pent...

... Ceux qui cherchent le droit chemin de la verite ne doivent s'occuper


d'aucun objet dont Us ne puissent avoir une certitude egale a cells des
demonstrations de I'arithmetique et de la geometric.

ffene Descartes (Discours de la methode)


This page intentionally left blank
GEOMODELING
This page intentionally left blank
Chapter

1
Discrete Modeling
for Natural Objects
This introductory chapter presents a discrete approach specially designed for
modeling the geometry and the properties of natural objects such as those
encountered in biology and geology. Contrary to classical Computer-Aided
Design methods based on continuous (polynomial) functions, the proposed
approach is based on a discretization of the objects close to the finite ele-
ment techniques used for solving partial differential equations. Each object
is modeled as a set of interconnected nodes having both the geometry and
the physical properties of the objects, and the Discrete Smooth Interpolation
method is used for fitting the geometry and the properties to complex data.
Each datum is turned into a linear constraint and some constraints related to
typical information encountered in numerical geology are presented.

1.1 Introduction
In this introduction, we would like to emphasize the need for a new breed of
Computer-Aided Design (CAD) specially dedicated to the modeling of natu-
ral objects such as those encountered in biology and geology. In a nutshell,
we could say that a user of a traditional CAD software creates nice curves,
surfaces and volumes without any constraint, while a user of a CAD software
dedicated to the modeling of natural objects has to respect constraints in-
duced by the observed data. All of these traditional CAD software programs
are based on parametric methods such as those introduced by Bezier in the
early 1970s.
The goal of the mathematicians who designed these methods (e.g., Barnhill

1
2 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.1 An example of complex data to take into account when modeling
geological horizon. (Data courtesy of Unocal)

[13]; Bezier [27]; de Boor [54, 55]; Farin [77]; . . . ) was simply to propose tools
for modeling nice curves and surfaces interactively and not to respect complex
data such as those encountered in geology. For example, if we consider the
geological horizon (=surface) shown in figure (1.1), we can say that the data
available are complex for the following reasons:
The data are heterogeneous because we have to account simultaneously
for:
the locations of the intersections of the well-curves with the surface to
be modeled (see pages 184 and 263),
the slope of the tangent plane to the surface when this slope has been
measured at the intersections of the wells with the surface (see page
267),
seismic data corresponding to cross sections of the surface (see page 264),
structural information consisting of 3D fault-throw vectors (see page
273),
geometric information specifying that the surface should respect a given
partial differential equation (see page 267), and
physical properties (seismic velocities, reflectivities,...) attached to the
surface and observed directly or indirectly at some locations (see page
256).
1.1. INTRODUCTION 3

The data are more or less reliable; for example, well data are more reli-
able than seismic data, which in turn are more reliable than structural
data.

The data are irregularly distributed and are generally strongly clustered
on lines and surfaces. In practice, this clustering generates numerical
instabilities in most of the numerical methods used for interpolating the
data.

Another major drawback with traditional CAD methods is that they are de-
signed for modeling the geometry of objects and not to take into account the
physical properties attached to these objects. In geology, there is a strong
need to model the geometry and the properties simultaneously since there are
many cases where they are linked: for example, the geometry and the seismic
velocity of geological layers are interdependent.
Mathematical methods used in traditional CAD have not been designed
for addressing such complex data and it is too optimistic to think that these
methods could be adapted to account for all of the data available, while re-
specting their complexity [148]. In fact, these methods were initially designed
for the needs of the car industry [27] and we are in search of a specific class of
mathematical modeling methods specially designed to meet the needs of the
geosciences.
The success of polynomial models used in traditional CAD [166] comes
from the fact that polynomials generate aesthetic curves and surfaces and
this is of paramount importance in the car industry [27]. However, in the
geosciences, our primary concern is more to respect the constraints induced
by the data than to produce nice-looking objects. It is generally admitted
that discretized problems are simpler to solve than those based on continuous
representations and this is why, in this chapter, we propose to abandon the
polynomial models used in traditional CAD in favor of a discrete approach
close to the "finite elements" technique used for solving partial differential
equations.
Despite the fact that they are less well known than parametric methods,
discrete modeling methods have been formulated and implemented in varying
ways for over seventy years. Examples include: Whittaker [232]; Horton [107];
Bergthorsson and Doos [21]; Weaver [227]; Arthur [9]; Harder and Desmarais
[102]; Briggs [34]; Akima [4]; Sibson [202]; Mallet [147, 149, 150]; Overveld
[170]. The goal of this chapter is to propose a generic formulation of discrete
modeling which generalizes most of these methods.
The approach presented in this chapter was specially designed for model-
ing natural objects and is potentially able to account for any series of (linear)
constraints corresponding to the influence of the data on the model. Each of
these constraints can be weighted by a "certainty factor" used for specifying
its importance relative to the other constraints. This is particularly interest-
ing in the geosciences where, due to sampling errors, it may happen that some
constraints become contradictory. For example, if the projection of two seis-
mic cross sections in the (x, y) horizontal plane meet at some point P(x, y), it
4 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.2 Examples of geomodeling applications: (A) Reconstruction of a


distorted and broken Neanderthal skull (metric scale). (B) Modeling the internal
organs of an embryo (millimetre scale). (C) Modeling the structure of "Hoes" in a
mud resulting from the treatment of wasted water (micrometric scale). (D) Modeling
geological structures (kilometric scale). (E) One more example of natural object.

is almost certain that these two seismic cross sections do not, in actual fact,
intersect in the (x,y,z) 3D space (see figure (1.1)), and it is important to be
able to weight each of them with a given certainty factor proportional to the
quality of the data.

Geomodeling: A definition
By contrast with traditional CAD methods devoted to the modeling of man-
ufactured objects and to emphasize the specific nature of the modeling of
geological objects, the following definition of the notion of geomodeling is
proposed:
Geomodeling consists of the set of all the mathematical methods
allowing to model in an unified way the topology, the geometry
and the physical properties of geological objects while taking
into account any type of data related to these objects.

In fact as illustrated in figures (1.2), (1.16), or (6.23), most of the methods


developed for modeling geological objects are also potentially applicable to
the modeling of natural objects as those encountered, for example, in biology,
medicine, paleoanthropology and environmental sciences.
This book mainly focuses on geological applications, and particular at-
tention is paid to discrete modeling methods and geostatistical methods fre-
quently used in the realm of geosciences. However, to point out the possible
1.2. DISCRETE MODELING 5

Figure 1.3 Neighborhood N(a} of node a is composed of a plus all nodes of its
orbit N(a) = {0i,02, } This figure corresponds to the special case where N(o)
is denned as the set of nodes that can be reached in at most s(a) = I step from the
node a.

use of these methods in other fields of science, a few non-geological examples


of applications will also be given.

1.2 Discrete modeling


This section presents in a general and abstract way the notion of a discrete
model, which can be used for approximating complex natural objects encoun-
tered, for example, in the geosciences.

Discrete topological model 7(f2, N)


As shown in figures (1.3) and (1.5), the main idea of a discrete model is that
the topology of any object can be approximated by a graph ^(0, N) where:
0 is the set of all the nodes of the graph, each of these nodes being
identified with its rank order:

N is an application from into a subset of such that

can be reached in at most steps from


CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.4 An example of topologically ambiguous object defined by nodes


connectivities only.

where s(a] > 0 is a given function of the node a. In practice, to minimize


the complexity of the model, we suggest choosing s(a) = I but, from
a mathematical point of view, this is absolutely not mandatory. We
assume also that the graph (Q,/V) is symmetrical and this implies
that N ( - ) is such that
0 e N(a) a JV(0)

The subset N(a) is called "neighborhood" of a and it must be noted that


TV (a) contains the node a and all its surrounding nodes (see figure (1.3)):
N(a) = {a, ft, &,...}
From a mathematical point of view [24, 15], we can say that N ( - ) defines a
discrete topology on Jl in the sense that

As suggested in figure (1.3), the "orbit" 7V(a:) of a node a is defined as the


set of nodes {/?i, 02> } different from a and belonging to N(a}:

Topological ambiguity
It is important to note that, in general, the notion of discrete topological model
defined above only approximates the topology of real objects. Figure (1.4)
gives an example that clearly shows that the nodes connectivities defined by
the neighborhood operator N(a) may have several interpretations in terms
of solid objects. In other words, the notion of discrete topological model
introduced above is topologically ambiguous: the neighborhood operator
N(a) is not sufficient to describe the topology of real objects. The whole
point of chapter (2) is precisely to provide the additional information needed
for removing such an ambiguity.
1.2. DISCRETE MODELING 7

Figure 1.5 Examples of objects approximated by discrete model: (A) Faulted


triangulated geological surface. (B) Set of adjacent tetrahedra filling a geological
layer. (C) Polygonal curves. (D) Faulted curvilinear grid filling a geological layer.

Examples of discrete topological models


Potentially, the notion of discrete topological model presented in the previous
section can be used for approximating the topology of any geological object.
For example and as suggested in figure (1.5), it is possible to model:
a geological horizon or a fault (surface) as a set of adjacent triangles
(figure (1.5)-A),
a geological body (solid) as a set of adjacent tetrahedra (figure (1.5)-B),
a geological cross section (curve) as a set of adjacent segments (figure
(1.5)-C), and
a geological layer (solid) as a regular curvilinear or rectilinear grid (fig-
ures (1.5)-D and (1.6)-B).
In these models, the vertices of the triangles, tetrahedra, and segments corre-
spond to the nodes of &(l, N), while the edges define (partly) the topology.
The introduction of a discontinuity between two adjacent nodes a and (3 is
straightforward, and, as suggested in figure (1.6), this can be achieved simply
by removing the edge (a, /?) from the network.

Notion of discrete model .M n (n,7V, (p, C)


The discrete topological model ?(i7, N) introduced in the previous sections
does not take into account the properties of the objects. As shown in figure
(1.7), such properties are modeled as a series </? of n numerical functions, called
components of (/?, defined on the set of nodes O of G(l, N):
8 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.6 Discontinuities are introduced in the graph G(Q,N) by removing


some edges from the networks (A) and (B). In the grid (B), all the edges intersected
by geological surfaces (horizons and faults) have been removed.

Figure 1.7 Vectorial function y> denned on the set 0, consisting of the nodes of
a graph g(l,N).

In practice, three components of (p(ot), noted {(px(a), ipy(a), tpz(a)}, corre-


spond to the location of the node a O in the 3D space, while the other
components correspond to physical properties.
By definition, the notion of discrete model .M n (f2, N, <f>,C) consists of a
triplet composed of Q(Q,N), the functions </?, and a set of constraints C =
{GI, 02,...} to be honored by (p:

The set of constraints C is split into three subsets C~, C = , and C>:

Each constraint c e C is assumed to be linear and to have one of the following


three general forms where {^(a)} and bc are given coefficients denning the
constraint c:
1.2. DISCRETE MODELING 9

By definition, we will say that


C~ is the set of "soft" equality constraints that have to be honored in a least
square sense,
C= is the set of "hard" equality constraints that have to be strictly honored,
and
C> is the set of "hard" inequality constraints that have to be strictly honored.
It should be noted that the notion of "soft inequality" constraint does not
make sense and is thus not defined.

Simple and cross constraints


Let us consider a constraint c E C^:

Depending on the nature of the coefficients {A"(a)} associated with c, we will


say that c is either a "simple" constraint or a "cross" constraint:
If the coefficients {^(a)} are such that

then c will be called a "simple" constraint. As you can see, a simple


constraint involves only one component tpVc of </?, and we have:

If the coefficients {A"(a}} are such that

then c will be called a "cross" constraint. The name "cross" constraint


comes from the fact that any such constraint involves, and thus links,
at least two different components c^"1 and (p1"2 of (p.
10 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Examples of constraints
In practice, the coefficients {^(CK)} and bc are determined as functions of the
available data; for example:
If If we want ^(OLQ) to be equal to a given value $}0 >atthen nodethisa
data can easily be turned into a constraint c 6 C~ or c G C= such that

In figure (1.1), this constraint can be used for specifying that the coor-
dinates ((/?X(Q:O), (py(oto), (pz(oio)} of a node ao of the surface should be
equal to the coordinates of the intersection of the well with the surface.
For more details on such a constraint, see page 164.
If we want the gradient of (fP to be equal to a given value A77 (ceo ,0:1)
between two nodes (ao,a:i), then this implies that
p"(ao) - >"(ai) = A"(a 0 ,ai)
and this information can easily be turned into a constraint c 6 C~ or
c e C= such that

In figures (1.1) and (1.6)-A, this constraint can be used to specify that
the coordinates (px(a0), tpy(a0), ipz(o>0)) and (px(ai), (py(ai), ipz(ai})
of two nodes located on both sides of a fault should be equal to a given
throw vector (Ax(ao,ai), Ay(a0,ai), A^o^cei))- For more details on
a generalization of such a constraint, see page 258.
To constrain the point {(f>x(UQ), (py (aQ}, (pz(ao)} to be located on a given
plane P(p, ri) containing the point p = (px,py ,pz) and orthogonal to the
vector n = (nx,ny,nz), we should have
(

and this relationship can easily be turned into a constraint c G C~ or


c G C~ such that

It is important to note that, contrary to the two previous constraints,


this constraint is a "cross" constraint merging several components of (p.
1.2. DISCRETE MODELING 11

In figure (1.1), this constraint can be used for specifying that a node ao
should be located in a given tangent plane. For more details on such a
constraint, see page 265.
If {v?1(a0), V^^o), -, <^n(o!o)} represent the respective probabilities for
the node a0 to belong to geological facies {Fl,F2,..., Fn}, then we
should have n.

and this relationship can easily be turned into a constraint c e C~ or


c G C~ such that

Moreover, each probability <^"(a;o) must belong to the range [0,1] and
this corresponds to two additional constraints CQ G C > and c\ G C >
defined by

In this case, the total number of constraints attached to the node Q.Q is
then (In + 1). For more details on the use and implementation of such
constraints, see page 540.
Let |f2| be the number of elements of the set Jl. If we want to specify
that the average value of a function </?" over 7 is equal to a given value
</?", then we should have

and this relationship can easily be turned into a constraint c G C~ or


c G C= such that

For more details on such a constraint, see page 548.


If (p11 is the pressure of water (or oil) in a given layer, then ^ has to re-
spect the diffusion equation. Such an equation can always be discretized
with a finite difference or finite element method (Aziz and Settari [10])
12 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

based on (/(), JV) in such a way that this equation reduces to a linear
constraint c (E C

where the coefficients {^(a)} and bc depend only the permeability (pp
and the geometry ((px, (py ,(pz) of the model.
As you can see, the adopted formulation is very general and, for any elemen-
tary data, it is necessary to look for a linear operator translating the influence
of this data on (p. Most of the time, the constraints are actually linear relative
to the values {<p(a) '. a G 0}, but there are some cases where we are faced
with nonlinear constraints; for example, for a given component (pv of </? to
have a given variance cr^,, the fact that the corresponding constraint is not
linear can be verified. When a constraint is not linear, it is always possible to
use the Taylor series expansion formula for linearizing it (see section (4.4.5))
relative to the values {(p(a) : a G 7} in the neighborhood of a given initial
solution </?[o]

Pseudo-continuity
By definition [24, 15], a function </? defined on a metric space X is said to be
continuous at XQ 6 X if the following condition is satisfied:

More generally, if (X,O(X)) is a topological space (see section (2.2.2)), then


a function (p defined on X is said to be continuous at XQ X if the following
condition is satisfied:

In the above expression, N(XQ,) is a neighborhood of XQ whose size depends


on , and the family N(X) of all the neighborhoods for all e and all XQ G X
defines the family O(X] of the "open subsets" of the topology on X (see
section (2.2.3)).
By analogy, this last expression suggests that, on our discrete topological
model C?(fJ, N ) , we should try to define "pseudo-continuous" functions (p such
that

In other words, (p should vary "smoothly" on N(a). In the following sections,


an interpolation method is presented allowing a "roughness" criterion to be
minimized while respecting all the linear constraints c G C.

1.3 Interpolation
In this section, we introduce the Discrete Smooth Interpolation Method (DSI)
which has been designed specifically for interpolating the function (p of a
discrete model M.n(l, N, </?,), while respecting all the constraints c G C. In
INTE INTERPOLATION 13

Figure 1.8 Local roughness R(ip x) of spline curve <p(x) at node x is proportional
to square of length of segment |v?(x) <f>(x)\.

contrast to chapter (4) of this book which focuses on mathematical aspects of


this method, here we are mainly interested in showing that this method is in
fact very simple and can be easily understood.
For simplicity's sake, in this section we will consider only soft constraints
c G C~ plus a limited subset CL of C^ defined later (see equation (1.8)).
For a complete presentation, we refer to section (4.5), which allows the hard
constraints c (E C= and c 6 > to be taken into account.

Introduction
As suggested in figure (1.8), let us consider a scalar continuous function (p
defined on the segment 17 = [1, M] and let 17 be the set of nodes corresponding
to the regular sampling of 17 with a step equal to 1:

In figure (1.8), the nodes a 17 correspond to the white points, while the
black points correspond to some given data points {, (p(l) : I L} to be
interpolated and associated with a given subset L of 17. For this purpose, a
classic method [55, 76] consists in looking for a spline function ip minimizing
the "global roughness" R((p] such that

In this expression, [i(x) > 0 is a given local "stiffness" function (that can be
taken, for example, constant equal to 1), while R((p\x) can be interpreted as
a measure of the "local roughness" of (p at point x 17. If we let
14 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

then, as suggested in figure (1.8), we can verify that a finite difference ap-
proximation of d?(p/dx2 is such that

If we neglect the side effects1 that occur at node a = 1 and a = M, then, for
any a e fJ, we can thus write2

then we can say that R((p) is an approximation of the global roughness R((p):

We conclude that minimizing R((p] or R((p) gives approximately equivalent


results; this conclusion is at the origin of the Discrete Smooth Interpolation
method [147, 149] presented in the next sections and in chapter (4).

Discrete Smooth Interpolation


For simplicity's sake, let us consider a discrete model A/(1(O, TV, </?, C). In
this case, (p has only one component so that no distinction will be made in
this section between (p and its unique component <pl. Let L and I be two
complementary subsets of f2 such that

The set L is called the set of "Control-Nodes" and is associated with a par-
ticular subset3 CL of the set of hard constraints C=:

Tje aim is to compute the values in such a way that


lr
This side effect does not exist if we assume that (p is periodic and has a period equal
to n.
2
Note that N(a) represents the neighborhood of a while JV(a) represents its orbit (see
page 5.
3
Note that L, and thus CL may be empty.
1.3. INTERPOLATION15 15

the resulting function </? be "as smooth as possible" on C/(f7, TV),


the "control values" {</?() : G I/} be strictly honored, and
each of the constraints4 c 6 C~ be respected "as much as possible."
For this purpose, we propose to measure the local roughness R((p a] of (p in
the neighborhood of each node a G 0 and the degree of violation p(p\c) of
each constraint c 6 C~ by (p as follows:

In this definition of the local roughness jR(<^|o;), the {v(a, /3)}'s are arbitrarily
given coefficients (e.g., see page 149) and the Discrete Smooth Interpolation
method (DSI) proposes to look for a function ip minimizing the following
"generalized roughness" criterion R*((p}:

In this criterion:
(i(a) > 0 is a given positive "stiffness" function modulating the importance
of the local roughness R(<p\a) at node a,
{tac} are positive "certainty factors" weighting the importance of constraints
relative to each other, and
(0 TJJ) is a term to be determined to balance the order of magnitude of
N wc p ( f \ c ) relative to N V>(oi) R((p\a).
esc- aen
It can be shown (see section (4.3)) that the solution (p minimizing R*(<p}
always exists and is unique if the following very general conditions are re-
spected:
1) L is not empty

2)

3)

It is important to note that these conditions are sufficient to ensure the exis-
tence and the uniqueness of the solution </?, but they are not necessary. Inci-
dentally, the conditions (1.9)-2 are honored by the coefficients {v(a,P}} pro-
posed in the introduction in connection with the spline interpolation method.
4
For simplicity's sake, we will not take into account other hard constraints contained in
the set C.
16 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Remarks
There is a wide variety of possible choices for the coefficients {v(a,(3)}
respecting the conditions (1.9)-2 presented in the previous section. Ob-
viously, the solution </? depends on these choices and, from this point of
view, the DSI method appears as a "generic" method able to produce
different styles of solutions.
In section (4.2.2), we present several possible choices for the coefficients
{v(a, /?)}, and the most simple choice corresponds to the so-called "har-
monic weightings" producing solutions "a la spline" and such that

In this expression, \N(a) represents the number of elements in the


orbit 7V(o;) and, in the case where C?(Q,7V") is a polygonal curve, the
coefficients {v(a, (3)} are the same ones encountered in the introduction.
It is also important to mention that the coefficients {v(a, (3)} can be used
for modeling non-constant anisotropies. In this case, the magnitude of
each coefficient v(a, (3) has to be modulated as a function of the location
of the node f3 6 0 relative to the location of the node a 6 fi. For
example, if we choose v(a,{3i) and v(a, fa) in such a way that we have

then the solution (p will be smoother in the direction (a, @i) than in the
direction (a, fa).

The DSI solution


Let (/?/ be a column matrix of size /| whose components correspond to the
unknown values {<p(i) : i /}:

As suggested in figure (1.9), the generalized global roughness criterion R*(^>)


is a positive quadratic function of the |/| variables { ( p ( i i ) , ( p ( i 2 ) , . . . , <f>(i\i\)},
and this function can be represented by a paraboloid in the R' '+1 space. The
solution (p of the DSI problem corresponds to the minimum of R*(<p), which
is characterized by the following conditions of optimality:

It can be shown (see section (4.4)) that this solution is achieved if, for each
a G /, the following condition, called the "local DSI equation," is honored:
1.3. INTERPOLATION 17

Figure 1.9 Generalized global roughness R*((p) is a quadratic function of


{ ?(!), y ? ( 2 ) , . . . , y>(M)}. At each iteration of the DSI algorithm, a subset (pi of
the components of the function (p is updated in such a way that this generalized
global roughness decreases.

In this equation:
G(o) and g(ci) are terms (see equation (4.47)) induced by the minimization
of the roughness at node a,
r(a) and 7(0;) are terms (see equation (4.48)) induced by the minimization
of the degree of violation of the constraints attached to node a, and
(</>?) is the term (see page 145) determined to balance the global contribution
of the constraints relative to the global roughness.
The local DSI equation presented above suggests using the following iterative
algorithm for determining the DSI solution (p:
/I- DSI algorithm
let / be the set of nodes where tp(a) is unknown
let (p be a given initial approximated solution
while ( more iterations are needed )

This algorithm is proven to be convergent (see section (4.4.3)) whatever the


initial solution and, of course, converges toward the unique solution when the
conditions ensuring the uniqueness of the DSI solution are honored.
We will see in section (4.5) that taking into account hard constraints c G C~
and c 6 C> implies a slight modification in the main loop of this algorithm.
18 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Generalization of the DSI method


In practical applications, the function (p of the discrete model Ai n (0, TV, <^, C]
may have several components interacting through "cross" constraints (see
page 9). Thus the simplified version of the DSI method presented in the
previous section has to be extended somewhat to take into account the mul-
ticomponent case where:

The multicomponent problem can be solved with generalized local DSI equa-
tions identical in form to the one obtained in the case where (p has only one
component. As will be seen later on, a slight change in the notations used in
the definition of the local roughness criterion R((f>\a] together with the degree
of violation of the constraints p(f\c) suffices:

In the above definition of the roughness R(y>\a), rv is a given positive weight-


ing coefficient allowing the contribution of the function <>"() to the local
roughness R((p\ot) to be modulated. If the functions {^{-)} have approxi-
mately the same magnitude, then it is possible, for example, to choose all the
coefficients {r"} equal to 1.
The equation allowing the value (pv(oi) in the iterative DSI algorithm to
be updated remains almost unchanged in its form (see equation (4.46)) and
becomes:

The only noticeable difference in the monocomponent case is a slight modifi-


cation of the term Tv(a\(f>) in the case of cross constraints involving several
components of (p (see page 163). When there is no such cross constraint at-
tached to the node a, then the above formulas are absolutely identical to the
ones in the monocomponent case.

Implementation of the DSI method


In spite of its apparent complexity, the local DSI equation is very simple to
program and the very heart of the iterative algorithm introduced on page 17
can be implemented in about 30 lines of source code. The real programming
difficulty comes from the discrete model .A/ln(O, N, <p,C), which has to be
implemented to
optimize the access to the neighborhoods N(a) and the values <p"(oi) used by
the DSI equation, and
take into account its "self-consistency" when modifications occur in Q, AT(-),
</?, or C.
1.4. EXAMPLES OF APPLICATIONS 19

Figure 1.10 Each point Pi is assumed to hold data 4>(Pi) which are projected
onto the triangulated surface in direction A(Pi) specific to Pi. Data 4>(Pi) are
transformed into constraints affecting the nodes corresponding to the vertices of the
triangle hit by A(Pi). If the direction A(Pi) is changed, then a different triangle is
hit and the constraints have to be updated.

Implementing a totally general algorithm that takes into account these two
items may result in a large complex software with more than 100 thousand
lines of source code playing the role of a server for the 30 lines corresponding
to the DSI algorithm. Such heavy machinery is not always necessary and its
presentation is beyond the scope of this book.
A look at figure (1.10) gives an idea of the nature of the problem: this
figure represents a triangulated surface and a set of data points {Pi, P
where each point Pi is assumed to hold data 0(P;) that are projected onto the
triangulated surface in a direction A(P^) specific to Pi. The data tf>(Pi) are
transformed into constraints affecting the nodes corresponding to the vertices
of the triangle hit by A(Pj). As a result of this situation:
If the direction A(Pi) is changed, then a different triangle is hit and the
associated constraint c (E C has to be updated.
If the density of the nodes in a region of the model is changed to obtain
a better numerical approximation, then the set fi and the neighborhoods
{N(a) : a G Q} are changed and it is necessary to update all the constraints
c G C in order to take into account these global modifications.
The implementation may be even more complex if, at each DSI iteration,
the direction of projection A(Pj) is optimized automatically to hit the closest
point of the surface.

1.4 Examples of applications


Applications of discrete models and Discrete Smooth Interpolation introduced
in this chapter are numerous, and the choice of a specific example is difficult.
20 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.11 Modeling salt dome with DSI: (A) initial model and data. (B) final
model. (Data courtesy of T-Surf)

Figure 1.12 Modeling seismic velocities in a parallelepipedic volume of the


subsurface. The volume is filled by a rectilinear 3D grid cut by geological horizons
and faults. Variations of the velocities stored in the grid are represented by varying
degrees of shading (EAEG-overthrust model [6]).

In this section, we present some examples of particularly interesting applica-


tions in the realm of subsurface and natural object modeling.

Interpolation problems
The most straightforward and frequent use of DSI is in interpolating problems
related to the geometry and properties of natural objects. As an example of
this kind of application, figures (1.11) and (1.12) show two discrete models
corresponding to the modeling of geological structures:
1.4. EXAMPLES OF APPLICATIONS 21

The first example presented in figure (1.11) is related to the modeling


of the geometry of a salt dome. In figure (l.ll)-A, there are about 100
data points Pi, which are assumed to be located on the surface to be
constructed. As suggested in figure (1.10), each of these data points
is projected onto the surface according to a specific direction A(P;),
hitting a triangle Ti(ctQ, &i, a2] at a point P*. It is possible to define a
linear constraint c c(i) on the nodes (ao, &i, &%), specifying that Pi
should be coincident with P*. The modeling process is split into three
steps:
1. First, an initial discrete model .A/f n (f2, JV, <, C), consisting of a rectan-
gular triangulated surface, is created in the neighborhood of the data
points {Pi}.
2. Each data point Pi is projected onto the closest point of this initial
surface and is transformed into a constraint c c(i) G C applied to the
components (<px, ipy, <f>z) that corresponds to the location of the nodes
of the surface.
3. The DSI algorithm is applied. After convergence if necessary, to give
more flexibility to the surface, the triangles with the distance d(Pi,P*)
bigger than a given threshold can be split before returning to item (2)
above. Moreover, as suggested in figure (1.10), between two iterations
of the DSI algorithm, it is also possible to optimize the directions of
projection A(Pj).
After some iterations of this modeling process, we obtain the model
represented in figure (l.ll)-B.
The second example presented in figure (1.12) corresponds to the mod-
eling of a seismic velocity in a parallelepipedic volume of the subsurface.
This volume is filled by a regular rectilinear 3D grid having 200 steps
in the ^-direction, 200 steps in the y-direction and 100 steps in the z-
direction. This grid is assumed to be cut by some horizons and listric
faults and the velocities (j)v(Pi} are known at about 150 points {Pi}
irregularly distributed in the volume. Each data point {Pi,(j)v(Pi}} is
transformed into a constraint specifying that the velocity (f>v(a,o) of the
closest node ao should be equal to the given value 0 v (Pj). The varia-
tions of the velocities, restricted to one layer, are shaded on the faces of
the parallelepipedic volume shown in figure (1.12). As you can see, all
the discontinuities corresponding to the intersections of the grid with
the horizons and faults have been strictly honored. However, it should
be noted that, if necessary, partial continuity can be maintained across
these surfaces by keeping a few connections at random between nodes
located on both sides; in this case, the density of the connections to be
retained could be modeled as a property of the surfaces.
The third example presented in figure (1.13) is a very simple tutorial
example showing the behavior of the DSI interpolation when modeling
a closed polygonal curve controlled by four Control-Nodes displayed as
small cubes. It can be shown that the resulting discrete curve fits a
perfect circle if the two following conditions are respected:
22 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.13 Modeling a closed curve with DSL (A) Control-Nodes (small
cubes) are installed at the 4 corners of the curve representing a square. (B) After
applying DSI, the initial square gets transformed into a circle. (C) A node is moved
interactively and next fixed by a new Control-Node. (D) After applying DSI once
again, the curve gets smooth.

1. The four Control-Nodes are located at the vertices of a square.


2. The number of free nodes between two Control-Nodes is constant.

In all of these three examples, the DSI method was used with coefficients
{v(a, j3}} corresponding to the "harmonic weightings" presented in a previous
section, and the stiffness function //(a) was chosen constant equal to 1. The
number of iterations was taken as equal to 10.

Image processing
The example presented in figure (1.14) is completely different from the pre-
vious ones and corresponds to a "backward DSI" used for "sharpening" the
contrast of the values of a parameter <p attached to the nodes of the discrete
model. For this purpose, we propose to proceed as follows:
1. Make a copy </?o of (p:

2. Remove any soft equality constraint attached to (/?o-


3. Apply a small number of DSI iterations to tpo (e.g., three iterations).
4. A sharpening of the (p contrasts is obtained as follows, where a is assumed to
be a given positive coefficient to be chosen as a function of the intensity of
the sharpening we are looking for:
1.4. EXAMPLES OF APPLICATIONS 23

Figure 1.14 Sharpening the contrasts of the variations of a seismic amplitude


in a 3D seismic cube with a backward DSI method.

In practice, not to amplify any "white noise," it may be wise to smooth (f>
slightly before applying the backward DSI. To this end, for example, having
removed the constraints, a small number of DSI iterations can be applied.
As seen in figure (1.14), in spite of its simplicity, this algorithm based on
DSI produces very interesting results.

Tomography
As shown in figure (1.15), let us consider a parallelepipedic region V of the
3D space partitioned into a series of adjacent hexahedric cells {C(a} : a 6 il}
and let A/11(S7,7V, </?,C) be the discrete model defined as follows:
Q is the set of all the centers of the cells.
N(a) is such that (3 G N(a) if the cells C(a) and C(/3) share a common face.
(p(oi) is an unknown physical property attached to the cell C(a) centered on
the node a and assumed to be constant on C(a).
C is a set of constraints to be respected by (p.
The region V is traversed by a "ray path," which consists of a given curve r
traversing a series of cells {C(a} : a Q r } corresponding to a subset of nodes
Or such that
24 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

Figure 1.15 3D Seismic tomography: Ray path r traversing a series of cells


{C(a) : a G Or} between a shot point Sr and a receiver point Rr.

A signal travels from Sr to Rr, and the response Tr((p) to this signal ob-
served at the receiver point Rr is assumed to be given by the following linear
equation:

The ray path r and the associated response Tr((p) are assumed to be known,
and the problem consists of estimating </?(a) for each a E 7. In general, there
are many rays traversing the region of interest V, and the estimation of (p is
called "tomography." For example:
In geophysics, r is a seismic ray reflected and refracted on the geological
horizons and faults (see figure (1.15)) present in the studied volume V. In
this case, (p(oi) l/V(a) is the inverse of the seismic velocity V(a) at node
a also called "slowness," while Tr(tp) is the so-called "travel time" of the ray
r.
In medical imaging, r is a straight line corresponding to an X-ray traversing
a biological object present in the studied volume V. In this case, <p(a) is the
transparency of the cell C(ce) to X-rays, while Tr(if>) is the intensity of the 2D
X-ray image at the point hit by r in a plane orthogonal to r.
If we let c c(r] and

then the tomography equation (1.10) is equivalent to the following DSI equal-
ity constraint c = c(r, T r ):
1.4. EXAMPLES OF APPLICATIONS 25

Figure 1.16 3D Medical tomography with DSI: Imaging some vessels of a human
brain from six 2D X-ray views corresponding to six different directions of X-rays in
the 3D space (contrary to seismic rays, X-ray paths are rectilinear).

Figure (1.16) gives an example of the 3D variations of (p obtained with DSI


in the case of the imaging of the vessels of a human brain. In this example,
each cell was traversed by six rays corresponding to 2D X-ray images taken in
six different directions. Experimental results have shown that this approach
is, at least, as efficient as classical methods (see [124, 125]). Similar results
could be obtained in geological applications.

Deconvolution
Let A/(1(O, TV, y?, C] be a discrete model defined as follows:
SI is the set of the nodes of a regular ra-dimensional grid.
N(a) is such that /3 N(a) if a and (3 are two adjacent nodes of the grid.
<p(i) is an unknown physical property attached to the node a.
C is a set of constraints to be respected by <p.
There are many problems in physics where one can obtain some information
on the unknown function (p through a convolution equation with the following
form

where:
(a 0 ft.) is the node of the grid, if any, which can be reached from a when
taking a step equal to ft.
H is a given set of steps on the grid.
QH is the subset of SI such that
26 CHAPTER 1. DISCRETE MODELING FOR NATURAL OBJECTS

wa(h) is a given function denned on H. It should be noted that, if necessary,


wa(h) can also depend on a G fi.
tl>(a) is a given function defined on Q#.
For each node a e Q#, we would like to define a DSI constraint c = c(a, w, H, T/J)
on (p specifying that the convolution equation (1.11) should be respected.
For this purpose, let us define the coefficients Ac(j3) and bc as follows:

It is easy to check that, for each node a E fi#, we have:

This is a classic linear equality constraint, which can easily be taken into
account by DSI.
Among the most traditional applications of deconvolution in seismic pro-
cessing, we can mention the reconstitution of the seismic impedance5 <p(oi) as
a function of the seismic amplitude i^(ot) observed at the nodes of a regular
3D grid similar to the one shown in figure (1.14). In this case, the set H
corresponds to a vertical window, while the function wa(h) is a "wavelet"
corresponding to the seismic signal.

1.5 Conclusions
The few examples presented above represent only a very small part of the
wide scope of applications that can be addressed using the DSI method in
association with the notion of a discrete model. A large part of this book
is dedicated to an extensive presentation of the mathematics and the appli-
cations of DSI. Before diving into elaborate mathematical concepts, the few
examples above have already provided an understanding of the crux of this
method. To sum up, DSI uses two ingredients:
DSI applies the old "divide and conquer" principle: any global complex
problem is split into a series of small localized linear problems that are in
turn transformed into DSI constraints.
DSI uses a "minimum energy" principle to link, as smoothly as possible,
the small localized problems: this corresponds to the minimization of the DSI
roughness, whose only role is to ensure the existence and uniqueness of the
solution (see section (4.3)).
The real secret of the efficiency and the simplicity of DSI is to be found by
combining these two principles.
5
In seismic processing, "seismic impedance" is defined as the product <p(a) of the seismic
velocity V(a) by the density p(a) of the subsurface:
Chapter

2
Cellular Partitions
The notion of discrete model introduced in the previous chapter relies strongly
on a decomposition of objects into a finite set of connected nodes. However,
as pointed out in figure (1.4), such nodes connectivities are not sufficient to
describe without ambiguity the topology of these objects. In this chapter, we
will see how cellular partitions can achieve this goal in a completely general
way, whatever the object (manifold/non-manifold) or the dimension of the
embedding space (ID, 2D, ..., nD).

2.1 Introduction
It is well known that complex biological objects, also called organs, consist
of sets of adjacent "biological 3D cells," which are structured to respect the
external and internal boundaries of these objects. It can be observed that
from a mathematical point of view, each 3D cell is in fact an element of volume
which can be transformed into a 3D ball, continuously, and
each 3D cell holds attributes consisting of information attached, for example,
to its genes.
Similarly, as shown in figures (2.1), (2.35), (3.17), and (3.23), the subsur-
face can be decomposed into "geological 3D cells" having attributes (physical
properties) and bounded by geological horizons and faults. As suggested in
figure (2.2), the same approach can be used to decompose a geological cross
section or a geological map into 2D cells (which can be transformed into a 2D
ball, continuously).
Over the past decade, this cellular paradigm has been used by several
computers scientists as a template for modeling the topology of complex ob-
jects (e.g., see [35, 37, 66, 67, 68, 134, 181]). A complete presentation of the

27
28 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.1 An example showing a partition of the subsurface into 3D regions


(cells) bounded by horizons and faults (surfaces).

notion of cellular model could provide the subject of a whole book. More
modestly, in this chapter, we present without any proof the main concepts
and properties of cellular models based on the notion of "Generalized-Maps"
also called "GMaps" initially introduced in geometric modeling by Lienhardt
[134, 137, 138].
It is fair to mention that a concept similar and equivalent to GMaps, called
"Cell-Tuple-Structure," was independently proposed by Brisson [35, 36, 37].
It is also important to note that Computational Topology is a very active field
of research and many similar or different approaches have been proposed in
the past few years for modeling the topology of complex objects. For example,
one can mention the pioneering work of Weiler [228] and also the recent works
of Rossignac [179, 180, 182, 183, 184, 185]. and Levy [132].
This chapter is divided into four main sections:
The first section introduces the main concepts of mathematical topology.
The second section presents the notion of cellular partition.
Then, the notion of GMaps, an algebraic framework used to model cellular
partitions, is presented.
Last, a short presentation of how GMaps can be used to implement a cellu-
lar model within the framework of a Computer-Aided modeling software is
proposed.

2.2 Elements of topology


Topology is a branch of modern mathematics introduced by Poincare in a
series of pioneering articles [174, 175, 176] published around 1900 to study
the properties of objects that are preserved through deformations without
tearing or ripping. In this section, the basic definitions and notations used in
the following sections to build a consistent representation of complex objects
are introduced.
2.2. ELEMENTS OF TOPOLOGY 29

Figure 2.2 An example of geological cross section partitioned into 2D regions


(cells) bounded by the traces of horizons and faults.

2.2.1 Point set topology in ]Rn


The introduction of this chapter clearly shows the central role played by "cells"
in the definition of a cellular topological model. From a mathematical point
of view, such cells are introduced on page 37 as subsets that have the same
shape as open balls defined in this section.

Open and closed balls


Let n be a positive integer and let 11 11 be the Euclidean norm defined on Mn.
By definition:
An open n-ball, or more simply, an open ball in Mn with center XQ
o
and radius p > 0 consists of the set B(XQ) of points x 6 JRn located at
a distance always shorter than p from XQ:

A A closed n-ball in lRn with center XQ and radius p > 0 consists of th


set B(XQ) of points x G Mn located at a distance always shorter or
equal to p from XQ:

An n-sphere in IRn with center XQ and radius p > 0 consists of the set
8B(xo) of points x G JRn located at a distance strictly equal to p from
30 CHAPTER 2. CELLULAR PARTITIONS

It is obvious that

We will say that

In the particular case where n = 0, by convention, one defines:

Examples of n-balls are shown on the left-hand side of figure (2.5).

Open and closed sets


Let A be a subset belonging to Mn. We will say that
o
A is an open set if, for each x e A, there is an open ball B(x) fully
contained in A:

The family O(lRn) of all the open sets of ]Rn verifies the following prop-
erties:

01 : IRn and 0 are open sets.


02 : Any union of open sets is an open set.
03 : Any finite intersection of open sets is an open set.

A is a closed set if it is the complement of an open set:

The family ]C(Mn) of all the closed sets of Mn verifies the following
properties:

/Ci : Mn and 0 are closed sets.


K.2 ' Any finite union of closed sets is a closed set.
/Ca : Any intersection of closed sets is a closed set.

In particular, a set consisting of one isolated point is a closed set.


2.2. ELEMENTS OF TOPOLOGY 31

Figure 2.3 An example of a set A of 1R2, its interior A, its closure A, and its
boundary dA.

Closure, interior, and boundary of a set


Let A be a subset belonging to JRn:
o
The interior A of A is defined as the union of all the open sets contained
in A:

o
In other words, A is the biggest open set contained in A.

The closure A of A is defined as the intersection of all the closed sets


containing A:

In other words, A is the smallest closed set containing A.

The boundary dA of A is defined as the difference between its closure


and its interior:

It is possible to check (see [24]) that


32 CHAPTER 2. CELLULAR PARTITIONS

Example
o
For instance, one can check that the set A shown in figure (2.3) and defined
by

is an open set of M2. However, if one of the strict inequalities, say x < b
is replaced by x < 6, then the corresponding set A is no longer an open set
and is not a closed set: this is due to the fact that no open ball with center
(6, (d + c)/2), which belongs to the set A, can be contained in A.

2.2.2 Generalization to non-Euclidean spaces


The notion of topological space [24, 105, 158] defined in this section general-
izes to any set E the topological notions presented in the previous section in
the particular case where E = lRn. Moreover, the notion of "neighborhood,"
which is the key element used to define the important notion of "homeomor-
phism," (see page 34) is introduced.

Definitions 1: Notion of topological space


Let E be a set and let O(E] be a family of parts of E verifying the following
properties:
O\ : the set E and the empty set 0 belong to O(E}\
O-2 : any union of elements of O(E) is an element of O(E};
Os : any finite intersection of elements of O(E) is an element of O(E);
By definition:
The pair (E, O(E)) is called a "topological space."
Any element of E is called a "point" of E.
Any element of O(E) is called an "open subset" of E.
Any part of E that is the complement of an open subset of E is called a
"closed subset" of E. Both E and 0 are closed subsets.
Moreover:
o
The interior A of a subset A of E is defined as the union of all the open subsets
contained in A.
The closure A of a subset A of E is denned as the intersection of all the closed
subsets of E containing A.
_ o
The boundary dA of a subset A of E is denned as the difference (A A)

Definition 2: Notion of neighborhood


Let (E,O(E}} be a given topological space. For any point x of E, we call
"neighborhood" of x any open subset N(x) of E containing the point x:
2.2. ELEMENTS OF TOPOLOGY 33

It can be observed that this notion of neighborhood generalizes to topological


spaces the notion of open n-ball denned for the Euclidean space lRn. In the
following, for the sake of consistency lRn will be associated implicitly with the
topological space (Mn,O(lRn}} where O(lRn}} is the family of all the open
subsets of Mn.

2.2.3 Transformation (or mapping)


From an intuitive standpoint, topology can be viewed as the science of ob-
jects made of plasticine whose geometry can change continuously (without
any tearing) while preserving the global shape. Such transformations called
"homeomorphisms" or "topological transformations," which play a central
role in this chapter, are introduced in this section.

Definition
Let (E, O(E}} and (F, O(F}} be two topological spaces and let D be a subset
of E. A rule T that associates an element y E F with every element x e D is
said to be a "transformation" or a "mapping" from E to F with domain D:

The image T(D) of D by T is denned by

By definition, T is "one-to-one" if, to any point y 6 T(D), there is only one


corresponding point x in D:

Moreover, in the case where T is one-to-one, there is an inverse transformation


noted as T-1 and defined by

In other words, we have:

Continuity: The case of Euclidean spaces


Let T be a transformation from D C ]Rn to JRm. By definition, we will say
that
T is continuous at x G D if, for any given e > 0, there exists a 6(e) > 0 such
that

T is continuous on D if it is continuous for any point x G D.


In other words, T is continuous at x if points arbitrarily close to y = T(x) are
images of points sufficiently close to x.
34 CHAPTER 2. CELLULAR PARTITIONS

Continuity: The general case


The definition of the notion of continuity introduced above is extended as
follows to any pair of topological spaces (E, O(E}} and (F, O(F}}:
Let T be a transformation from D C E to F. By definition:
T is continuous at x G D if, for any neighborhood N(T(x)) of T(x) G F, there
exists a neighborhood N(x) of x E such that

T is continuous on D if it is continuous for any point x E D.


It can be shown (see [24, 141]) that
o
T is continuous on D if, and only if, the inverse image T~ (A) of any open
o
subset AG T(D) is an open subset of D.
T is continuous on D if, and only if, the inverse image T~l(A) of any closed
subset A G T(D) is a closed subset of D.

Homeomorphism
If a transformation T from D C E to F is continuous and one-to-one, then
T"1 exists. If, moreover, T~l is also continuous, then T is said to be a
"homeomorphism" and the sets D and T(D) are said to be "homeomorphic"
or "topologically equivalent."
It can be observed that, if T is a homeomorphism, then

where M(x) and A/"(y) are the families of the neighborhoods of x and y,
respectively.

Local topological dimension of a set


Let (E,O(E)) be a topological space. The local topological dimension d(x)
o
of a subset A of E is defined at any point x 6^4 as the largest nonnegative
integer n such that there is, at least, one neighborhood N(x) of x such that
N(x] H A is homeomorphic to an open n-ball:

For example, in the case where A is a subset of E = 7R3:


if A reduces to a single point x, then d(x) = 0;
o
if A is a curve, then d(x) = I for any point x A',
o
if A is a surface, then d(x) = 2 for any point x A]
o
if A is a volume, then d(x) 3 for any point x EA-
Note that the local dimension d(x) can be undefined if no neighborhood of
o
x GA can be found homeomorphic to an open ball (e.g., see figure (2.4)-B).
2.2. ELEMENTS OF TOPOLOGY 35

2.2.4 Objects
The cellular paradigm presented in the introduction of this chapter relies
on an analogy with "biological objects." It should be noted that the skin
of any biological object belongs to this object; this is at the origin of the
mathematical definition of the notion of object proposed in this section.

Manifold and non-manifold objects


Let (E, O(E}) be a topological space such that, for any pair of distinct points
x\ and #2 of E, there exists neighborhoods N(XI) and N(x^) such that1
N(XI] n N(x2] = 0. In such a case, by definition we will say that a subset A
of E is an object embedded in E if A is closed:

Moreover, we will say that


An object A is "n-manifold" or, more simply, "manifold," if its local
dimension can be defined, it is constant and it is equal to n for any
o
point x A'-

In such a case, n is called the "dimension" of A:

Conversely, an object A is said to be "non-manifold" if its local dimen-


o o
sion is not constant on A or cannot be defined in some parts of A'-

Examples of manifold and non-manifold objects


Figures (2.6), and (2.12) give some examples of 2-manifold objects embedded
in E = JR3, while examples of non-manifold objects are shown in figure (2.4).
As a tutorial, figures (2.4)-A and (2.4)-B are used to explain why the object
A consisting of three rectangles of 7R3 sharing a common edge2 C constitutes
o
a non-manifold object. For this purpose, for any point x GA, let us define
o
Bp(x] as being the intersection of A with an open 3-ball centered on x:

With such a definition of Bp(x}, one can observe that


^uch a topological space is called a "Hausdorff" space; for example, E = ]Rn is a
Hausdorff space.
2
Such an edge is called a "radial edge" [228]
36 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.4 Gallery of non-manifold objects embedded in 1R3: non-manifold


topology occurs at bold points and bold lines. In part A, the points X i , X2 and xz
have a local dimension equal to 2. In part (B), non-manifold topology arises at an
internal point x where the topological dimension is undefined.

o
In figure (2.4)-A, any point x GA not located on the common edge C has a
local dimension equal to 2 because it is always possible to find a sufficiently
small positive value of p such that Bp(x) is homeomorphic to an open 2-ball.
Consequently, A is a manifold object only if the local dimension of points
located on C is also equal to 2.
o
In figure (2.4)-B, any point x A located on the common edge C has an
undefined local dimension because, for any x C, Bp(x] is not homeomorphic
to an open 2-ball.
As a consequence, it must be concluded that the object A consisting of three
rectangles sharing a common edge is a non-manifold object. Similar proofs
can be given for each of the objects in the top part of figure (2.4).

2.3 Cellular partition of an n-manifold object


As shown in the previous section, the point set topology deals mainly with
infinite sets of points: this is inadequate for defining a discrete and finite3
representation of objects. In this section, it will be shown that it is possible
to decompose complex n-manifold objects into a finite number of elementary
subsets called "cells" thus opening the door to a possible implementation of
topological models in computer programs.
3
That is to say, a "computerizable" representation.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 37

Figure 2.5 n-cells embedded in 1R3 are homeomorphic to open n-balls.

2.3.1 Notion of n-cell


Definition
Let C be an open subset of JRm. By definition, we will say that C is an
"n-cell" embedded in Mm or, more simply, a "cell" if C is homeomorphic to
an open n-ball:

Examples
Figure (2.5) shows some examples of n-cells embedded in H3:
a 0-cell is an isolated point in J?3;
a 1-cell is a simply connected (i.e., in one piece) curve in JR3 whose two end
points have been removed;
38 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.6 Examples of cellular partitions of closed surfaces. Note that all these
closed surfaces are homeomorphic to a 3-dimensional sphere. It can be observed that
the Euler-Poincare Characteristic x defined on page 46 is equal to 2, whatever the
cellular partition of these closed surfaces.

a 2-cell is a simply connected (i.e., in one piece, without a hole) open surface4
in IR3 whose boundary (closed curve) has been removed, and
a 3-cell is a simply connected (i.e., in one piece, without a hole) solid in JR3
whose boundary (closed surface) has been removed.
In practice, n-cells embedded in IR3 have specific names:
aa 0-cell is called a "vertex,"
a 1-cell is called an "edge,"
a 2-cell is called a "face," and
a 3-cell is called a "solid" or a "volume."

2.3.2 Cellular partition P(A) and associated family Pn(A)


Definitions
Let A be a manifold object embedded in 7Rm:
Any family P(A) composed of a finite set of non-overlapping cells
embedded in lRm constituting a partition of A is called a "cellular
partition"5 of A if the following constraints are honored:

2) the boundary of any 1-cell of P(A]


consists of two distinct vertices.
This is also called a "patch."
5
A and P(A) are such that A -.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 39

Figure 2.7 The partition of the 2-sphere (A) into an open 2-cell and a vertex
violates the constraints (2.2) and, for this reason, does not constitute a "cellular"
partition. However, such a partition can be modified to obtain a cellular partition
(B) honoring the constraints (2.2).

Pn(A) is defined as the family of subsets of A consisting of all the n-cells


contained in P(A):

Figure (2.13) gives an example of cellular partition P(A) of an 2 dimensional


object A embedded in 1R2 and its associated family P%(A). As suggested in
figures (2.6)-A and (2.6)-C, it should be noted that, for a given object A there
is, in general, an infinite number of possible cellular partitions P(A).

Comments
1. Any partition of a manifold object is not necessarily a cellular partition.
In particular, as shown in figure (2.7)-A, the constraints (2.2) may not
be honored. However, in this case, it is always possible to modify such
a partition to obtain a cellular partition; for this purpose, as shown in
figure (2.7)-B, one simply has to split the cells violating the constraints
(2.2).
2. It should be noted that Pn(A) is not a partition of A.
3. The constraints (2.2) were introduced for the sake of consistency with
the constraint (2.10), which will be used on page 49 to define the notion
of CellView. Note that the constraint (2.10) is in turn needed to define
the notion of VertexView adjacencies (see page 53).
4. The notion of "cellular partition" as defined above is similar to the
notion of regular CW-Complex6 introduced by Whitehead [231, 142].
6
Cellular Whitehead Complex.
40 CHAPTER 2. CELLULAR PARTITIONS

Incidency and adjacency relationships


Two cells Ci and C% belonging to a cellular partition P(A) are said to be
"incident" if they "touch" each other in the following sense:

Two cells Ci and GI belonging to a cellular partition P(A] are said to be "ad-
jacent" if they are incident and if, in addition, they have the same topological
dimension:

Comment
It should be noted that, for any given cellular partition P(A), incidency and
adjacency of cells describe in fact the same topological information:
If all the adjacency relationships between the cells of P(A) are known,
then all the incidency relationships can be retrieved:

If all the incidency relationships between the cells of P(A) are known,
then all the adjacency relationships can be retrieved:

Notion of n-simplex
Let C be an n-cell of a cellular partition P(A). By definition, we say that C
is an n-simplex (relatively to P(A)) if the number of vertices of C contained
in Po(A) is equal to (n + 1).

For example, in the JR space:


a 0-simplex is a "vertex,"
aa 1-simplex is an "edge,"
a 2-simplex is a "triangle," and
aa 3-simplex is a "tetrahedron."

2.3.3 Transforming a non-manifold into a manifold


For simplicity's sake, in this book, cellular partitions are only denned for
manifold objects. In practice it should be noted, however, that this is not
really a restriction; let us assume that P*(A*) is a partition of a non-manifold
object A* honoring the constraints (2.2) and such that

In this case, as suggested in figure (2.8), we can proceed as follows:


2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 41

Figure 2.8 Transforming a partition P*(A*) of a non-manifold object A* into


a cellular partition P(A] of a 2-manifold object A containing A*. The virtual cells
corresponding to {P(A) P*(A*)} are represented as light grey areas, dashed lines,
and a white circle.

1. Find the maximum dimension n of the cells of P*(A*).


2. Choose an (n + l)-manifold object A containing A*:

3. Choose a cellular partition P(A) of A containing all the cells of the cellular
partition P*(A*):

The elements of (P(A) P*(A*)) may always be considered as "virtual


cells," if required, as suggested in figure (2.8).
It should be observed, however, that such a transformation is possible only
o
if, for any x A*, the local topological dimension d(x) honors the following
condition:

For example, such a transformation is possible in the two following cases


frequently encountered in subsurface modeling:
A* consists of the (non-manifold) set of curves corresponding to the limits
of the geological facies in a cross section (see figures (2.2), and (2.17)) or a
geological map. In both cases, the curves are assumed to lie on a simply
connected surface A that is split into parts (2D regions) by cells of A*.
A* consists of the (non-manifold) set of surfaces corresponding to the inter-
faces between geological layers (see figure (2.1)). These surfaces correspond to
horizons and faults and are assumed to lie inside a simply connected volume
A that is split into parts (3D regions) by cells of A*.
It is important to note that the procedure presented above for transforming
a non-manifold object into a manifold object is not unique. For example, in
[183], Rossignac and Cardoz propose another technique based on a replication
of some cells of the non-manifold object.
42 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.9 Removing the light-grey triangles (A) generates a non-manifold


topology at the location corresponding to the black vertex (B). However, the new
non-manifold object so obtained can be transformed into a manifold by splitting
this vertex into twin colocated vertices according to strategies (C) or (D).

A practical difficulty
As shown above, a non-manifold object can be transformed into a manifold
object. Unfortunately, the reverse is also true: it is possible that a manifold
object becomes non-manifold after applying a topological operator whose pri-
mary purpose was not to make this object non-manifold. For example, let
us consider the triangulated surface shown in figure (2.9)-A. Let us assume
that the two triangles represented in light grey are removed: as a side effect,
this removal of triangles generates, at the location corresponding to the black
vertex, one of the non-manifold situations referred to in the top part of figure
(2.4). However, in this case, if the vertex corresponding to the non-manifold
situation is split into twin colocated vertices, then this non-manifold situa-
tion can be avoided by applying one of the two following strategies:
either, as shown in figure (2.9)-C, we assume that the two triangles holding
these twin vertices are not connected,
or, as shown in figure (2.9)-D, we transform the two triangles into two rectan-
gles sharing a common degenerated edge corresponding to these twin vertices.
The second strategy is similar to the one proposed by Rossignac and Cardoz
[183] to transform a non-manifold object into a manifold.

2.3.4 Abstract topological representations


This section shows how any cellular partition of a manifold object can be
associated in a one-to-one way to an abstract representation playing the role
of "map" of this partition. Such a representation is at the origin of the GMap
topological model, which will be presented in section (2.4).
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 43

Figure 2.10 Examples of isomorphic cellular partitions P(A) andP(B): cells


of these two isomorphic partitions are associated pairwise by an embedding <j> pre-
serving the incidency relationships. Isomorphisms can also be denned from P(A) to
P(C) and from P(B) to P(C}.

Isomorphic cellular partitions


As shown in figure (2.10), let A and B be two n-manifold objects with cellular
partitions P(A) and P(B], respectively. By definition, P(A] and P(B] are
said to be 0-isomorphic or, more simply, isomorphic if7

and if, in addition, there is a series of (n + 1) mappings (j> = {0o, -, </>n}


honoring the two following conditions for any i {0,1,..., n}:
1. 4>i is a bijection between Pi(A) and Pi(B} associating each ^-cell a G Pi(A)
with one single i-cell b G Pi(B], and conversely:

2. If i > 0, then, for any i-cell a 6 Pi(A) and any of its incident (i l)-cells
a' G Pi-i(A), the bijections (pi and </>i_i preserve the incidency relationships:

In this case:
the set of mappings 4> is called an isomorphism between P(A) and P(B),
and
7
Recall that, according to the definition on page 38, 'Pi(A) represents the set of all the
z-cells in the cellular partition P(A) while |"Pi(A)| represents the number of elements of
Pi(A}.
44 CHAPTER 2. CELLULAR PARTITIONS

an i-cell a e "Pi(A) is said to be isomorphic8 to an i-cell b E 'Pi(B) if there


is a mapping 0j E </> such that 6 = </>i(a), and conversely.
For example, with reference to figure (2.6):
the cellular partitions P(A) and P(B) are isomorphic,
the cellular partitions P(C} and P(D] are isomorphic, and
the cellular partitions P(A) and P(C) can not be isomorphic because they
do not have the same number of cells.
It should be noted that two homeomorphic objects A and B can be associated
with non-isomorphic cellular partitions as is the case for the objects in figures
(2.6)-A and (2.6)-C.

Embeddings
Let P(A) be a cellular partition ^-isomorphic to a cellular partition P(B):
where B is assumed to be a subset of E = Mm. By definition:
E is called an embedding space of P(A) through </>,
<p is called an embedding of P(A) in the embedding space E, and
the image b = (j>i(a) of any i-cell a E Pi (A) is called an embedding of a in the
embedding space E.
As shown in figure (2.10), a single cellular partition P(A] can have multiple
embeddings.

Abstract topological representation of a cellular partition


Note that an isomorphism between two cellular partitions is given if:
1. there is the same number of i-cells in both partitions for alH > 0, and
2. the cells can be arranged in such a way that they fulfill the conditions (2.4),
and (2.5).
The above conditions (1) and (2) are purely combinatorial. They do not
depend on "geometric properties" such as the exact shape of the cells or the
dimension of the embedding space.
Thus, the notion of isomorphism introduced above suggests the following
concept for the topological modeling of any manifold object A associated with
a given cellular partition P(A}:
To each i-cell a E Pi(A), associate an arbitrary and distinct element a* called
"abstract i-cell" and define the set Qi(A) as the union of all these abstract
i-cells.
Define the set Q(A) as the union of all the sets Qi(A):

Define a family of rules "Incidencies" on Q(A) reflecting the incidency condi-


tions (2.5) related to P(A).
8
Note that, in this case, 'P(A) may be identical to T'(B} while a is different from b.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 45

Figure 2.11 Depending on the dimension of the embedding space, a topological


object may or may not "geometrically" self-intersect. However, from the topological
point of view, such a geometrical intersection is not to be considered as such.

Whatever model (Q(A), Incidencies) is chosen, it will preserve the informa-


tion related to the cellular partition P(A). Accordingly, the name "abstract
topological representation" o f P ( A ) is proposed for (Q(A), Incidencies).
Conversely, if A is an n-dimensional object belonging to an embedding
space E = Mm, then P(A) can be thought of as a "geometric realization"
also called an "embedding" of (Q(A), Incidencies) through a series of (n + 1)
mappings </> = {<^o, , 4>n} honoring the following conditions that mirror the
constraints (2.4), and (2.5):
1. (j>i is a bijection between Qi(A) and Pi(A) associating each abstract i-cell
a* Qi(A) with one single real i-cell a 6 Pi(A), and conversely:

2. If i > 0, then, for any a* e Qi(A) and any a*' e Qi-i(A), the bijections fa
and fa-\ preserve the incidency relationships:

Cornment 1: Maps and Generalized Maps


The above concept of abstract topological representation of a cellular partition
is at the origin of the notions of "Maps" and "Generalized Maps" (GMaps)
presented in section (2.4). The notion of Generalized Map was introduced
in the geometric modeling field by Lienhardt in the early 1990s [134, 135,
137, 138] to provide a rigorous algebraic framework for the description of the
topology of a cellular partition, and it can also be used as the backbone of
software implementation.
46 CHAPTER 2. CELLULAR PARTITIONS

Comment 2: Self-inter sect ions of embeddings

As mentioned above, an abstract topological representation of a cellular par-


tition P(A] contains all the topological information concerning the neighbor-
hood properties9 of the associated object A. Furthermore, such representation
allows for more flexibility in visualizing geometric objects, and one can "draw"
geometric intersections that "do not count." For example, figure (2.11) shows
a cellular partition P(A) of an object A and its associated abstract represen-
tation P*(A). The 3D object A does not self-intersect, while its 2D image A'
does and appears as a non-manifold object. However, carefully interpreted as
a non-manifold object, A' represents the same topological properties as the
manifold object A.
The same trick is used for a representation of the Klein bottle represented
in figure (5.8). The Klein bottle is defined as a manifold object in JR4, thus
it is free of self-intersections. The self-intersection of its representation in 7R
can be neglected if we interpret figure (5.8) as a "projection" of an abstract
topological representation of a cellular partition as we did with the object A'
above. Such representation are also called "immersions."

2.3.5 Euler-Poincare theorem


Consider a cellular partition P(A) of a manifold curve A into a series of
adjacent curvilinear segments (edges) joining a finite set of points (vertices)
of the curve. Whatever the number of vertices and edges, it is obvious that
if the curve is open, then the number of vertices (0-cells) is equal to the number
of edges (1-cells) plus one, and
if the curve is closed, then the number of vertices (0-cells) is equal to the
number of edges (1-cells).
One can wonder whether similar relations exist for cells of surfaces and, more
generally, for cells corresponding to a cellular partition of any manifold object.
The Euler-Poincare theorem gives an elegant answer to this question:

Theorem
Let A be a manifold object. For any cellular partition P(A) of .A, the Euler-
Poincare characteristic %(A), defined by

is independent o f P ( A ) .

If A is an n-manifold object, then it is easy to check that x(A) can also be


9
It should be noted, however, that advanced topological concepts like "knots" are not
taken into account by such a representation (see [8]). For example, the topological model
presented in this book makes no distinction between a simple torus and a torus with one
or several knots.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 47

Figure 2.12 Examples of cellular partitions of open surfaces: the Euler-Poincare


characteristic x = V E + F is equal to 2 minus the number of boundaries whatever
the cellular partition.

written as follows

where 7^(^4)1 represents the number of i-cells in P(A).

Examples
The formal proof of this general form of the Euler-Poincare theorem is based
on the theory of homology, which is far outside the scope of this book [105].
However, we can easily verify the correctness of this theorem using examples
such as, for example, those presented in figures (2.6), and (2.12).

The case of 2-manifolds


As suggested in figures (2.6), and (2.12), in the special case of a 2-manifold
surface A, the Euler-Poincare characteristic can be written:

It is also possible to show that x(A) can be decomposed into an alternate sum
of three numbers {xi(A) : i = 0,1, 2} called "Betti numbers" [105]:
48 CHAPTER 2. CELLULAR PARTITIONS

More generally, Betti numbers are denned for any n-manifold object A as
the ranks of the homology group of A and were proved to be invariant by
Poincare [176, 229]. These Betti numbers were used by Poincare to prove the
formula (2.8) extending to any n-manifold object the formula (2.9) previously
discovered by Descartes and Euler.
Another famous topological invariant of a 2-manifold surface A is its
"genus" g(A) denned as the largest number of non-intersecting, simple closed
curves that can be drawn on A without dividing it into two parts. It can
be noted that g(A) also represents the number of "handles" of A: cutting a
handle does not divide A into two parts and simply generates 2 holes. For
any closed connected orientable10 surface A of genus g(A), it can be shown
that the Betti numbers are

This explain why the closed surfaces without handles represented in figure
(2.6) have an Euler-Poincare characteristic x(A] equal to 2.
If AI and A2 are two manifold surfaces, then it can be shown [2] that
the Betti numbers characterize homeomorphisms between AI and A? in the
following sense:

Historical note
In the case where A is a. closed surface homeomorphic to a 2-sphere, formula
(2.9) reduces to the famous Euler formula:

This remarkable result, which is the earliest discovery in topology, is due to


Descartes who established it in 1639 but the formula bears the name of Euler
who rediscovered it and published a proof in 1751.

Application to geomodeling
From a practical point of view, in a modeling system, the Euler-Poincare
formula (2.8) can be used to control the consistency of operators transforming
a cellular partition P(A) of a manifold object A into a cellular partition P(A'}
of another manifold object A'.
For example, if an operator T adds a vertex V to a cellular partition of
a manifold surface A, then, according to (2.9), the cellular partition of the
resulting surface A' = T(A\V) must preserve the relationship x(A) = x(A')-
This implies that the operator T can be implemented, for example, according
to one of the following procedures:
Create one new triangular face incident to an edge on the boundary of A with
two new edges and one new vertex V.
Split (kill) one edge and replace it by two new edges with a common new
vertex V.
10
For a definition of the notion of orientability, see pages 68 and 218.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 49

Split (kill) a face with n vertices and replace it by n new triangular facets
with n new edges and one new common vertex V.
Such operators preserving the Euler-Poincare characteristic are referred to as
"Euler operators" in the literature [152].

2.3.6 Notion of CellView


As shown in figure (2.13), consider a cellular partition of a manifold object A
consisting of two adjacent polygonal facets F\ and F% that share a common
edge E, and let V\ and Vz be the two vertices corresponding to the end points
(boundary) of E:
The common edge E can be viewed either as an element of the boundary of
jFi or as an element of the boundary of F^; these two different views of the
same object can be coded as follows:

Each common vertex Vi (i G {1,2}) can be viewed either as an element of the


boundary of the boundary E of F\ or, as an element of the boundary of the
boundary E of F% as follows:

This recursive concept of a "cell viewed from another cell," also referred to as
"Cell-Tuple-Structure" in the literature, was introduced by Brisson [35, 36, 37]
as a key element to describe cellular partitions. This section is a general
presentation of this important concept.

Definitions
Let P(A) be a given cellular partition of an n-manifold object A and let v be
a nonempty list of cells of P(A):

By definition, v is called a "CellView" of CQ from Cn or, more simply, a


CellView, if the two following conditions11 are honored:

Moreover, the cell corresponding to the head of v is referred to as view edC ell (v):

Depending on the dimension of viewedCell(v), one can say that


11
Note that these conditions are consistent with constraints (2.2).
50 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.13 An example of cellular partition P(A) of a 2-manifold object A


embedded in JR2 and its associated family P-z(A) ofl-cells. The subset P(A) of the
Vertex Views ofP(A) (represented as bullet-headed segments) is deduced from P(A)
thanks to the algorithm presented on page 52.

v is a "VertexView" if dim(viewedCell(v)) = 0,
v is an "EdgeView" if dim(viewedCell(v)) = 1,
v is a "FaceView" if dim(viewedCell(v)) = 2,
v is a "VolumeView" or a "SolidView" if dim(viewedCell(v)) = 3,

Geometric representation of a VertexView


It can be observed that VertexViews are pure topological entities and, at
first, it is a nonsense to speak of their geometry. In practice, however, as
shown in figures (2.13), and (2.14), it is convenient to represent geometrically
each VertexView v = (Co, C*i,..., Cn} as a bullet-headed segment located and
oriented as follows:
the head (bullet) of v is located "infinitely" close12 to the vertex Co and
represents the location of the VertexView,
the tail (segment) of v is located "infinitely" close to the edge C\ and is aligned
with this edge, and
v is located inside the cell Cn.

VertexView/cell incidency
By definition, a VertexView w and a cell C are said to be incident if w
contains the cell C:

12
In other words, any neighborhood of the vertex Co must contain the head of v.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 51

Figure 2.14 Vertex View decomposition P(A) of a cellular partition P(A) of a


2-manifold object A. Note that the 2-cell F is such that E dF and generates a
pair of "twin" cells w and w.

Note that this notion of Vertex View/cell incidency is distinct but conceptually
similar to the notion of cell incidency introduced on page 40: if we refer to
figures (2.13), and (2.14) where VertexViews are identified to bullet-headed
segments, then we can say that a VertexView and a cell are incident if they
"touch" each other.

Vertex View decomposition of a cell C


In the remainder of this chapter, the notion of VertexView plays a central role
when describing the topological relationships between the cells of a cellular
partition P(A) of an n-manifold object A. It is thus of paramount importance
to show how to retrieve all the VertexViews of all the cells of P(A). For this
purpose, let us consider a cell C belonging to a cellular partition P(A) of an
object A and let v be the CellView of C from itself:

The following recursive algorithm13 may be used to "explode" this CellView


into a set of VertexViews ws relative to the given cellular partition P(A}:

13
For the sake of clarity, the output argument is noted with a | sign.
52 CHAPTER 2. CELLULAR PARTITIONS

for_all( Cell d e B(C) ) {


if( d G dC ) niter <- 1 else niter <- 2
for( iter=l ; iter<niter ; iter++ ) { //< inner loop
build new CellView Vi = copy of v
insert d at head of Vi\ Vi < {Ci, Vi}
CellView_explode( Vi,P(A),ws )
}
}
}

Notion of twin Vertex Views


In the above algorithm, the purpose of the inner loop controlled by the pred-
icate (d G dC} is to duplicate the CellView v^ when Ci is an "internal" cell
of A that is used twice by C as a boundary. This allows cells such as those
corresponding to the internal edge14 E in the left-hand side of figure (2.14) to
be "exploded" in a consistent way. As a result, the above algorithm generates
a pair of "twin" VertexViews noted w and w, respectively, and consisting of
copies of exactly the same list of cells:

As shown in figure (2.14), the geometric representations of such twin Ver-


texViews are assumed to be located in Cn in such a way that the shortest
path between them, within Cn, crosses Cn-\.

Set P(A) of the Vertex View's of a cellular partition P(A)


Let P(A) be a given cellular partition of a manifold object A. By definition,
the set of all the VertexViews of P(A) is noted as P(A). Figure (2.13) shows
an example of such a set P(A) in the case of an object A embedded in JR2.
It is always possible to use the following algorithm15 for "exploding" P(A)
into a set P(A) of elementary "bricks" corresponding to VertexViews:
CellPart_explode(CellPart P(A), Set<CellView> P(A) T ) {
P(A) <- empty set
n dim(A)
for_all( Cell C e Pn(A) ) {
build new CellView v
initialize v: v < { C }
CellView_explode( v,P(A),P(A) )
}
}
It should be observed that this algorithm assumes that the cellular partition
P(A) of the object A to be exploded already exists and is given. This means
that
14
See also the "free edge" in figure 2.17.
15
For the sake of clarity the output argument is noted with a | sign.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 53

this algorithm is a descriptive algorithm showing how to deduce the set


P(A) of VertexViews from a given cellular partition P(A) of an object A, and
this algorithm cannot be used to construct a cellular partition P(A) as-
sociated with a given object A from scratch.
However, from a theoretical point of view, this algorithm is extremely im-
portant because it shows that any cellular partition P(A) can be recursively
decomposed into a set of VertexViews whatever the object A and the dimen-
sion of the embedding space (see figure (2.13)). In other words, this algorithm
shows that the topology of any cellular partition of a manifold object can be
represented by a set of VertexViews plus adjacency relations that will be pre-
sented in the next section.
Prom a computer science point of view, this opens the door to a unified
topological model where the topological database contains only one type of
object corresponding to VertexViews. In section (2.4), we will present such a
topological model based on this observation and composed of:
a unique elementary data type called "Dart," consisting of an abstract repre-
sentations of VertexViews, and
an algebraic structure, called "GMap," playing the role of a database and
consisting of a set of Darts plus a set of operators that allow navigation from
a Dart to its neighboring Darts.

2.3.7 VertexView adjacencies


This section shows how VertexViews can be used to describe adjacencies be-
tween the cells of a cellular partition P(A) of an n-manifold object A:

Notion of i-adjacency between VertexViews


Let us consider two VertexViews w and w' belonging to P(A):

By definition, we will say that w 6 P(A) and w' 6 P(A) are i-adjacent if they
share the same n-cells for any n ^ i. In other words, we have:

With such a definition, it can be observed that twin Vertex Views (w,w), as
defined on page 52, are z-adjacent for any i. Moreover, each twin VertexView
w (resp. w) may be z-adjacent with a set of one or several VertexViews
{w'i, w'2,.. .}[i] different from its twin w (resp. w). In such a case, to keep
only one -adjacency per twin Vertex View, it is proposed to proceed as follows:
1. cancel all the i-adjacencies of w (resp. tD);
2. restore the i-adjacency of w (resp. w) with the "closest"
VertexView w'j taken in the set {u>i,u>2, -}[z]-
54 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.15 Vertex Views (black bullet-headed segments) of a cellular partition


P(A) and associated classes of equivalences corresponding to i-adjacencies (shaded):
it can be seen that, for a given VertexView w, the associated classes w*-1' depend
strongly on the index i.

In the above step 2, the word "closest" refers to the geometric representation
of the VertexViews as defined on pages 50 and 52 and it is implicitly assumed
that the path, within Cn, between two twin VertexViews sharing the cells
(Co,..., Cn} never crosses the common cells {Co, . , C n _i}. For example,
the twin VertexView w in figure (2.14) is initially 1-adjacent to each of the
VertexViews {wi^w^^w}^ but only the 1-adjacency between (w,wi] is kept.

Set of classes of equivalences P^ (A)


As pointed out by Levy [132], the notion of i-adjacency between VertexViews
allows for the introduction of a relation of i-equivalence on P(A) noted as CLi
and defined as follows:

The class of z-equivalence consisting of all the VertexViews that are i-adjacent
to w G P(A) is noted as iyW

while the set of all these classes of equivalence is noted as P^(A):

As shown in figure (2.15), for a given VertexViews w, the classes of ^-equivalence


iuM containing w are strongly dependent on the index i.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT 55

Figure 2.16 An example of cellular partition P(A) of a 2-manifold object A


and its associated set P(A) of Vertex Views. The adjacency relationships at between
Vertex Views are deduced from the classes of equivalence P^'(A).

Figure 2.17 An example of a cellular partition P(A) and its associated set of
Vertex Views corresponding to a 2D geological cross section A. For the sake of clarity,
the ao involutions are not drawn, while the ai and 0,2 involutions are represented
by single light grey links and double bold links, respectively.

Set of involutions {a^} defined on P(A)


Thanks to the constraints (2.2) and the above definition of the notion of
z-adjacency, it should be noted that any class w^ contains one or two Ver-
56 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.18 The upper part of (A) shows the a\ and 0,2 involutions associated
with Vertex Views corresponding to a pair of adjacent tetrahedra. The lower part of
(A) is an exploded view of these two tetrahedra showing the as links; the ao links
are not represented, while the a links are represented by i parallel segments for
i > 0. Part (B) shows an exploded view of a solid consisting of polyhedral cells
where only the as involutions are represented.

texViews:

As shown in figure (2.16), this suggests introducing a transformation a^ from


P(A) to itself denned as follows:

For any index i > 0, the transformation o,i so defined is an involution16 called
i-adjacency on P(A):

From a graphical point of view, as shown in figures (2.14),(2.15), (2.16), (2.17),


and (2.18), the following notations will be used:
A class of equivalence w^ = {w,w'} or, equivalently, the associated
involution o^, will be represented by
a dashed segment if i = 0,
one solid line if i = 1,
two solid lines if i 2, and
three solid lines if i = 3.

For simplicity's sake, in the case where w^ = {w} contains only one
VertexView, the associated involution will not be represented.
16
An involution is a transformation T that is equal to its own inverse: T = T l.
57

2.4. GENERALIZED MAPS 57

2.4 Generalized Maps


As previously mentioned page 45, in the geometric modeling field, the notion
of Generalized Map (GMap) was introduced by Lienhardt17 in the early 1990s
[134, 135, 137, 138] to provide a rigorous algebraic framework for the descrip-
tion of the topology of a cellular partition P(A) through its set of Vertex Views
and its associated involutions {}.
It should be noted that the notion of Generalized Map is similar and
equivalent to the concept of "Cell-Tuple-Structure" independently introduced
by Brisson [35, 36, 37].

2.4.1 GMap associated with a cellular partition P(A)


Definition 1
Let n > 0 be a given integer and let G(D, a 0 ,0:1,..., an) be a (n + 2)-tuple
such that

By definition, in the frame of this book, we will say that G(D, ao, ai,..., an)
is a "Generalized Map" of dimension n or, more simply, an n-GMap or a
GMap if the three following constraints are honored:

1. The involutions {ao, a i , . . . , o-n-i} do not have any fixed point on D:

2. The transformations {oti ooci+2+k} are involutions for any i > 0 and any
k>0:

3. The transformations {j oa^ +2+ fc} have no fixed point for any i > 0 and
any k > 0:

Figure (2.19) shows examples of 0-GMap, 1-GMap, and 2-GMap.


17
GMaps are derived from the concept of "Combinatorial-Map" introduced by Edmonds
[72] and used for modeling subdivisions of surfaces [112, 135, 221].
58 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.19 Examples of (-l)-GMap, 0-GMap, 1-GMap, and 2-GMap consisting


of sets of simplexes. The ao links are represented by dashed segments, the a\ links
are represented by arcs of circles, and the ct? links are represented by two parallel
segments.

Definition 2
For n = 1, a ( l)-GMap Q(D] is defined18 as a finite set D of abstract
elements called Darts without any involutions defined on D:

figure (2.19) shows an example of (l)-GMap.

Graphical representations
As suggested in figures (2.19), and (2.20), the same graphical notation will
be used for representing both Darts and Vertex Views or the involutions {on}
and {fli}, respectively.

Examples of GMaps
One can find in figures (2.19), and (2.20) some examples of n-GMaps. It
should be noted that 0-GMaps look very similar to 1-GMaps, but they are
different: 0-GMaps do not have 0,1 links and are modeling pairs of points
while 1-GMaps represent polygonal curves.

Notion of orbit and i-orbit


Let C?(>,0!o,ai, -,<^n) be an n-GMap and let d e D be a given Dart. We
call "orbit" of d relative to {a^, a - / , . . . , a/t} and we note

18
There are notions, such as GMap of boundaries, that are derived from an n-GMap by
removing some involutions. For these definitions to be consistent, (l)-GMaps must be
denned.
2.4. GENERALIZED MAPS 59

Figure 2.20 An example of cellular partition P(A) of a 2-manifold surface A


associated with its 2-GMap G and with the 1-GMap dG of its boundaries.

Figure 2.21 Examples ofi-orbits (grey areas) related to a given Dart d in the
case of a 2-GMap. From top to bottom of this figure, these i-orbits correspond to
an abstract 0-cell, an abstract 1-cell and an abstract 2-cell incidents to the Dart d,
respectively.

the set of all the Darts that can be reached from d using any combination
of these involutions. In other words, < Oj, C K J , . . . , &k > () is the group of
permutations on D generated by {0:$, QJ, . . . , o^}.
In particular, the set of darts corresponding to the following orbit of d is
called the i-orbit of d:

For the sake of conciseness, the following equivalent notation can also be used
60 CHAPTER 2. CELLULAR PARTITIONS

to characterize the i-orbit of d:

Figure (2.21) shows some examples of -orbits.

GMap of the boundaries


Let G = Q(D,aQ,ai,.. .,an) be a given n-GMap (see figures (2.20), and
(2.22)). By definition, the (n - l)-GMap

is called "GMap of the boundaries" of G if D' and the {o^j's are such that

for any Dart d G D', the involution o4-i is such that

Dual of a GMap
By definition, the dual of an n-GMap G(D, QJQ, a i , . . . , an] is also an n-GMap
G(D*, O!Q, ai> >a n) such that

Open and closed GMap

Sewn and free Darts


Let Q(D,ao,ai,.. .,cc n ) be an n-GMap and let d D be a given Dart; by
definition:

2.4.2 Cellular synthesis


The entire section (2.3) was dedicated to the decomposition of a manifold
object into cells whose adjacencies where represented by a set of VertexViews
and involutions. In this section we present the opposite point of view which
consists in rebuilding a cellular partition P(A) from an abstract representation
consisting of a GMap.
2.4. GENERALIZED MAPS 61

Figure 2.22 Decomposition of a solid into polyhedric cells (A) represented by


a GMap and its associated boundary (B) also represented by a GMap.

Notion of "abstract" i-cell


Comparing figures (2.15), and (2.21) allows a strong analogy between an i-
orbit in a GMap and a i-cell in a cellular partition to be pointed out. This
suggests introducing the notion of "abstract" i-cell as follows:
By definition, in a GMap G = Q(D, ao, c u i , . . . , a n ), any i-orbit of a Dart
d G D is called an "abstract" i-cell of G incident to d:

Brisson-Lienhardt theorem
As suggested in figure (2.20), any n-GMap G = Q(D^o.Q1a\^.. .,a n ) can be
associated with a cellular partition P(A) of an n-manifold object A in such a
way that
There is a one-toone mapping 0 from D to the set of VertexViews P(A):

If {ao,..., an} are the involutions corresponding to the adjacencies defined on


P(A), then, for any integer i [0, n], the above one-to-one mapping 0 is such
that

The above one-to-one mapping 0 has (n + 1) components {</>o,..., </>n} such


that <pi(d] is the z-cell contained in the Vertex View w = 4>(d}\

The ith component <f>i of the above one-to-one mapping </> establishes a one-to-
one correspondence between the "abstract" i-cells of G and the "real" z-cells
ofP(A):
62 CHAPTER 2. CELLULAR PARTITIONS

The above one-to-one mappings (0o, , </>n-i} establish a one-to-one cor-


respondence between the "abstract" ?-cells of dG and the "real" z-cells of
(P(A) n dA). (see examples in figures (2.20), and (2.22)).
This fundamental theorem is a direct consequence of the concept of abstract
topological representation of a cellular partition introduced on page 44 and is,
in fact, a compilation of several theorems due to Brisson and Lienhardt (see
[35, 37, 138]).

Interpretation of Brisson-Lienhardt theorem


If we refer to the definition of isomorphism presented on page 43, one can
observe that the above Brisson-Lienhardt theorem can be seen as introducing
an isomorphism 0 from an "abstract" GMap <?(!), ao,ai,.. .,a n ) to a "real"
GMap ( P ( A ) , a 0 , a i , . . . , a n ) :

This suggests considering the valuated graph G = (?(), a 0 , a i , . . .,an] as a


representation, in an abstract space, of the topology of a cellular partition
P(A) of a real manifold object A belonging to the embedding space IRm. In
such a representation:
The VertexViews associated with P(A) are the images of the Darts of D:

The "real" i-cells of 'P(A) are the images of "abstract" ^-cells of G by the
component ^ of 0 = {(/>o,..., 0n}:

According to Brisson-Lienhardt theorem, each "abstract" i-cell consists in the


set of Darts whose images are the VertexViews incident to its associated real
i-cell in the embedding space Mm. Conversely, the definition of a "real" i-cell
as the image by fa of an "abstract" i-cell can be considered as a "cellular
synthesis."
It should be noted, however, that a representation of an entity is not the
entity itself. In particular, a Dart is an abstract entity that is different from
a VertexView, and, from a practical point of view, this means that

A Dart represents a sorted list of cells but, contrary to a Ver-


tex View, a Dart does not consist of a sorted list of cells.
2.4. GENERALIZED MAPS 63

Figure 2.23 An example of a pair of adjacent 2-cells whose i-embeddings are


consistent for i = 0 and inconsistent for i = 1.

Implementing 0 = {</>o,..., </>n} as a list of embeddings


According to this interpretation of the Brisson-Lienhardt theorem, at any
time, each "abstract" z-cell <fii > (d1} is assumed to be mapped to a "real"
i-Cel\d ofPi(A):

It can be observed that the real z-cell fa(d] so defined is a geometric object
embedded in the embedding space Mm of the object A. As a consequence, we
can consider that fa (d) defines the embedding of d.
From a computer science point of view, it is convenient to define (f>(d) as
a list of references from d to the sorted list {(/>o(cf),..., (j>n(d)} of embed-
dings defining the geometry in lRm of the cells composing the Vertex View w
associated with d:

For this purpose, it is necessary [22] to define the following operators on the
data structures used to implement the GMaps:
setting the ^-embedding fa(d) associated with a given Dart d
getting the i-embedding (/>i(d) associated with a given Dart d
It should be noted that the embeddings 00 of 0-cells are the only one which
are really mandatory to define. If needed, all the other i-embeddings can be
implicitly deduced from the embeddings of the 0-cells; for this purpose, we
only have to proceed as follows:
1. if a cell d = 4>i(d] is a simplex, then we can interpolate linearly its i-
embedding from the 0-embedding of its vertices,
2. otherwise, we can decompose d into simplexes and return to (1).

Consistency of embeddings
The z-embedding fa (d) of a given Dart d is said to be consistent if all the Darts
of the abstract i-cell < fa > (d) incident d share the same embedding and if,
64 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.24 Interpretation of the three constraints on a 2-GMap.

in addition, for any j' > i the boundary of the j-embedding (f)j(d) contains
&(d):

It should be noted that embeddings of i-cells are always consistent in the


important case where the three following conditions are honored:
1. all the cells are simplexes,
2. embeddings of vertices are given, and
3. for i > 0, the i-embedding of any i-cell is linearly interpolated from the
embedding of its vertices.
Figure (2.23) shows a pair of adjacent 2-cells whose 0-embeddings of their
common vertices are consistent, while the 1-embeddings corresponding to their
common edge are inconsistent.

Constraints on GMaps
As suggested in figure (2.24), the three constraints in the definition of the
notion of GMap (see page 57) can easily be interpreted as follows:

1. The constraint (2.13) simply means that any Dart d mapped to a Ver-
texView w = 4>(d} G P(A) such that

can be found only on the boundary of the n-manifold object A for i = n


where n is the dimension of the GMap.
2.4. GENERALIZED MAPS 65

2. The constraint (2.14) means that Vertex Views w (f>(d) of two adjacent
cells of P(A) must be completely "sewn" by involutions along their
common boundary:

3. The constraint (2.15) means that Vertex Views w = <j)(d) incident19 to a


same cell of P(A) cannot generate "topological" folds:

Discrete model Mp(li,Ni,(pi,CVi) associated with z-cells


To any n-GMap G = G(D, 0:0, a i , . . . , an) and for any given integer i e [0, n],
it is possible to associate a set 0^ and an operator Nf on Oj denned by

In other words, Nf(k) is the set of all the abstract i-cells of G "adjacent to fc"
that can be reached from k in one step on G corresponding to an on involution.
If we define the neighborhood Ni(k] of any i-cell k G fij as follows

then we can build a discrete model .Mp(r^, A^, ^, C^J where (pi(k) is a vector
of p real values attached to the i-ce\\ k G f^ while C(fi is a set of constraints
on the function <fn denned on f^.
This considerably broadens the scope of the DSI method introduced in
chapter 1 and fully described in chapter 4. For example, if we consider a
2-GMap associated with a surface composed of polygonal adjacent facets as
the one shown in figure (2.25)-A, then:
The 0-cells correspond to the vertices of the polygonal facets and the set No(k)
associated with a vertex k consists of all the vertices directly linked to k by
an edge of facet. Any set of attributes </?o defined on these vertices can be
interpolated by DSI using the model Mp(Qo, NO, (pOjC^g). In particular, the
embedding {<fo(k),(f>Q(k),ipQ(k)} of any vertex k can be interpolated by DSI.
Figure (2.25)-B gives an example of interpolation of <^o on the vertices of a
surface composed of polygonal facets.
The 1-cells correspond to the edges of the polygonal facets and the set N(k)
associated with an edge k consists of all the edges sharing a vertex with k.
Any set of attributes (f\ defined on these edges can be interpolated by DSI
using the model .M p (2i, A/i, (^ijC^). However, contrary to the case of 0-cells,
it is not possible to directly use DSI for modeling the embedding of 1-cells.
Figure (2.25)-C gives an example of interpolation of (f>\ on the edges of a
surface composed of polygonal facets.
19
See definition (2.11).
66 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.25 Examples of DSI interpolations on i-cells of a cellular partition of


a surface (A) composed of polygonal facets. The interpolated property is attached
to the Q-cells (vertices) in part (B), to the 1-cells (edges) in part (C) and to 2-cells
(facets) in part (D). The values of the interpolated property are color coded and
vary smoothly from an i-cell to its neighboring i-cells.

The 2-cells correspond to the polygonal facets themselves and the set N$(k)
associated with a facet k consists of all the facets sharing an edge with k. Any
set of attributes <^2 defined on these facets can be interpolated by DSI using
the model A / t p (f^2, A^, <f>2,C<p2). However, contrary to the case of 0-cells, it is
not possible to use DSI directly for modeling the embedding of 2-cells. Figure
(2.25)-D gives an example of interpolation of </?2 on the facets of a surface
composed of polygonal facets.
To each abstract z-cell k f^, the vectorial function (pi defined above asso-
ciates a series of p values

which can be used to define the ^-embedding fa (d) of any Dart d belonging to
k. Such an approach is widely used in this book for modeling the components
of the embeddings corresponding to the geometry and the properties of objects
represented by discrete models (e.g., see chapter 6).

2.4.3 "Magnetic" interpretation of Darts


Let n be a strictly positive integer. For any n-GMap G(D, CKQ, -, a n ), the set
of Darts D can always be split into a pair of "twin" subsets20 D+ and D~ of
equal size and such that

20
It should be noted that such a division of D into two subsets is not unique.
2.4. GENERALIZED MAPS 67

Figure 2.26 Magnetic interpretation of pairs of Darts of a 2-GMap associated


with a manifold object (Moebius ribbon). Black Darts correspond to positive poles of
magnets, while white Darts correspond to negative poles. If the object is orientable
(part A), then each Dart is linked, by cn,i involutions, but only with Darts of opposite
polarity. If the object is non-orientable (part B), then some (or all) Darts may be
linked with Darts having the same polarity. In this figure, for the sake of clarity,
the interior of the 2-cells are represented in a transparent way.

This suggests grouping the Darts into pairs (d~~, d+) interpreted as little mag-
nets m = yu(rf~, d+] such that

The "magnetizer" function JJL so defined has an inverse fj, 1 whose components
TT+ and TT~ are called "positive pole" and "negative pole:"

Considering equations (2.28), and (2.27), we can easily deduce that the pole
functions TT~ (m) and TT+ (m) so defined have to honor the two following prop-
erties:
68 CHAPTER 2. CELLULAR PARTITIONS

In practice, it is convenient to define the functions ^ and // , respectively,


on D+ and D~ as the inverses of TT+ and TT~:

Note that these functions p,+ and /j, are such that

Figures (2.26), and (2.27) show examples of the magnetic interpretation of


Darts.

2.4.4 Orientability
Surfaces play an important role in the field of geomodeling. From a practical
point of view, "orientable" surfaces are the only ones that can be encoun-
tered when modeling natural objects. The orientability of surfaces is thus of
particular interest, therefore it is worthwhile to recall some definitions:
A surface A is said to be "orientable" if, walking on one side of this surface,
one cannot reach the opposite side without crossing a boundary (if any). For
example, the Moebius strip or the Klein bottle (see figures (2.26), and (5.8))
are, respectively, open and closed non-orientable surfaces.
An orientable surface A is said to be oriented if one of its two sides is entitled
to be the "positive" side, while the other is the "negative" side.
A closed curve C drawn on an oriented surface A, without self-intersection
and bounding a region R C A, is said to be "positively oriented" if, walking
on the curve C on the positive side of ^4, the region R remains on the left (see
figure (5.9)).
A cellular partition P(A) of a surface A is said to be "oriented" if the boundary
of each 2-cell is positively oriented (see figure (5.10)). In this case, each edge
not belonging to the boundary is traversed exactly twice.
In this section, a generalization to n-GMaps of this concept of orientability is
proposed. Such a generalization is derived from the magnetic interpretation
of Darts presented above and is based on the following "painting" algorithm,
which can be easily understood when considering the 2-dimensional example
illustrated in figure (2.26):

Painting algorithm
Let n be a positive integer and let Q(D,ao,ai,.. .,an) be a connected n-
GMap whose positive poles d+ are assumed to be painted in red while the
negative poles d~ are assumed to be painted in blue. Then let us surmise that
it is possible to split D into subsets D+ and D~ of equal size in such a way
that
2.4. GENERALIZED MAPS 69

In other words, we would like to know whether each Dart is linked by o.i
involutions only with Darts having an opposite polarity: this would allow
{oti} involutions to be interpreted physically as "attracting forces" between
Darts. As shown in figure (2.26), the answer is
yes, if the object modeled by the GMap is orientable (see figure (2.26)-A),
and
no, if the object modeled by the GMap is non-orientable such as, for exam-
ple, a Moebius strip (see figure (2.26)-B).
This suggests the following painting algorithm21 where the input argument
D* is an empty set while d* is an arbitrary dart of D:

GMap_paint( Q(D, aQ,.. .,a n ), d*, D*T ) {


if(d* G D*) return
D* < >* U {d*}
for( i = l\ i<n;i + +) {
GMap_paint( Q(D,a0,.. .,a n ), a0oai(di'), D* )
}
}

If the set D* is initially empty, then the above recursive function returns a
set D* containing all the Darts having the same polarity as the Dart d*. In
consequence, after running the above algorithm with D* initialized to the
empty set
either D* is equal to D,
or the set D* is identical to the set D+ or D~ corresponding to the Darts
having the same polarity as d*.

Definition
Let G G(D, QO, ., Oin] be a connected n-GMap and let D* be the associated
set of Darts defined by the above painting algorithm. By definition, we will
say that
G is orientable if D* is distinct from D, and
G is non-orientable if D* is equal to D.

Theorem
A surface A is orientable if, and only if, there is an orientable 2-GMap asso-
ciated with a cellular partition P(A) of A (see [134, 136]).

2.4.5 Maps
So far, we have presented the notion of "generalized" Map without saying
anything about "ordinary" Maps. In this section we briefly present this notion,
which can be very useful in practical applications. For example
Output argument D* is noted with a | sign.
70 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.27 An example of 2-Map associated with a 2-GMap. The "magnetizer"


function JJL transforms each twin Darts (d~,d + ) into a magnet m, while the "pole"
functions IT~ and TT+ associate each magnet respectively with its corresponding
Darts d~ and d+. The ai involutions are represented by simple links, the 0:2 and /?2
involutions are represented by double links, and the J3\ permutation is represented
by oriented arcs of circles.

from a computer science point of view, a Map can be used for storing a "compre-
ssed" version of a GMap, and
from an algebraic topology point of view, a Map can be used for describing
the orientations of a manifold object.

Introduction
As suggested in figure (2.27), let us consider the magnetic interpretation of a 2-
GMap G = Q(D, a 05 i, ^2) introduced in section (2.4.3) and let Ai(M, /3i, $2)
be the algebraic structure derived from G as follows:

Using the function p,+ = (TT + ) l denned on page 68, it is observed that the
above relationships (2.30) can also be written more concisely as follows:
2.4. GENERALIZED MAPS 71

It can be noted that the functions (3\ and /?2 so denned are invertible and, in
addition, /32 is an involution:

We will see below how the notion of n-Map generalizes the algebraic structure
M.(M,P\,fl2) presented in this introduction.

Definition
Let n > 1 be a given integer and let jVf (M, f 3 \ , . . . , /3n) be a (n + l)-tuple such
that22

By definition, we will say that M(M, 0i,.. .,(3n) is a "Map" of dimension n


or, more simply, an n-Map or a Map if the following constraint is honored
[22]:
the transformations {/5j+2+fc A} are involutions for any i > 1 and any
k > 0 such that (i + 2 + k) < n:

A 0-Map is defined by M(M) = M.

Converting an n-GMap into an n-Map


The relationships (2.31) presented in the introduction to this section in the
particular case of a 2-GMap can be generalized as follows for converting an
n-GMap G = (D,a 0 ,ai, -, an} into an n-Map G+ = M(M, fa,.. .,/?)
called "Map of the positive side" of G:

It can be checked that the functions {A} so defined are invertible and, in
addition, the functions {/3j : j = 2 , . . .,n} are involutions:

22
Recall that a permutation (3 is an invertible operator for which j3(m} is called "succes-
sor" of 77i, while /3~l(m) is called "predecessor" of m.
72 CHAPTER 2. CELLULAR PARTITIONS

Similarly, it is possible to define as follows the n-Map G = M(M, /?i,..., j3n)


called the "Map of the negative side" of G:

It can be checked that the functions {&} so denned are invertible and, in
addition, the functions {/3j : j = 2 , . . .,n} are involutions:

It should be observed that M is the set of magnets ra = (j,(d+,d~} obtained in


reversing the polarity of the magnets of M. For example, if we refer to figure
(2.27), G+ corresponds to the map on the right-hand side of the figure, while
G~ corresponds to the figure obtained by reversing both the orientations of
the magnets and the direction of the (3i links.

Converting a connected n-GMap into a connected n-Map


Converting a connected n-GMap G(D, ao, 0:1,..., an) into a connected n-Map
A4 (M, /?i,...,(3 n ) can be performed in three steps23 as follows:

1. The first step consists in applying the painting algorithm presented on


page 69 for building the set D+ containing half of the Darts of D:

Build_> + ( g(D,a0,...,an), >+T ) {


choose a Dart d E D
D+ < 0
GMap_paint( < ? ( D , a 0 , . . . , a n ) , d, D+ )
}

2. The second step consists in building M and defining the function /j,+ as
a table of associations [123]:

Build_M_At+( >+, M\ ^ ) {
M<0
let {x, /j,+ (x)} be an empty table of associations
for_all( d+ e D+ ) {
build a new magnet m
M < M U {m}
add ((i + ,m) to the table {x,p,+ (x)}
}
}

3. The third step consists in building the functions {/% : i 1,.. .,n} as
follows:
23
For the sake of clarity, output arguments are noted with a | sign.
2.4. GENERALIZED MAPS 73

Build_/3((L>,a 0 ,...,a n ), >+, //+, {/31;.. .,/?n}T ) {


for_all( d+ e D+ ) {
m < /^ + (d + )
for( i I ; i<n; i + +) {
(3i(m) = n+(ao o ai(d+))
(3-l(m) = ^+(ai o a 0 (d + ))
}
}
}

Converting a connected n-Map into a connected n-GMap


Any n-Map A4(M, fl\,.. .,/3 n ) can always be transformed into its associated
orientable n-GMap G(D, a 0 , i, , a n ). For this purpose, we have to proceed
in two steps:

1. The first step consists in restoring the set D and denning the functions
TT+ and QQ as association-tables:

Build_ J D_7r+_a 0 (Ai(M,/5i,...,/3 n ), D T , 7r +t , aj ) {


D+ < 0 ; D- < 0
let {X,TT+(X}} and (a^aoC^)}
be two empty association-tables
for_all( m M ) {
build a new pair of Darts (d+, d~)
D+ < L > + U { d + } ; >~ <.D-Uld"}
add (m,d + ) to the table {X,TT+(X}}
add (d + ,d~) to the table {x,ao(x)}
add (d~,d+) to the table (o;,ao(x)}
}
D< D+UD~
}

2. The second step consists in restoring the involutions (o^ : i = 1,..., n}


as follows:

Build_a( M(M,/3i,...,/3 n ), TT+, a0, {ai,...,a n } T ) {


for_all( m 6 M ) {
d+ <7r+(m)
d~ < ao(d+)
for( i = l ; < n ; i + +) {
a.i(d+] ao o TT+ o ^i(m)
ai(d~) = 7r + o/?- 1 (m)
}
}
}
74 CHAPTER 2. CELLULAR PARTITIONS

Compressing an orientable connected n-GMap


It can be observed that the number of Darts of an orientable connected n-
GMap is twice the number of magnets of its associated n-Map. Moreover, an
n-GMap contains one more operator than its associated n-Map. This clearly
shows that, from a computer science point of view, n-Maps are more than
twice as small as their associated orientable n-GMaps. Accordingly, as long
as we have to deal with orientable n-GMaps, their associated n-Map can be
considered as a "compressed" representation of the same object.

2.4.6 Operations on GMaps


So far, cells and CellViews have been introduced in a descriptive perspective
where the notion of VertexView appears as the elementary entity to which an
object can be decomposed. This section introduces the opposite point of view
where Darts are used in a constructive perspective showing that they can
be used as the kernel of a topological modeler.
The basic idea consists in building a series of n-GMaps {G, G 1 ,...} where:
G corresponds to the empty n-GMap:

Gk corresponds to an n-GMap

deduced from Gk~l by a "macro" transformation Tk:

At any time, each "abstract" n-GMap Gk is assumed to be mapped to a


"real" n-GMap Q(Pk(Ak], 0$, a ^ , . . . , a) = 4>(Gk] associated with a partition
Pk(Ak) of an n-manifold object Ak.

Micro transformations { t j }
In practice, the macro transformations Tk presented above are decomposed
as follows

where each tj is a "micro" transformation. For example, Bertrand [22] pro-


poses choosing the following minimal set of micro transformations {tj}:
Create an isolated Dart x and add it to the current GMap; the involutions
associated with this isolated Dart x are initialized as follows:

delete a Dart from the current GMap.


2.4. GENERALIZED MAPS 75

Create an on involution between two Darts x and y of the current GMap in


such a way that the following relationships become true:

Delete an cti involution between two Darts x and y of the current GMap in
such a way that the following relationships become true:

It should be noted that, in general, these micro transformations {tj} do not


transform a GMap into a new valid GMap: they must be combined carefully
to build authorized macro transformations Tk able to transform a GMap
Gk~l into another valid GMap Gk honoring the constraints (2.13), (2.14),
and (2.15).

Orbit traversals
In addition to the micro transformations presented above, for any given Dart
d, there is a need for a set of traversals that allow all the Darts belonging to
an orbit < a ^ , . . . , otik > (d) to be scanned. For example, these traversals are
used in operations related to
The definition of a transformation tj described above and used for build-
ing a valid transformation Tk.
Geometrical queries required by geometrical algorithms such as
computing the intersection of two surfaces,
scanning the boundary of an z-cell, and
detecting the region (n-cell) containing a given point.

Display of the embeddings of ^-cells.


If we note C^+1 the number of distinct combinations < o^, a^ 2 ,..., otip >
of p > 1 involutions taken in the set {ao,...,a n }, then, according to the
binomial formula, it is well known that we have:

We conclude that there are (2n+1 1) possible traversals corresponding to all


the possible orbits < a ^ , . . . , a^p > (d) of any Dart d G D.
From a practical point of view, the following general algorithm can be used
for traversing the orbit < CKi[i],0^2], >oti(k] > (d) and applying the operator
do_it() to each traversed Dart:
Orbit_traversal( Q(D,ao,.. .,an), k, i[-], d, do_it ) {
build new empty set of Darts: traversed
build new empty stack of Darts: to-traverse
76 CHAPTER 2. CELLULAR PARTITIONS

traversed < traversed U {d}


to-traverse push(cf)
while ( to-traverse not empty ) {
d* < to-traverse pop()
do_it(cT)
traversed < traversed U{d*}
for( j = I j < k ; j + + ) {
if( a i [j](d*) 0 traversed ) {
to.traverse-push(oti[j](d*))
}
}
}
}

Abstract i-cell iterators


By definition, we call "abstract z-cell iterator," or more simply "i-cell iter-
ator," any algorithm allowing exactly one, and only one, Dart per abstract
i-cell24 honoring a given criterion to be scanned. Among the most frequently
used i-cell iterators, the notions of global and local i-cell iterators can be
mentioned:
A global z-cell iterator is used for scanning one Dart per abstract i-cell
of a GMap. For example, in the case of a surface composed of adjacent
polygonal facets (see figure (2.25)):
a global 2-cell iterator can be used for scanning all the facets of the
surface,
a global 1-cell iterator can be used for scanning all the edges of the
surface, and
a global 0-cell iterator can be used for scanning all the vertices of the
surface.

A local i-cell iterator is used for scanning one Dart per abstract i-
cell incident25 to a given fc-cell. For example, in the case of a surface
composed of adjacent polygonal facets (see figure (2.25)):
a local 2-cell iterator can be used for scanning all the facets adjacent to
a given facet,
a local 2-cell iterator can be used for scanning all the facets incident to
a given edge,
a local 2-cell iterator can be used for scanning all the facets incident to
a given vertex,
a local 0-cell iterator can be used for scanning all the vertices incident
to a given facet, and
24
Recall that, according to the definition given page 61, abstract z-cells are identified to
i-orbits.
25
See definition on page 59.
2.4. GENERALIZED MAPS 77

Figure 2.28 Examples of "sewing" transformation performed on a pair ofl-cells


of a 2-GMap.

a local 0-cell iterator can be used for scanning all the vertices linked by
an edge to a given vertex.

2.4.7 Cell transformations


Minimal set of cell transformations {Tk}
Using the micro transformations {t/} and the traversals introduced in the
preceding section, it is possible to build the following set of cell operators
{Tk} transforming a given n-GMap into a new, valid n-GMap honoring the
constraints (2.13), (2.14), and (2.15):

create_cell(n, gm, ncell-def) creates and adds to the n-GMap gm a


new n-cell whose type and associated embeddings are defined by the
input argument ncelLdef;

delete_cells(n,grn, d) removes from the n-GMap gm and deletes all


the i-cells currently incident26 to a given Dart d for i < n. However, if
the deleted z-cells share vertices with adjacent n-cells, then the Darts
corresponding to these vertices are kept in the n-GMap gm and the
adjacent cells remain unchanged. As a result, a "hole" will appear in
the associated object modeled by the n-GMap.

sew_cells(n,gra, do,di) sews a pair of n-cells (Co,Ci) incident respec-


tively to a pair of given Darts (do,di) of the n-GMap gm (see figure
(2.28)). Such a sewing operation is possible only if the pair of (n 1)-
cells (Fo,Fi), called "faces" and incident respectively to (d 0 ,di), honor
the following preconditions:

26
See definition on page 59.
78 CHAPTER 2. CELLULAR PARTITIONS

These preconditions (1) and (2) specify that F0 and FI must be free
boundaries of CQ and Ci, while precondition (3) allows us to define an
isomorphism27 between the subcells of FQ and F\.
If these preconditions are honored, then the sewing operation is per-
formed as follows:

1. For all pairs of Darts (d'Q,d'i) incident to (Fo,Fi) do:

This operation generates a common face F resulting from the merging


of FQ and F\.
2. For all i G [0,n] and for each i-cell C incident to F do:
if C has several embeddings, then discard all but one and dispatch
the remaining one to each Dart incident to the new common face
F.

unsew_cell(n, gm, do) unsews the (n l)-cell F incident to a given Dart


do in the n-GMap gm. This operation consists in "freeing" all the Darts
incident to F and is performed as follows without any precondition:

1. Initialize:

2. For all Darts d incident to F do:

This operation generates a new (n l)-cell F' incident to di


3. For all i [0, n] and for each i-cell C incident to F or F' do:
if C does not have an embedding, then create one and dispatch it
to the other C Darts; the value for this new embedding is copied
from the previous shared embedding.

merge_gmap(n,gm, added-gm) adds all the Darts and abstract cells


of the n-GMap added-gm to the n-GMap gm. This operation is only
possible if the two GMaps have the same dimension n and are embedded
in the same space JRm.
27
See definition on page 44.
2.4. GENERALIZED MAPS 79

Figure 2.29 (A) Cellular partition P(A) and subpartition P'(A) of a surface
represented by thin and bold lines, respectively. (B) Nested representation of the
associated GMaps G (in black and white) and G' (in black only). Darts surrounded
by a grey circles in part (C) can be removed to produce a simplified version of G'
represented in part (D).

Extended set of cell transformations {Tk}


In addition to this minimal set of transformations {Tfc}, it is convenient to
add transformations built using traversals and the minimal set of cell trans-
formations defined above; for example:

collapse_cells(n, gm, d) calls delete_cells(n, gm, d) and then performs


some additional sewing operations to fill the hole thus generated.

break_cell(n,gra, i,d, eg) realizes a "radial" partition of the i-cell C


incident to a given Dart d in the n-GMap gm. Such a radial partition
consists in replacing the 2-cell C and all its adjacent cells by a set of new
cells sharing a common new vertex whose embedding is defined by CQ.

In practice, many such additional "composite" transformations can be defined


as combinations of other transformations previously defined.

2.4.8 Cellular subpartition


In biological objects, cells can be gathered into subsets, called organs, which
themselves can be considered as "macro cells" constituting a subpartition of
the initial object. This leads to the notion of cellular subpartition introduced
by Levy [132] and illustrated in figure (2.29).
More precisely, for any given pair of cellular partitions P(A) and P' (A) of
80 CHAPTER 2. CELLULAR PARTITIONS

a manifold object A, P'(A) is a cellular subpartition of P(A) if:

For example, in figure (2.29)-A, thin lines represent a cellular partition P(A)
of a surface A while bold lines represent a cellular subpartition P'(A] of P(A).
If the cellular partition P(A) is represented by a GMap G = Cj(D,ao,.. .,an),
then building a cellular subpartition P'(A) of P(A) is equivalent to splitting
D into a series of subsets {.Di,..., Dw}, with each of them corresponding to
a "macro" n-cell28 of P'(A) and honoring the following constraints:

It is then possible to represent P'(A) by a GMap G' = G(D', a'0,..., a'n) fully
deduced from G and such that

The basic idea is to consider the GMap of the boundaries associated with
the subsets {>i,..., DN} and to link the latter by a function o!i denned as
follows:

It is verifiable (see [132]) that the combinatorial structure G' so defined is


actually a GMap.
Figure (2.29)-B shows the GMap G corresponding to the cellular partition
represented by thin lines in figure (2.29)-A, while figure (2.29)-C shows the
GMap G' associated with the cellular subpartition represented by bold lines
in figure (2.29)-A.

Simplifying a cellular subpartition


It is always possible to simplify the boundaries of the macro n-cells of a cellular
subpartition by replacing a series of Darts by one or two "macro Darts." For
example, in figure (2.29)-C, each series of Darts surrounded by a grey circles
can be replaced by one or two macro Darts represented in figure (2.29)-D.
28
For example, in figure (2.29), such a "macro" n-cell corresponds to a set of triangles
bounded by a bold line.
2.5. IMPLEMENTING GMAP-BASED MODELS 81

Figure 2.30 (A) Horizon and fault surfaces corresponding to the boundaries
between geological layers: the union of all these (2-manifold) surfaces generates
a non-manifold object that cannot be represented by a GMap. (B) The volume
denned as a partition of the 3D space generated by the horizon and fault surfaces
(2-Dividing-Walls) is a 3-manifold object that can be represented by a 3-GMap.

2.5 Implementing GMap-based models


So far, the notion of GMap has been considered as a theoretical framework
allowing the topology of cellular partitions of manifold objects to be described.
It must be noted, however, that Darts and involutions used in GMaps are very
basic notions that are far from geological concepts such as horizons and layers.
For this reason, if we want to implement a topological model based on GMaps,
we need to consider two levels of concepts:
a "basic" level (see section (2.5.2)) corresponding to the implementation of
the notions of Darts, involutions and GMap, and
an "advanced" level (see section (2.5.3)) corresponding more directly to geo-
logical objects.
From a practical point of view, there are many different possible implementa-
tions of these two levels of concepts; as an example, in this section the outlines
of the implementation used in the gOcad software are presented.

2.5.1 Introduction
In practice, the modeling of an object A* can be considered from two points
of view:
either we try to model the object A* itself and this leads to "Boolean" or
"Brep" approaches [183],
or we consider the elements of A* as contributing to the partition P(A) of a
manifold object A containing A* which leads to the notion of cellular model.
Within the framework of section (2.5), we will see how GMaps can be actu-
ally used for building cellular models in a hierarchical way. In the proposed
approach, as suggested in figures (2.17), and (2.30), let it be assumed that
82 CHAPTER 2. CELLULAR PARTITIONS

the manifold object A to be partitioned, called the "universe," is identical


to the whole space lRn+l:

the object A* to be modeled is fully contained in the universe A and consists of


a series of elements {Wi,..., WN} called "dividing walls," that correspond
o o
to n-manifolds objects whose interiors { W I , - - - , W N } do not intersect each
other:

isolated objects with a topological dimension lower than n do not contribute to


the partition "P(A), but can be added to the model as "decoration" elements.
It should be noted that decoration elements could also be included in the
topological model. For this purpose, instead of considering a model as a
GMap, it would be necessary to consider a model as composed of a "chain" of
GMaps {G^, G^ 2 ,...}. In such a model, each G3n. could then be considered
as an "extended" nj-GMap [73] with the following form

where a is a set of permutations allowing "navigation" from a Dart in the


Tij-GMap G3n. to Darts of an adjacent GMap.
As already mentioned, in the realm of geomodeling such an extension is
not really necessary and will not be presented in this book.

A geological example of a 3D cellular model


As suggested in figures (2.1), (2.30), and (2.34), if A* consists of geological
horizons and fault surfaces [155, 69], then:
the universe A is the whole 3D space, or a part of the
3D space, bounded by a bounding box, which constitutes the
(n + 1 = 3)-dimensional object to be split by the elements of A*,
dividing walls correspond to horizons and faults (dim= n = 2), and
decoration elements may correspond, for example, to well-paths
(dim= n 1 = 1) or scattered data points (dim= n 2 = 0).

A geological example of a 2D cellular model


As suggested in figures (2.2), and (2.17), if A* consists of a set of curves
corresponding to the intersections of the horizons and faults with a finite or
infinite open surface29 X, called "cross section" [155], then:
the universe A is identical to X and constitutes the
(n + 1 = 2)-dimensional object to be split by the elements of A*,
dividing walls correspond to curves (dim= n = 1) induced by the intersections
of horizons and fault surfaces with the cross section X, and
29
Note that X may be a plane or a curved surface that does not self-intersect.
2.5. IMPLEMENTING GMAP-BASED MODELS 83

decoration elements may correspond, for example, to scattered data points


(dim=n- 1 = 0).

Notion of virtual Darts


When constructing a brass statue, it is always necessary to build small tubes
connecting the exterior to the interior of the mold into which the melt metal is
poured. Once the statue is completed, the metallic parts (barbs) generated by
these small tubes are removed to preserve the aesthetic aspect of the statue.
Similarly, as shown in figure (2.17), GMaps may need "unaesthetic small
tubes" in the following two cases:
in the connections between the object A* to be modeled and the boundary of
the universe A, and
in the connections between a dividing wall30 not connected to other dividing
walls.
The cells corresponding to these connections and, more generally, any cell
considered of no use, can be declared "virtual." The Darts incident to these
virtual cells are called "virtual Darts" and do not need to have an embed-
ding. In practice, the virtual cells and their associated virtual Darts are not
displayed in graphical applications.

2.5.2 Basic level: GMaps


From a computer science point of view, the notion of GMap can be imple-
mented in many different ways and the complete description of such imple-
mentations is far beyond the scope of this book. In this section, we merely
give the outlines of a possible implementation based on the C++ language:31

Notion of Store
For the sake of clarity, in the rest of this section, we will call "Store" any
C++ class with the following prototype:
class StuffStore {
Stuff create_stuff();
void destroy_stuff( Stuff s );
Stuff get_stuff( Gid gid );
Gid get_gid( Stuff s );

private:
// info related to a database
// for Stuff objects

}
30
In geology, this is the case, for example, when a lens (internal region) is fully contained
in a layer (external region).
31
In practice, for efficiency reasons, a real implementation of Darts and GMaps should be
quite different and much more complex, but conceptually close to the simplified presentation
proposed in this section.
84 CHAPTER 2. CELLULAR PARTITIONS

Such a class is assumed to implement an interface with a database for objects


belonging to the Stuff class, and the member functions offer the following
services:
create-stuff( ) is assumed to
create a new Stuff object,
if needed, store the new Stuff object in the StuffStore, and
return the new Stuff object.

destroy-Stuff(s) is assumed to remove the Stuff object s from the Stuff-


Store and then, if need be, delete it.
get-stuff(gid) is assumed to return the Stuff object, contained in the
database and associated with the key gid belonging to the Gid abstract
class (Gid is an acronym for Generalized-identifier).
get-gid(s) is assumed to return the Gid of the object s contained in the
database.

A naive implementation of GMaps


Prom a conceptual point of view, the Darts of an n-GMap could be represented
as the following recursive data structure:
class Dart {

private: // n = dim of the GMap


Dart *alpha_[n+1];
Gid embedding_[n+l];
Boolean mark_[32];
}

Assuming that n < 30 is the dimension32 of the associated n-GMap, the


private fields of such a data structure hold the following information where
the index i is assumed to belong to [0,n]:
alpha ..[i] is the address of the Dart linked to the current Dart by an c^
involution.
embedding-[i] is the Gid corresponding to a key enabling retrieval of
the i-embedding of the current Dart in the database assumed to be
implemented as an instance of the EmbeddingStore class.
raar/c_[32] is an array of 32 bits used to mark the Darts:
the (n + 1) first entries marfc_[0] to mark-[n] are reserved for storing
flags in such a way that mark^i] true means that the current Dart
is marked as an "i-cell-key" used by the CellManager (see explanation
below),
32
Note that this is simply a practical programming assumption, allowing the array
_marfc[32] to be implemented as a 32-bit word.
2.5. IMPLEMENTING GMAP-BASED MODELS 85

the entry mark-[n + I] is equal to true if the current Dart is virtual, and
the (32 (n + 2)) remaining entries of mark-[-] can be used dynamically
for storing temporary flags in algorithms using Darts (z-orbit traversal,
i-cell iterator, ...).

Theoretically, to ensure the consistency of the embeddings (see section (2.4.2)),


all the Darts of an z-orbit should have the same Gid stored in their respective
embedding_[i] private buffers. To guarantee that such a property is always
true, each instance of the GMap class contains an instance of the CellMan-
ager class that uses the following strategy when applied to a given Dart of the
GMap:
If there is only one i-cell-key Dart in the i-orbit of the current Dart
managed by the CellManager, then do nothing.
If there are more than one z-cell-key Darts in the z-orbit of the current
Dart managed by the CellManager, then choose one i-cell-key Dart in
the z-orbit and:
set the flag mark-[i] of all the others Darts of the i-orbit to false, and
find the Gid of the embedding of the z-cell-key Dart of the i-orbit and
assign its value to the field embedding-[i] of all the Darts of the z-orbit.

As a consequence, from a conceptual point of view, the implementation of


an n-GMap associated with such a Dart data structure should look like the
following:
class GMap { // n = dim of the GMap
public:
GMap( int n );

private:
int n_; // n_=n
Set<Dart*> darts_;
CellManager cm_;
BoolMarkManager bmm_;
EmbeddingStore es_;

In this data structure, the BoolMarkManager class is assumed to be in charge


of the management of the (32 (n + 2)) last bits of the flags stored in the
mark[-] array of the Darts. In particular, the BoolMarkManager provides a
mechanism preventing the situation where two different algorithms might try
to use the same bit at the same time.

2.5.3 Advanced level: Notion of Model


In geomodeling applications, users want to build easily partitions of the 3D
space corresponding, for example, to geological layers and fault blocks. As
86 CHAPTER 2. CELLULAR PARTITIONS

figures (2.30), and (2.32) show, during the modeling process, 2-manifold sur-
faces corresponding to horizons and faults are built and then assembled: such
an assembling operation generates non-manifold configurations similar to the
binding of the pages of a book that cannot be directly represented by a GMap.
As suggested in figure (2.30), rather than trying to model the non-manifold
topological relationships between a set of surfaces {Wi,..., WN} directly, it is
more relevant to consider a cellular partition P(1R3} of the 3D space honoring
the following constraint:33

Any cellular partition P(1R ) so generated can be represented by a 3-GMap.


Similarly and as illustrated in figure (2.17), a set of 1-manifold curves in
the 2D space can be assembled in a non-manifold way to build a partition of
this 2D space.
More generally, the technique of partitioning the IRn+l space by a series
of n-manifold objects whose union is non-manifold is the solution proposed
by Levy [132] and presented in this section for implementing advanced level
concepts such as the notions of Model, Region, Frame and Edge. In practice,
these concepts should be translated in terms of data structures not described
in this book.

Notions of Dividing-Wall, Frame, and Edge


By definition, any orientable n-manifold object W embedded in the Mn+l
space is called an n-Dividing-Wall of Mn+l or, more simply, a Dividing-
Wall. Moreover, for any cellular partition P(lRn+l) honoring the following
constraint,34

we will say that


the (n+l)-GMap F(W) = Q(D~\JD^,o^,.. .,a+i) associated with P(Mn+1)
is a Frame of W, and
the (n - l)-cells of F(W] are the Edges of F(W).
Note that, due to the orientability of W and as explained on page 71, the set
of Darts belonging to the GMap F(W) can always be split into twin sets Dp
and D~p such that

This allows the notions of positive side F+(W) and negative side F~(W)
of the Frame F(W) to be defined as the following twin isomorphic (n 1)-
33
Recall that Pi(A) is the set of i-cells of P(A).
Note that we are interested only in vertices contributing to the description of the
boundary of W.
2.5. IMPLEMENTING GMAP-BASED MODELS 87

Figure 2.31 In a Model, each n-Dividing-Wall W generates a cellular partition


P(]Rn+l) of the embedding space and is associated with a "Frame" F = F(W]
consisting of an (n + l)-GMap of this partition. Such a Frame F = F(W) delegates
the responsibility for its embedding to a Lattice L(W) whose cellular partition is in
turn associated with an n-GMap.

GMaps:

According to equations (2.41)-2, it is clear that both F+(W) and F (W) can
be identified with GMaps of the boundary of W.
An illustration of the notions of Dividing-Wall, Frame, and Edge can be
found in figure (2.31). Figure (2.36) shows a wireframe representation of the
Frames associated with the Dividing-Walls presented in figure (2.34).

Delegation of embedding: Notion of Lattice


Let W be an n-Dividing-Wall. For any cellular partition P(W) of W, the
associated n-GMap

is called a Lattice of W.

Let us now consider the (n l)-GMap dL(W) of the boundary35 of L(W) and
let dL'(W) be the (nl)-GMap corresponding to a given cellular subpartition36
of this boundary:

35
36
See definition on page 60.
See definition on page 79. It should be noted that, if need be, this subpartition may be
identical to the full initial partition dL(W).
CHAPTER 2. CELLULAR PARTITIONS

Figure 2.32 Radial junction of three surfaces along a common edge contribut-
ing to a partition P(A) of a 3-manifold "universe" object A (not represented). The
cellular partition induces a 3-GMap where the links between surfaces along the com-
mon edge are modeled by 0:3 and 0:3 involutions. Each oti involution is represented
by i parallel segments (Q>Q are not shown). The Darts belonging to free edges are
characterized by 0:3 (of) = 0:2(d), and, in this case, only as links are represented.

It can be observed that, the cellular partition P(Mn+1) associated with the
Frame F(W) of W can always be chosen in such a way that
F+(W) is isomorphic to dL'(W)
F~(W) is isomorphic to 8L'(W)
In other words, as figure (2.31) shows and as suggested by Levy [132], it is
always possible to define a function crFL associating each Dart d G (D~p(jDj,}
of the frame F(W) with a Dart d D'L of the "simplified" version dL'(W) of
the boundary of L(W):

In a certain sense, it can be said that this function aFL allows a Frame to
"delegate" its embedding to a Lattice.

Notions of Model and Region


Let {Wi,..., WN} be a set of n-Dividing-Walls embedded in the JRn+1 space
such that

By definition, for any cellular partition P(]Rn+l} honoring the following con-
straints

we will say that


2.5. IMPLEMENTING GMAP-BASED MODELS 89

Figure 2.33 Examples of "gluing" operations performed on two pairs of Frames


associated with 2-Dividing-Walls and 3-Dividing-Walls, respectively.

the (n + l)-GMap M(Wi,..., WN) = G(D, ao,..., an+i) associated with the
cellular partition P(JRn+l) is a Model of {Wi,..., WN}, and the dimension of
this Model is defined as being equal to (n + I):

the (n + l)-cells of M(Wi,..., WN) are the "Regions" of M(Wi,..., WN).


An illustration of these notions of Dividing-Walls, Model, and Regions can be
found in figure (2.30).

2.5.4 Operations on a Model


If our purpose is to build 3D or 2D geological models such as those represented
in figures (2.1), and (2.2) interactively, then we need to have a tool for "gluing"
a free Edge of an n-Dividing-Wall (horizon or fault) to an Edge of another n-
Dividing-Wall. As shown in figures (2.32), and (2.17), from a topological point
of view, these n-Dividing-Walls are represented in the lRn+ embedding space
by their Frames, and the gluing operation corresponds to the installation of
an links between the Edges of these Frames (see figures (2.32), and (2.33)).
In this section, we present this fundamental operation and its inverse, with
other lesser operations - all very useful in practical applications.
90 CHAPTER 2. CELLULAR PARTITIONS

Gluing and ungluing Frames


The most important operations on a Model are gluing and ungluing of Frames
associated with n-Dividing-Walls; as suggested in figures (2.32), and (2.33):
glue_frames(m, do,di) glues, in a "non-manifold" way, a Frame FQ of
the Model m "between" two adjacent Frames {Fi,F%} of ra. If we note

the dimension of the Dividing-Walls of m, then the Frames FQ, F\ and


F-2 are assumed to contain, respectively, the Darts (do, ^1,^2), such that

The gluing operation consists of "inserting" FQ "between" (Fi,F 2 ) very


like a new page between two existing pages of a book. Such gluing is
performed along a common "edge" E\<2 shared by (F\,F<2) and an edge
EQ of FQ such that
Ei2 is the (n l)-cell incident to d\ and cfo, and
EQ is the (n l)-cell incident to do.

This gluing operation is only possible if do honors the following precon-


dition, specifying that do is free:37

If this precondition is honored, then the gluing operation is performed


as follows:
1. Discard (do not remove) the embeddings of all the z-cells incident to do
for i < (n 1).
2. Add din involutions between the pairs of Darts (do,di) and the pair of
Darts (a^ +1 (d 0 ),d 2 ).
3. Add all the ctf involutions between the Darts necessary to honor the
constraints (2.13), (2.14), and (2.15).
4. For any Dart <5i belonging to the (n l)-cell containing do, assign the
same embedding as do to 6\.

It should be noted that


Starting the gluing operation by linking the two pairs of given Darts
(do,di) and (a^ +1 (do),d2) by an a^ involutions fully defines the "direc-
tion" of the gluing.
37
If a^(do) and an &n+i(do) belong to the same virtual cell, then do should also be
considered as free. In practice, the gluing operation must be slightly modified to take care
of this special case.
2.5. IMPLEMENTING GMAP-BASED MODELS 91

It is always possible to have d<2 = o + i(di). In this case, F\ = F<2 and


the gluing operation is very similar to a sewing operation except that
we are "sewing" two Frames, FQ and FI = F?.

unglue_frame(m, d) unglues the Frame F incident to a given Dart d


in the Model m. If we note

the dimension of the Dividing-Walls of m, then this operation is per-


formed without any preconditions, as follows:
1. Restore an a^ involution between the two Darts d and o;^+1(d).
2. For all the Darts that were initially contained in the same (n l)-cell
as d. add all the a^+i involutions necessary to honor the constraints
(2.13), (2.14) and (2.15).

It should be noted that the glue-frames () and imglue_frame() operations


are not neutral relative to the regions of the model:
1. glue_frames(m, do, d\) can kill a region containing the Dividing-Walls asso-
ciated with the Frames to be glued and replace it by two new regions located
on both sides of these Frames.
2. unglue_frame(m, d) can kill the two regions located on both sides of the
Dividing-Walls associated with the Frames to be unglued and replace them
by a new region resulting from the union of the two killed regions.
This means that, as a side effect, these two operations may modify the list of
regions associated with the Model m.

Other operations
Among the many other operations that can be defined on an n-Model, we can
mention:
Addition of a new Frame to a Model. This allows the number of "Dividing-
Walls" contributing to the partition of the object associated with the Model
to be modified incrementally.
Removal of an existing Frame from a Model. As a side effect, this operation
can modify the model's list of regions.
Retrieving the region of a Model containing a given point.
Retrieving all the Frames of a Model surrounding a given region.
Cutting the cells of a Model by a new n-Dividing-Wall.

Comment about virtual cells


As shown in figure (2.17), we have been led to introduce "virtual" cells in
Models to take into account the case where a region is fully included in another
region. We have already mentioned that the virtual cells do not need to have
embeddings, and this is relevant as long as we do not perform a cut operation
of a Model by a new Dividing-Wall. For example, if we want to cut the cells
of the two-dimensional Model shown in figure (2.17) by a curve (1-Dividing-
Wall) intersecting the virtual 1-cell, then
92 CHAPTER 2. CELLULAR PARTITIONS

we actually must know the embedding of the virtual cell, and


the virtual cell has to be partitioned to take into account its points of inter-
section with the cutting curve.
Such an approach is too heavy and ineffective. A better approach consists
of maintaining a tree that describes the inclusion relationships of the regions
within the Model and proceeding as follows:
1. "Prepare" the Model to be cut by removing all the virtual cells.
2. Perform the cut operation.
3. Use the inclusion relationships between the new regions for installing new
virtual cells connecting the boundary of a region to the boundary of each of
its subregions.
Note that operation (1) temporarily transforms the GMap corresponding to
the Model into a graph that is not a GMap, but, from a practical point of
view, this does not matter. Note also that the operation (3) is also in charge
of re-establishing the Model in a state compatible with the definition of the
notion of GMap.

Incremental construction of a Model


In practice, the operations presented above are used for the incremental build-
ing of a Model as follows:
1. Create an empty (n + 1} dimensional Model M = M(0).
2. Create a Lattice L(W] corresponding to a cellular partition P(W) of a
n-Dividing-Wall W. For this purpose it is possible to proceed as follows:
(a) create an empty n-GMap L(W),
(b) use the micro transformations {tj} or the create_cell() macro transfor-
mation described on pages 74 and 77 for building isolated n-cells and
add them to L(W), and
(c) if needed, use the sew operator described on page 77 to weld some n-cells
of L(W}.

3. Create a Frame F(W] such that L(W) is a Lattice of F(W} and add
W to the current Model M.
4. If necessary, repeat operations (2) and (3) for a series of n-Dividing-
Walls {Wi,..., WN} leading to M = M(W^..., WN).
5. If necessary, use the glue operator to weld some Dividing-Walls of the
Model M(Wi,...,WN).
As can be seen, in this approach, the "sew" and "glue" operators perform
complementary roles:
The sew operator is used to weld a pair of n-cells of a Lattice.
The glue operator is used to weld a pair of Frames.
2.6. CONCLUSIONS 93

Figure 2.34 Solid view showing an example of 3D subsurface model where the
regions are bounded by Dividing-Walls corresponding to horizons and faults. Some
regions have been removed to see the internal structures. (Data courtesy of Elf)

Figure 2.35 Exploded view showing the same example of 3D subsurface model
as the one presented in figure (2.34). Some regions have been removed to see the
internal structures.

2.6 Conclusions
Theoretical point of view
According to Lienhardt [138], the main reasons for using GMaps as the basis
of a topological/geometrical modeler are simplicity and rigor:
Simplicity. The definition of the notion of n-GMap is based on:
94
94 CHAPTER 2. CELLULAR PARTITIONS

Figure 2.36 Wireframe representation of the Frames of the Dividing-Walls


corresponding to the 3D subsurface model presented in figure (2.34).

one single data type: the Dart, and


one single type of operator: the involution.
Rigor. It is well known that controlling the construction of a geometric
object and avoiding topological inconsistencies are key issues in geometric
modeling. At any time, the topological properties of a cellular partition P(A)
of an n-manifold object A can be algebraically computed and controlled on
the associated "abstract" n-GMap. This can be extremely useful during the
construction process, since it enables us to predict the result of transforma-
tions. As a consequence, it is possible to control a priori [138] the consistency
of these transformations.
From a programming point of view [23], these two properties of GMaps make
them an excellent choice for developing a topological/geometrical modeler:
The source code of a modeler based on the notion of GMap can be extremely
concise: for example, the kernel of the modeler implemented in the gOcad
software comprises less than 1500 lines of C++ source code [132, 52].
Response time is comparable with those of commercial products with similar
features [23] and may be even better. For example, the main operations,
particularly the traversals, have a time complexity of O(\D\), where \D\ is the
number of Darts. This is not the case for many commercial modelers who
often take O(\D\2) due to their lack of directly accessible topological data.
Other classic data structures, such as those derived from the well-known
"winged edge" [16, 17, 152] or "radial edge" [228], often take up compara-
ble memory space for a more restricted modeling area.
Due to the algebraic nature of the notion of GMap, it is possible to test the
consistency of the software by Algebraic Specification techniques [23].
Such an approach is impossible with models based primarily on data structures
rather than on algebraic properties.
2.6. CONCLUSIONS 95

Practical point of view


For software developers, the following strengths of GMaps can be mentioned:
There are only two main concepts to understand: Darts and involutions.
There is a clear uncoupling of
the topology from attributes, and
the dimension of the objects from the dimension of the embedding space.
Last but not least, from a programming point of view it is possible to de-
fine a concise Application Programming Interface (API) based on the GMaps
mathematical model.
For geologists, GMaps provide a consistent framework to decompose the sub-
surface into homogeneous regions corresponding to 3-cells. In practice, as
suggested in figures (2.1), (2.34), (2.35), and (2.36), the most natural parti-
tion consists of identifying these regions with the layers and fault blocks.
This page intentionally left blank
Chapter

3
Tessellations
In computational geometry, "tessellation" refers to any method allowing the
partitioning of a polyhedral n-dimensional object into a set of adjacent poly-
hedral n-cells. A full presentation of these methods is outside the scope of
this book, where we have opted to describe briefly some of the most impor-
tant methods particularly well adapted to the modeling of natural objects.
For more information on tesselation algorithms, the reader is, for example,
referred to [108, 169, 31, 88].

3.1 Introduction
All through the chapters of this book it is assumed, whether implicitly or
explicitly, that any n-manifold object A to be modeled is decomposed into a
cellular partition. Such a decomposition is used for building a discrete model
of the object A based on an n-dimensional graph (fi, N) denned as follows:
Q = {cti,a2,...} is the set of all the vertices of all the n-cells used in the
cellular decomposition of A.
TV (a) represents the subset of fi called "neighborhood" of a and corresponding
to vertices directly linked to a by an edge of an n-cell of the object A.
(a, /3) is an edge of (fi, TV) if, and only if, f3 e N(a).
Building such cellular partitions is called "tessellation" and constitutes a very
active field of computational geometry. An exhaustive presentation of these
methods is beyond the scope of this work, in itself necessitating several books.
For this reason, we prefer to refer to the abundant literature devoted to this
topic. For example, among the most recent books in this field, we can mention
[31, 88, 169]. The reader is also referred to some works more specifically
dedicated to geoscience problems [51, 155, 217, 218].

97
98 CHAPTER 3. TESSELLATIONS

Figure 3.1 An example of a 2-dimensional Voronoi's diagram (in white) and its
associated Delaunay triangulation (in black). The Voronoi regions are represented in
light grey. The Delaunay points are represented by black points, while the Voronoi
points are represented by white points.

Within the framework of this book, a brief summary of a couple of tessel-


lation methods of particular interest in numerical geology will be given:
First, the Delaunay's tessellation method, which is the most commonly used
technique for decomposing an n-dimensional object into a set of adjacent n-
simplexes, will be presented without a proof.
Next, the important problem of building a triangulated surface denned by its
bordering curves will be addressed.
Decompositions based on regular and irregular curvilinear grids that are par-
ticularly useful for modeling stratified media will also be presented.
Finally, the modeling of surfaces represented by an implicit equation sampled
at the nodes of a 3D grid will be presented briefly.

3.2 Delaunay's tessellation


The decomposition of polygonal regions of the 2D plane into sets of adjacent
triangles was studied in the first half of the 20th century by Voronoi [223]
and Delaunay [56]. Nowadays, these pioneering works are at the origin of an
important part of computational geometry. In this section, we will see how
such decompositions can be generalized, and we will give some hints as to
their implementation.

3.2.1 Definitions
Notion of the dual of a graph
By definition, the dual of an n-dimensional graph Qn is an n-dimensional
graph /* such that any ^-cell C E Qn is associated with one, and only one,
3.2. DELAUNAY'S TESSELLATION 99

It can be observed that this definition is symmetrical and this means that the
dual of the dual (Q^Y *s identical to Qn:

For example, figure (3.1) shows, in bold, a 2-dimensional graph 2 with its
dual C/2 represented in white. It can be observed that
each 2-cell (region) r 2 is associated with a 0-cell (vertex) v* 6 Q^,
an
each 1-cell (edge) e Qi is associated with a 1-cell (edge) e* (E Q^ d
each 0-cell (vertex) v $-2 is associated with a 2-cell (region) r* G Q^.
It is easy to imagine that, in the case of a 3-dimensional graph /3, the rela-
tionships with the dual Q\ can be extended as follows:
each 3-cell (region) r Qs is associated with a 0-cell (vertex) v* e 3,
each 2-cell (face) / e 3 is associated with a 1-cell (edge) e* e 3,
each 1-cell (edge) e 6 (?3 is associated with a 2-cell (face) /* e 3, and
each 0-cell (vertex) v ^3 is associated with a 3-cell (region) r* G 3.

Notion of Voronoi's diagram and Delaunay's tessellation


Let P = {p 1 ,...,p m } be a set of m distinct points in the n-dimensional
Euclidean space Mn. By definition:
We note as V(pi) and call it the Voronoi region of p^ 6 P, the n-cell of
IRn consisting of all the points x that are closest to pi than any other
point of P:

As shown in the shaded area of figure (3.1), each n-cell V(pi) is a poly-
hedral cell containing the point p^.
We note as VT>(P] and call it the Voronoi diagram of P, the set of points
of Mn that do not belong to any Voronoi region V(pi):

As shown in figure (3.1), Voronoi's diagram consists of an n-dimensional


graph (in white) corresponding to the union of the boundaries of the
Voronoi regions.
We note as V(P) and call it the Voronoi tessellation of P, the set of all
the Voronoi regions that one can build on P.
100 CHAPTER 3. TESSELLATIONS

Figure 3.2 An example of a 2-dimensional Delaunay triangulation (in black):


the circumcircle (in white) of any Delaunay triangle does not contain any other
vertex.

We note as <S(p0, Pi, , pn) and call it the circumsphere of a (n + 1)-


uplet (pcuPi, -)P n )' the closed ball of lRn whose boundary contains
the points (p 0 ,Pi, -,pj.
We note as T(p 0 ,p 1 ,.. .,p n ) and call it the Delaunay triangle1 of the
set P, any n-simplex whose vertices (p 0 ,p 1 ,..., p n ) belong to P and
whose circumsphere <S(po,Pi> ->P n ) does not contain any point of P
in its interior.
We note as T>(P) and call it Delaunay's tessellation of P, the set of all
the Delaunay triangles that one can build on P.

3.2.2 Properties
Delaunay theorem
The Delaunay's tessellation T>(P) can be identified with the dual V*(P) of
the Voronoi tessellation V(P):

This theorem was proven in 1934 by Delaunay in the particular case n = 2


where the 2-simplexes are actual triangles. For a proof of the general case,
the reader is referred, for example, to [169].
One can see in figure (3.1) an example of Delaunay's tessellation (in bold)
in the particular case where n = 2.
1
Note that a Delaunay triangle is a real triangle only in the particular case where n = 2.
In the case where n = 1, a Delaunay triangle is actually a segment, and in the case where
n = 3, a Delaunay triangle is a tetrahedron.
3.2. DELAUNAY'S TESSELLATION 101

Properties of a Voronoi's diagram V(P)


(VI) Each Voronoi region V(pi) is convex.

(V2) A Voronoi region V(pi) is an unbounded part of ]Rn if and only if p^ is


on the convex hull of P.

(V3) The Voronoi tessellation V(P} is a finite cellular partition of lRn.

(V4) If q is the node of the Voronoi's diagram VD(P] located at the junction
of (n + 1) Voronoi regions F(p0), I^(PI), ., V(p n ), then q is the
center of the circumsphere <S(p0, p l 5 . . . , p n ) and this circumsphere does
not contain any other point of P.

Properties of a Delaunay's tessellation T>(P]


(Dl) The Delaunay's tessellation T>(P] can be identified with the dual V*(P)
of the associated Voronoi tessellation (Delaunay theorem).

(D2) The boundary of the Delaunay's tessellation 'D(P) is the convex hull of
the point set P.

(D3) The Delaunay's tessellation T)(P) is a finite cellular partition of the


interior of the convex hull of the point set P.

(D4) In the 2-dimensional case (n = 2), the Delaunay's tessellation T>(P] is


the triangulation of the interior of the convex hull of the point set P
that maximizes the smallest angle of each triangle.

(D5) A tessellation made up of n-dimensional simplexes whose vertices consist


of a set of points P is a Delaunay's tessellation T>(P) if, and only if, the
circumsphere of any n-simplex T G T>(P] contains no vertex of P other
than the vertices of T (see figure (3.2)).

The above property (D4) explains why, in 2-dimensions, Delaunay triangula-


tions tend to generate "nice" triangles close to equilateral triangles. This is
particularly important for finite element methods which use these triangles
and whose numerical stability depends on the shape of these elements.

Granularity of a Delaunay's tessellation T)(P}


For n > 2, the property (D4) is no longer applicable, but one can observe that
the Delaunay's tessellation still produces "nice" triangulations. It is only in
1989 that Raj an [178] found the following property, called the "property of
granularity," which in a way generalizes and extends the above property (D4):
let A(P) be a set of adjacent n-simplexes generating a cellular partition of
the interior of the convex hull of the point set P,
let s(T) be the smallest sphere containing the n-simplex T, and
102 CHAPTER 3. TESSELLATIONS

Figure 3.3 Mean steps of the insertion of a new point p in the Bowyer-Watson
Delaunay's tessellation algorithm in the 2-dimensional case: (1) A new point p is
inserted in a triangle. (2) The triangle t containing the new point is retreived. (3)
The set Af(t\p) of all the triangles to be removed is determined. (4) The cavity
A/"(|p) is filled with new Delaunay triangles.

let Grain(A(P)) be the radius of the largest sphere s(T) associated with the
simplexes of A(P):

Rajan's granularity property guarantees that the Delaunay's tessellation T>(P)


is optimal in the following sense:

3.2.3 An incremental algorithm


Many algorithms have been proposed in the literature for building Delau-
nay tessellations. In this section we present an incremental algorithm inde-
pendently proposed by Bowyer [33] and Watson [226] that has the following
advantages:
This algorithm is independent of the dimension n of the simplexes being built.
The implementation of this algorithm is simple.
This algorithm can be used for editing an existing Delaunay's tessellation by
inserting new points.
3.2. DELAUNAY'S TESSELLATION 103

Bowyer-Watson incremental algorithm


Let us assume that a Delaunay's tessellation V(P] is already known for a given
point set P and we would like to add a new point p to P and build a new
Delaunay's tessellation T>(P(J{p}). In this case, Bowyer and Watson propose
using the following incremental algorithm whose principle is illustrated in
figure (3.3):
// Bowyer-Watson algorithm^!
Find the n-simplex t G T)(P} containing p
Build the subset A/"(i|p) consisting of all the n-simplexes
of T)(P] whose circumsphere contains p in its interior
Build the subset M*(t\p) consisting of the set of all the
n-simplexes corresponding to a new partition
of the region N(t\p) by n-simplexes sharing the vertex p
Build D(PU{p}) = T>(P) - N(t\p) + N*(t\p)
Two comments must be made about this algorithm:
If a light spot is put at location p, then one can show that all the
vertices of cW(|p) are "lit up." As a consequence, jV*(|p) consists
of all the n-simplexes having p as a vertex whose opposite "face" is a
(n l)-simplexes of cW(t|p).
The determination of the n-simplex t containing a point p can be per-
formed efficiently thanks to the following algorithm (see figure (3.3) - top
right) which takes advantage of the orientation of the "faces" ((n 1)-
simplexes) of each n-simplex t *D(P}\

// Bowyer-Watson algorithni#2
t < any n-simplex of T>(P)
found < false
while ( found ! = true ) {
for_all( face / of t ) {
let pj be the vertex of t opposite to /
if( p and pf are on two sides of / ) {
t < simplex adjacent to t and sharing / with t
found true
go to newJ,
} else {
found < false
}//- end: if_else
} //- end: for_all
newJ,
} //- end: while
The Bowyer-Watson algorithm #1 can easily be turned into an algorithm
able to build the Delaunay's tessellation T>(P) of any point set P. For this
purpose, the following algorithm can be used:
104 CHAPTER 3. TESSELLATIONS

Figure 3.4 Constrained 2-dimensional tessellation: principle of the "edge swap"


algorithm.

// Bowyer-Watson algorithm's
Let To be an initial n-simplex chosen in such a way that
it contains all the points of P
Let PQ be the point set consisting of the (n + 1) vertices of TO
Let X>(Po) = To
for_all(pP) {
Use the Bowyer-Watson algorithm #1:

} // end: for_all
Let >(Po;Tb) be the subset of >(Po) consisting of all
the n-simplexes sharing a vertex with TO
Build P(P) = >(P0) - >(Po;T0)

The Delaunay constrained tessellation: 2-dimensional case


Let P be a given set of points in the 2D plane and let 8 be a set of segments
such that the vertices of any segment e E belong to P; in addition, we
assume that the segments of do not cross each other. By definition, we note
as T>(P\] and call it "Delaunay's tessellation of P constrained by ," any
set of adjacent triangles deduced from V(P) in such a way that any segment
e G is the edge of at least one triangle of T>(P\).
Before presenting an algorithm able to construct T>(P\) from T)(P), let
us define the "edge swap" operation as follows: if two adjacent triangles
T(p 0 ,Pi, P 2 ) and T(PQ, p l 5 p 2 ) share a common edge (p l 5 p 2 ), then this edge
is said to be "swapped" if the two initial triangles are replaced by two new
triangles T(pl, P0, Po,) and T(p2, p0, pj$,).
Using this "edge swap" operation, Cherfils and Hermeline [44] have shown
that the following very simple "edge swap algorithm," illustrated in figure
3.2. DELAUNAY'S TESSELLATION 105

Figure 3.5 Constrained 2-dimensional Delaunay's tessellation of the interior of


a close curve, without internal points (left) and with internal points (right).

(3.4), converges and iteratively transforms a triangulation T>(P] into a con-


strained triangulation T>(P\] respecting the segments of :

If Edge swap algorithm (2D case)


V(P\] < T>(P)
ok < false
while ( ok ! = true ) {
ok < true
for_all( segment e E ) {
let * be the current set of the edges
of the triangles of T>(P\] that intersect e
if(V0) {
ok * false
for_all( e* * ) {
swap the edge e* and update T>(P\)
} //- end: for_all
} //- end: if
} //- end: for_all
} //- end: while

The planar closed curve Delaunay's tessellation


As a consequence of the edge swap algorithm presented above, if the segments
of constitute a planar closed curve and if P is a given point set, then, as
shown in figure (3.5), it is easy to build a triangulation filling the interior of
this curve: for that purpose, we have only to build a constrained tessellation
T>(P\) and then to remove all the triangles that have a center of gravity
outside the closed curve generated by . As suggested by figure (3.5), one can
easily imagine the following algorithm for inserting dynamically points in P
at select locations to improve the quality of the tessellation:
106 CHAPTER 3. TESSELLATIONS

Figure 3.6 Switching a face of tetrahedra f with an edge e replaces the two
tetrahedra sharing the face f by three tetrahedra sharing the edge e.

// Planar closed curve Delaunay's tessellation


let = set of edges of a closed curve
let P = set of vertices of
compute T>(P)
while( 'D(P) is not optimal ) {
look for the "ugliest" triangle Tu of D(P)
compute the barycenter p of Tu
use the Bowyer-Watson algorithm
for inserting p in P and >(P)
}
use the edge swap algorithm for computing >(P|)
remove from >(P|) the triangles whose barycenter
is outside the closed curve associated with 8.

This simple algorithm can be adapted in many different ways depending on


the properties one wishes to obtain for the resulting tessellation (e.g., see [51]).

The Delaunay constrained tessellation: 3-dimensional case


Let P be a given set of points in the 3D space, and let T be a set of triangles
such that the vertices of any triangle t 6 T belong to P; in addition, it is
assumed that the triangles of T do not cross each other. By definition, we
note as Z>(P|T) and call it "Delaunay's tessellation of P constrained by T"
any set of adjacent tetrahedra deduced from T>(P) in such a way that any
triangle t G T is the face of at least one tetrahedron of >(P| T).
It is possible to extend the edge swap algorithm to the 3-dimensional case,
but this is considerably more complex than in 2 dimensions. As suggested in
figure (3.6), one of the origins of this increased complexity is that a 3D edge
of ta etrahedron must now be swapped with a 3D face of a tetrahedron, that
is to say, a triangle. This type of algorithm will not be presented; refer to [88]
for an exhaustive presentation of such an approach.
3.2. DELAUNAY'S TESSELLATION 107

Figure 3.7 Constrained ^-dimensional Delaunay's tessellation of the union of


a series of adjacent complex geological regions. The edges of the tetrahedra are
constrained not to cross the horizons and fault surfaces.

A simpler method consists in allowing the insertion in P of new points


located on the triangles of T. In practice, these additional points, called
"Steiner's points" are chosen iteratively on the current triangles of T inter-
sected by some edges of >(P|T). The insertion of these new points changes
the tessellation locally and tends to remove the undesirable intersections. Fig-
ure (3.7) gives an example of 3-dimensional tessellation obtained with this
approach: as shown in this figure, the interior of complex geological regions
bounded by closed surfaces can be tessellated while preventing the edges of
the tetrahedra from cutting these surfaces.

3.2.4 Sculpting a point set


There are some applications where an unknown solid is defined by an unstruc-
tured set of points corresponding to a sampling of this solid in 3D space. In
such a case, one can think of using the 3D Delaunay's tessellation algorithm
for building a discrete model of this solid as follows:
1. Use the unconstrained 3D Delaunay's tessellation algorithm to build the small-
est convex solid containing the given set of points.
2. Remove simplexes from this solid to build a non-convex "shape" approximat-
ing, as far as possible, the unknown solid.
Depending on the strategy used for removing simplexes from the initial convex
solid, one can distinguish the following methods:
108 CHAPTER 3. TESSELLATIONS

cn-shapes
To each simplex a consisting of an edge, a triangle or a tetrahedron of the
initial 3D Delaunay tetrahedralization, we can associate a coefficient a(<r) such
that

where S(a] is the circumsphere (see page 100) of a.


Edelsbrunner and Mucke [71] propose removing from the initial 3D Delau-
nay tetrahedralization all the simplexes whose coefficient a (a) is greater than
a positive parameter a given interactively by the user. They propose calling
the subset of simplexes so generated a-shape. We can make the following
observations (see [51]) concerning the results of this method:
From an aesthetic point of view, the shapes so generated are acceptable and it
is generally possible to set the parameter a interactively to obtain the desired
shape.
Prom a practical point of view, a-shapes are only "shapes" composed of incon-
sistent sets of edges, triangles, and tetrahedra that cannot be used for discrete
modeling purposes.

/3-shapes
To each tetrahedra t belonging to the initial 3D Delaunay tetrahedralization,
we can associate a coefficient b(t) such that

where B represents the current boundary of the solid to be constructed. Vis-


ibly, such a coefficient can be considered as a measure of the "flatness" of the
tetrahedra belonging to the boundary of the current solid.
Assuming that a positive threshold (3 is controlled interactively by the user,
Boissonat [29] suggests removing some of the tetrahedra with a coefficient
b(t) greater than /3 from the initial 3D Delaunay tetrahedralization. The
originality of the method comes from the way the tetrahedra are removed
from the current solid:
Only tetrahedra (and the triangles and edges they contain) are removed.
Only the tetrahedra whose removal generates neither a modification of the
topology of the current solid nor a removal of an initial data are removable.
Consequently, at any one time, it is forbidden to remove:
tetrahedra that do not share any face with the boundary of the current
solid,
tetrahedra that share 3 or 4 faces with the boundary of the current solid,
and
tetrahedra that share a face, and thus 3 vertices, with the boundary of
the current solid, but whose fourth vertex is itself on the boundary of
the solid.
Contrary to a-shapes, the objects so generated have a constant topological
dimension equal to 3 and can be considered as consistent objects that can be
used as discrete models. We propose calling these objects /3-shapes.
3.3. NON-DELAUNAY TRIANGULATED SURFACES 109

Figure 3.8 Triangulation of 3D non-planar closed curves: series of links are


determined to decompose the curves into more or less planar adjacent loops.

3.3 Non-Delaunay triangulated surfaces


As we will see in chapter 6, triangulated surfaces play a central role in the
modeling of the subsurface. For this reason, it is important to have a large set
of methods allowing initial versions of these surfaces to be built from rough
data. The Delaunay's tessellation presented in the previous section is a very
efficient tool, but this method is applicable only if the surface to be built is a
part of a plane. For this reason, we present in this section some new methods
that do not suffer from this limitation and are particularly well adapted to
geological problems when the surface to be built is defined by its boundary:

the "patch algorithm" corresponds to the case where the surface to be


built interpolates a 3D closed curve (see figure (3.8)),

the "strip algorithm" corresponds to the case where the surface to be


built interpolates two 3D open curves (see figure (3.9)),

the "skin algorithm" corresponds to the case where the surface to be


built interpolates two 3D closed curves (see figure (3.12)), and

the "pants algorithm" corresponds to the case where the surface to be


built interpolates one series of 3D closed curves correlated with another
series of 3D closed curves (see figure (3.15)).
110 CHAPTERS. TESSELLATIONS

3.3.1 Patch Algorithm


Formulating the problem
As shown in figure (3.8), let us consider a closed 3D polygonal curve C(P),
denned by an ordered set of M vertices assumed to be numbered2 as follows:

By definition, any method allowing a triangulated surface T whose boundary


is identical to C(P) to be built, is called a "patch algorithm:"

In practice, we have to consider two cases:

If C(P} is planar and is not self-intersecting, then a natural solution con-


sists in using the planar closed curve Delaunay's tessellation algorithm
presented on page 105.

If C(P) is a not a planar curve or is self-intersecting, then it has to be


subdivided into a series of approximately planar, not self-intersecting,
adjacent closed curves to which the planar Delaunay's tessellation algo-
rithm can be applied.

A recursive subdivision algorithm


Let "P(g, n) be a plane orthogonal to the unit vector n and containing the
point g:
The orthogonal projection TT(X) of any point x JR3 on "P(g, n) is such that

and we note P* the orthogonal projection of P onto "P(g, n):

Conversely, the original p(i) G P of any point 7r{p(i)} G P* will be noted as


T{P*(*)}

Based on these notations, it is proposed using the following recursive "patch


algorithm" to build a triangulated surface T honoring the constraint (3.5):
2
We recall that the notation (o%b) represents the rest of the division of a by b.
3.3. NON-DELAUNAY TRIANGULATED SURFACES 111

// Patch algorithm
void Patch( C(P), T ){ //- Patch algorithm
//
//- input C(P) = closed 3D polygonal curve
// output T = triangulated surface honoring (3.5)
look for an optimal plane "P(g, n) such that
P* = TT(P) => C(P*) ~ C(P)
M= P //- number of vertices of P
dmm < hOO
?"min * -L
Jmin * J-
for( i = l ; i < M ; i + +) {
for( j = i + 1 j < M ; j + + ) {
if({p*(z),p*(z + l)}n{p*(j),P*(j + l)} ^ 0 ) {
d=||p*(t)-P*U)ll
if( d < dmin ) {

* dmin * d
* 1min * 1
A /i . ^ i
* Jrrnn * J
} If- end if
} //- end if
} //- end for j
} //- end for i
II
if( imin == 1 ) { //~(P*) does not self-intersect
T < Delaunay's tessellation of C(P*) (see page 105)
reset each node of <9T = C(P*) to its initial location in 3D:
p*(i) 7r(p*(*)) Vp*(i)eP*
set DSI Control-Nodes on P*
apply DSI to T to set the location of internal nodes
} else {
as shown in figure (3.8), split C(P) into two closed curves
C(P') and C(P") sharing (p(i m m),p(jmin)) as common edge
Patch( C(P'),T' )
Patch( C(P"),T" )
T < T' U T"
} //- end if_else
} //- end Patch

Looking for an optimal plane P(g, n)


The patch algorithm presented above only works well if an "optimal" plane
"P(g, n) can be found such that

In practice, we suggest proceeding as follows:


112 CHAPTER 3. TESSELLATIONS

Define gj and ii as

gj = center of gravity of (p(i), p(i + 1))


li = ||p(* + l)-p(t)||

Choose g as the center of gravity of the set of points {g^} weighted by the
{li} coefficients:

It is possible to check that g so defined is the center of gravity of the curve


C(P}.
Choose n as the eigen vector associated with the smallest eigen value of the
3 x 3 symmetrical matrix C defined by

We will show herein below that such a choice for g and n is optimal in the
following sense:

Proof
According to the definition (3.6) of TT(-), we have:

If we want to minimize X\^ ||g^ ^(gJI) 2 under the constraint ||n||2 = 1,


then we have to look for the optimum of the following function where A is a
Lagrange multiplier (see [141, 90, 163]):

The optimum of (u) is achieved when its vectorial derivative vanishes (see
page 147):

In other words, the optimal choice for n corresponds to an eigen vector of C


associated with the eigen value A:
3.3. NON-DELAUNAY TRIANGULATED SURFACES 113

Figure 3.9 Building a triangulated strip between two open polygonal curves
C(P) and C(Q).

Combining (3.8), and (3.9), we obtain

and this shows that, to honor the constraint (3.7), then n must be associated
with the smallest eigen value A of C.

3.3.2 Strip Algorithm


Formulating the problem
As shown in figure (3.9), let us consider two polygonal open curves C(P] and
C(Q) whose vertices correspond to the two following ordered point sets P and
<5, respectively:

By definition, any method allowing a triangulated surface T whose boundary


contains C(P] and C(Q) to be built is called a "strip algorithm:"

In practice, as illustrated in figure (3.9) we will look for an ordered list of


L edges such that
114 CHAPTER 3. TESSELLATIONS

Moreover, to obtain a triangular mesh, we impose the following constraints:

With such a constraint, for k < L, each edge e(k) can be associated with a
triangle T(k) such that

To obtain "nice" triangles, it is wise to introduce the following additional


constraint:

The union of all the triangles T(k) so defined constitute a simply connected
triangulated surface T(S):

As suggested in figure (3.9), this triangulated surface T looks like a rectangular


strip of triangles limited by a polygonal boundary <9T such that

In the following paragraphs, we propose to determine an optimal list of edges


respecting the constraints (3.10), and (3.11). For this purpose, we present
a dynamic programming method similar to those proposed by [86, 43, 51, 41].

Dynamic Programming approach


As shown in figure (3.10), the set of all the possible edges e(k) can be repre-
sented by a 2D rectangular network E with M rows and TV columns and with
nodes E(i,j) such that

Each list corresponds to a path in the network between the nodes .E(l, 1)
and E(M,N); according to the constraint (3.10), any valid path corresponds
to a series of rightward and downward steps between E(l, 1) and E(M, N}:

3
Note that the criterion ||e(fc)|| 2 can be replaced by many other possible criteria such
as, for example, the length ||e(A;)|| or the area of the triangle generated (see Meyers [161]).
In practice, all these criteria give similar results.
3.3. NON-DELAUNAY TRIANGULATED SURFACES 115

Figure 3.10 A triangle strip algorithm: 2D network whose nodes correspond to


all the possible edges e(k] between a vertex p(ik) and a vertex q(jfe)-

Let jCij be the set of all the partial valid paths between E(l, 1) and E(i,j],
and let tij be the "optimal" element of Lij denned by

It is clear that the optimal path SMN is identical to the optimal list 8 denning
the optimal triangulated strip T to build.

Building an optimal path


The Dynamic Programming theory is based on the Bellman principle [18],
which can be formulated in the following, very general, way:
Any optimal solution can be composed only of
partial optimal solutions.
Within the framework of our problem, this principle can be interpreted as
follows:

These values A(i,j) can be gathered into a matrix [A] with easily computable
M rows and N columns, thanks to the following algorithm based on the above
relation (3.12):
116 CHAPTER 3. TESSELLATIONS

Figure 3.11 Part (A) shows a triangulated surface bridging two open curves.
Part (B) shows the same surface after applying "resampling" and "beautifying"
algorithms.

Once the matrix [A] has been computed, it is possible to build the optimal
list using the following iterative algorithm, which is a straightforward con-
sequence of the Bellman principle (see equation (3.12)):

In the above program, the operation a 0 b represents the list resulting from
the concatenation of two lists a and b.
3.3. NON-DELAUNAY TRIANGULATED SURFACES 117

Figure 3.12 Building a triangulated surface (skin) between two closed 3D


curves.

Taking links into account


It may be that we want to constrain the triangulated surface T generated by
the above strip algorithm to honor a given edge link, for instance, {p(i), q (.?')}
In this case, to honor such a constraint, the only possibility is to split the
initial problem into two subproblems associated with the two pairs of curves
{C(P)i,C(Q)i} and {C(P) 2 ,C(Q) 2 } such that

Example
Figure (3.11)-A gives an example of a triangular strip between two open 3D
curves. The resulting triangulated surface presents very skewed triangles and,
would benefit from being "resampled" and "beautified" (see sections (6.6.2),
and (6.6.1)) to achieve a better triangulation, similar to the one shown in
figure (3.11)-B.

Comment
It should be noted that the "strip" algorithm presented above can also be
viewed as a tool for automatically correlating two curves of the 3D space. For
example, this algorithm can be used for correlating the curves contained in
a pair of non-intersecting surfaces corresponding to geological cross sections.
This is particularly interesting in the development of an algorithm able to
build automatically a 3D cellular model from a series of cross sections (see
[155]).
118 CHAPTERS. TESSELLATIONS

Figure 3.13 Linking the closest points p*(fc) and q*(/i) of two closed curves
can lead to the construction of an incorrect skin between these two curves.

3.3.3 Skin Algorithm


Formulating the problem
As shown in figure (3.12), let us consider two closed 3D polygonal curves
C(P*) and C(Q*} denned by two ordered sets P* and Q* of M and N vertices
assumed to be numbered4 as follows:

and

By definition, we call "skin algorithm" any method allowing a triangulated


surface T whose boundary is identical to the union of C(P*) and C(Q*) to be
built:

Solution derived from the strip algorithm


Let us cut the curves C(P*) and C(Q*) at nodes p*(fc) e P* and q*(/i) e Q*,
and let P and Q be the new point sets obtained by renumbering P* and Q*
as follows:

Prom P and Q so defined, two new, open polygonal curves C(P) and C(Q]
whose geometry is the same as C(P*} and C(Q*) can be built and the strip
4
The notation (a%6) represents the rest of the division of a by b.
3.3. NON-DELAUNAY TRIANGULATED SURFACES 119

Figure 3.14 Installing links between two closed curves enables us to constrain
the shape of the skin joining these two curves.

algorithm thus used for building a triangulated surface between C(P) and
C(Q).
The only difficulty arises when choosing the points p*(fe) 6 P* and q*(/i) 6
Q*. A naive solution consists in choosing these two points to minimize
||p*(&) q*(/i)|| - this can lead to surprising results such as the one shown in
figure (3.13). In practice, a better choice of the pair of points (p*(fc),q*(/i))
can be obtained as follows:
Build the 3D Delaunay's tessellation D(P* U Q*) of the point set (P* U Q*).
Extract the convex hull of (P* U Q*} which, according to property (-D3) page
101, is the boundary <9>(P* U Q*} of V(P* U Q*).
Look for the shortest edge (p*(fc), q*(/i)) belonging to dT>(P* U Q*) and such
that p*(fc) P* and q*(/i) Q*.

Taking links into account


The skin algorithm described above is fully automatic and may produce solu-
tions that do not cope perfectly with the triangulated surface shape initially
sought by the user. For example, in figure (3.13), it can be seen that this
algorithm correlates the points of C(P*) and C(Q*) automatically, without
taking into account the similarities between these two curves.
As shown in figure (3.14) and to take these similarities into account, some
links between pairs of points (p*(fc),q*(/i)}, located on C(P*) and C(Q*),
respectively, have to be installed manually. These pairs of points split the
closed curves C(P*) and C(Q*) into a series of pairs of open curves to which
the strip algorithm can then be applied (see [70]).

3.3.4 Pants Algorithm


Formulating the problem
Let us consider two families of closed curves given in the 3D space:
a family {C(P) : a = 1,.. .,ra} consisting of closed curves "more or less"
located in a plane A, and
120 CHAPTER 3. TESSELLATIONS

Figure 3.15 An example of pants joining two families of 3D closed curves.

a family {C(Q*p) : /3 = l,...,n} consisting of closed curves "more or less"


located in a plane B.
Moreover, we assume that A and B are "more or less" parallel in the sense that
these planes eventually intersect, far from the curves {C(P*}} and {C(Q^}}.
For example, as shown in figure (3.15), if ra = 1 and n 2, then these two
families of curves can be considered as the pants' boundary. For this reason,
we propose calling "pants algorithm" any method that allows the construction
of a continuous surface whose boundary is coincident with two given families
of curves (C(P*)} and {C(Q*p)}.

Solution derived from the skin and patch algorithms


As you can see, the pants problem is a generalization of the skin problem. A
solution based on a four-step algorithm using the patch and skin algorithms
already presented in sections (3.3.1), and (3.3.3) is proposed below. For the
sake of simplicity, we will assume that {C(P*}} and {C(Q*p)} are planar and
that planes A and B do not intersect:
Step 1 In the plane A, build a closed curve C(P*) containing all the
curves {C(P*}}.
Use the constrained Delaunay's tessellation algorithm (see
page 105) for filling the gap between C(P*) and the family
{C(P*}} with triangles (see top figure (3.16)).
Displace C(P*) toward the plane B one third of the distance
between planes A and B (see bottom figure (3.16))
Step 2 Perform the same operations as in step 1 above on the second
family of curves {C(Q*p}}.
3.3. NON-DELAUNAY TRIANGULATED SURFACES 121

Figure 3.16 Step 1 of the pants algorithm.

Step 3 Apply a skin algorithm to the pair of closed curves C(P*) and
C(Q*).

Step 4 Merge the three triangulated surfaces generated by the above


three steps into one unique surface T.
If needed, apply a "beautifying" algorithm (see page 305) to
reach a more regular triangulation.
Set DSI Control-Nodes on the boundary of T, and apply DSI
to obtain a smooth surface (see bottom of figure (3.15)).

It should be noted that other efficient solutions derived from the 3D Delaunay
tesselation of the set of points corresponding to the vertices of the two families
of curves have been proposed (e.g., see [30]).

Taking links into account

As in the case of the skin algorithm, adapting this algorithm to take into
account some links installed interactively between the two families of curves
is straightforward. This is particularly useful in practical applications when
the user wishes to constrain the resulting surface to cope with some predefined
shape he/she has in mind.
122 CHAPTER 3. TESSELLATIONS

Figure 3.17 An example of a regular 3-grid embedded in the 1R3 space. As


you can see, this grid is cut by a set of geological faults that generate split nodes.
The geometry of the cubic 3-cells bordering the faults has been adjusted to fit the
geometry of these faults.

3.4 Notion of a regular n-grid


3.4.1 Definition
Let us first consider an n-dimensional parametric space Mn associated with
the following entities:
{Uk1...kn} is the infinite family of n-cells of Mn corresponding to generalized5
unit parametric squares defined by

where u1 is the ith coordinate of u, while ki is assumed to be a nonnegative


integer.
RNi...Nn is a "rectangular" closed region6 of Mn defined7 by

where {Ni,..., Nn} are assumed to be n given positive integers.


5
The cells {C/fe 1 ...fc n } are actual squares only in the case where n = 2.
6
Such a region is actually a rectangle only in the case n = 2.
7
Note that Ukl...kn is the closure of Ujtl...kn (see definition on page 31).
3.4. NOTION OF A REGULAR N-GRID 123

Let m > n be a given integer, and let x(u) = X(M I , .. .,w n ) be a mapping8
from JRn to JR771. By definition, the image GNi...Nn of the parametric rectangle
RNi...Nn is called a regular (curvilinear) n-grid of JRm, while the image Ck^...kn
of any unit parametric square Ukl...kn is called an n-cell of the regular n-grid:

One can observe that the n-cells {Ck1...kn} so denned generate a partition of
the regular n-grid:

Most of the time in geological applications, the embedding space has a di-
mension equal to m = 3. An example of a regular 2-grid can be seen in figure
(6.22), and an example of a regular 3-grid embedded in the 1R3 space is in
figure (3.17).

Practical convention
From a practical point of view, from now on, we will assume that there is an
implicit cellular decomposition of the boundary of each cells C'fc1...fcn such that
the i-cells of dCk-^...kn are the images of the ^-cells of dU^...^- In particular:
the vertices of dCki...kn are the images of the vertices of dUkl...kn,
the edges of dCkl...kn are the images of the edges of dUkl...kn,
the faces of <9Cfe1...fen are the images of the faces of 5f/fc 1 ...fe rt ,
and so on.

As a consequence, we can consider the n-cells {C^...^} as generalized "curvi-


linear" rectangles,9 and the associated regular n-grid as a curvilinear grid.

Importance of regular 3-grids in sedimentary geology


As shown in figure (3.17), regular curvilinear 3-grids are particularly well
adapted to the modeling of geological stratigraphic layers. In this particular
case, as suggested in figure (10.1), the following notations for the components
of the parameter u are traditionally used

and these curvilinear coordinates (w, v: w) are interpreted as follows:


8
Note that x(u) may be discontinuous: in geology, such discontinuities occur in the case
where JRn is affected by some faults.
9
The cells {Cfc 1 ...fc n } are actual curvilinear rectangles only in the case where n 2.
124 CHAPTER 3. TESSELLATIONS

Figure 3.18 An example of a regular curvilinear 3-grid fitting the geometry of a


paleo-channel. Each section is modeled as a Coons patch (A*, B*, C*, D*) deduced
by curvilinear transformations of the boundaries of a rectangle (A, B, C, D).

w corresponds to the "paleo-vertical" direction orthogonal to the layer


that can be considered as the "geologic-time" axis. Implicitly, it is
assumed that there is an unknown monotonic increasing function10 t =
t(w) linking the geological time t to w.

(u, v) corresponds to the "pseudo-horizontal" surface parallel to the layer


that can be interpreted as the "paleo-horizon" at the time t = t(w)
of deposition. In a way, we can consider (w, v) as "paleo-geographic
coordinates" at geological deposition time t = t(w).
In other words, thanks to an adequate parameterization, regular 3-grids can
capture not only the geometry x(u) of the layers, but also information related
to the geological depositional process. In practice, if needed, such information
can be used by numerical geology algorithms such as, for example, balanced re-
constructions [160, 95, 236] and depositional models (e.g., see section (10.3.5)
page 556).
Other types of parameterizations can be found to cope with the geometry
of complex geological bodies [200]. For example, figure (3.18) shows a 3-grid
modeling the geometry and the internal structures of a paleo-channel: In this
case, u1 corresponds to the stream lines while (u 1 ,^ 2 ) define the sections of
the channel.

3.4.2 n-GMap associated with a regular n-grid


As shown in figure (3.19), the abstract topological space (see page 44) as-
sociated with a regular n-grid is generally identified with its n-dimensional
parametric space. In this parametric space, it is easy to build the n-GMap
Q(D, ao,..., an] associated with the partitioning of the regular n-grid GjVi...JVn
induced by the unit parametric squares:
10
Note that pinchouts and unconformities may generate discontinuities for the "geological
time" function t = t(w).
3.4. NOTION OF A REGULAR N-GRID 125

Figure 3.19 The parametric space of a regular n-grid plays the role of ab-
stract topological space where darts are represented by small, white, bullet-headed
segments. In this space, cracks are installed in order to introduce geometric discon-
tinuities in the regular grid. The vertices of the n-cells incident to cracks are called
"Split Nodes."

For each unit parametric square Uki...kn, there are exactly n-darts associated
with each of its 2n vertices. As a consequence, the total number \D\ of darts
contained in D is such that

For each positive integer i < n, an on link is installed between each pair of
darts (d, d'} associated with a common vertex of two adjacent ^-cells of the
same unit parametric square Uk1...kn-
An Oin link is installed between each pair of darts (d, d') incident to the same
vertex and belonging to two "topologically" adjacent unit parametric squares
Ukl...kn and C/fc/...^.
It should be noted that two "geometrically" adjacent unit parametric squares
Uki...kn and Uk1 ...k1 mav nt be "topologically" adjacent (see figure (3.19)).
If the aim is to introduce a discontinuity along an (n l)-cell called "crack"
shared by U^ ...kn and U# .../^, then the an links between pairs of darts (d, d'}
incident to such a crack have to be changed as follows to introduce a new
boundary along the common (n l)-cell corresponding to the crack:

3.4.3 Discrete model


As discussed on page 65, for each positive integer i e [0, n], it is possible
to associate a discrete model A'f p (0j, A^, (^C^J with any n-Gmap. In the
specific case where a n-GMap is associated with a regular n-grid, particular
attention is usually paid to the cases i = 0 and i = n:
M.p(lo, TVio, tpo,C<p0) is called a "corner point" model and corresponds to
the modeling of p parameters (discrete embedding) attached to the vertices
of the regular n-grid. In practice, such a model is often used for modeling the
geometry x(u) of the grid and, in this case, p = m and </?o = x.
126 CHAPTER 3. TESSELLATIONS

Figure 3.20 Parametric representation of a 2-cell C belonging to a regular


2-grid: the parametric domain consists of a unit square [0,1]2.

M.p(ln, Nn, VmCpn) is called a "cell centered" model and corresponds to


the modeling of p parameters (discrete embedding) attached to the n-cells of
the regular n-grid. In practice, such a model is often used for modeling the
physical properties of the grid cells.

In geological applications, for n < 3, most of the time regular n-grids are
embedded in the (x, y, z) space in a curvilinear way to fit with the geometry
of geological objects. For example, figure (3.18) shows a regular 3-grid fitting
the geometry of a paleo-channel.

Barycentric parameterization of the cells


First, consider a regular 1-grid. Each cell C is a segment {x(ao),x(o;i)} and
there is a one-to-one parametric representation x(w) that transforms the unit
segment [0,1] into C:

In this parametric representation of (7, the weighting functions bi(u) are as-
sumed to be defined as follows

while nodes {QO, cti} correspond to the vertices of C. By definition, the coeffi-
cients bi(u) and 62(u) are called the "barycentric coordinates" of x(u) relative
to the vertices x(cno) and X(Q;I), respectively, while u is called its "local nor-
malized coordinate" relative to C.
More generally, any cell C of a regular n-grid can be parameterized as
3.4. NOTION OF A REGULAR N-GRID 127

follows on the unit hypercube [0, l]n:

In this definition of x(u), the set of nodes {o^...^} consists of the 2n vertices
of C assumed to be numbered as suggested in figure (3.20) in such a way that

By definition, the coefficients {bi1 ( w 1 ) , . . . , bin(un}} are called the "barycentric


coordinates" of x(u) relative to the vertices of C, while {w 1 ,..., un} are called
its "local normalized coordinates" relative to C.
Let us now address the problem of finding the parameter u = [u 1 ,..., un]
that corresponds to the location of a given point p = x(u) inside the cell C.
According to equation (3.14), this parameter is the solution of the following
system of m nonlinear equations where {pj} and (x^a^...^)} represent the
coordinates of the points {p} and (x(o;j1...in)} in the Mm embedding space,
respectively:

If U[j] is a given initial estimation of the solution, then the problem reduces
to the determination of an increment Au such that /J (u^] + Au) is equal to
zero for all j. According to the Taylor series expansion formula (4.27), this is
equivalent to saying that Au should be such that

By introducing the n x n square matrix D as defined by

the solution of the system of equations (3.15) can be written as follows:

It can be observed that the dimension m of the embedding space is greatei


or equal to the topological dimension n of the grid. This system of equations
can be solved in a least square sense as follows:
128 CHAPTER 3. TESSELLATIONS

Figure 3.21 Building a Coons patch with linear weighting functions: the
resulting surface is the sum of two linear interpolations of pairs of curves minus
a bilinear interpolation of the four vertices.

In conclusion, a better approximation U[i+1] of the parameter u corresponding


to the location p can be obtained thus:

In practice, this updating formula provides the basis of an iterative algorithm.

Barycentric interpolation inside a cell


In the case of a corner point model, a frequent problem arises where a pa-
rameter (p known by its values (p(oi) at the vertices of a regular n-grid has to
be continuously interpolated in each n-cell of this grid. For this purpose, the
following interpolation <>(u), similar to equation (3.14) used for modeling the
geometry of the cell, is proposed:

It can easily be verified that the function <^(u) so defined interpolates the
values of (p at the vertices of the cell and varies linearly on each edge of that
cell.
It should be noted that local nonlinear interpolations can be defined in
each n-cell. However, in such a case, these interpolations involve not only the
vertices of the cells but also the vertices of the adjacent cell (e.g., see [146]).

3.4.4 Geometry of a regular n-grid


As can be imagined, the geometry of regular n-grids can easily be adjusted
thanks to DSI to fit geological objects. However, in general, before using
DSI we need to have a rough approximation of the shape of these grids, and
the notion of "Coons patch" is certainly the simplest way of building such
approximations.
3.4. NOTION OF A REGULAR N-GRID 129

Coons patch
This section addresses the problem of building a piece of surface rectangu-
lar in shape whose boundary consists of two opposite pairs of open curves
{x(u|0),x(u|l)} and {x(0|u),x(l|u)}:

As shown in figure (3.21), the solution initially proposed by Coons and gen-
eralized by Gordon consists of a parametric surface x(w, v) defined by the
following equation for any u G [0,1] and any v 6 [0,1]:

(3.17)
It is easy to check that x(u, v) does interpolate the four boundary curves
provided that the associated blending functions {/o, fi,go,gi} are such that

Among the many possible choices for these blending functions, those most
often used are the following:
linear blending functions:

cubic Hermit blending functions:

The Coons surfaces so denned, also called "Coons patches," are very simple
to implement and are extremely useful in situations where the surface to be
modeled is actually known only by its boundary. However, it is important to
note that there is no possible control on the shape of the interior of the patch
- this is the major drawback of Coons surfaces.

Construction of a regular n-grid


Let us consider the set of points (ui,Vj) belonging to [0,1] x [0,1] and such
that
130 CHAPTER 3. TESSELLATIONS

Using equation (3.17) for computing the images x(wj, Vj] of these points, it can
be observed that these images are distributed on a regular 2-grid GN1N2'- this
shows that Coons patches provide an easy way for initializing the geometry
of regular 2-grids as soon as the boundary curves are known.
In practice, for n = (1,2,3), the construction of an initial shape for a
regular n-grid can be viewed as a recursive process that can be sketched as
follows:

First, regular 1-grids can be initialized as nodes regularly spaced on a


segment.

Next, regular 2-grids can be initialized as the nodes of a discrete Coons


patch.

Finally, a regular 3-grid can be viewed as being composed of two entities:

two regular 2-grids corresponding to the top and bottom surfaces bound-
aries initialized with Coons patches, and
internal nodes initialized as regular 1-grids joining twin nodes on the top
and bottom boundaries.

3.4.5 Cracking a regular n-grid


Introducing cracks in a regular n-grid is a handy way to define discontinuities
of the embedding across (n l)-cells of a regular n-grid. In geology, the need
to introduce such cracks occurs in the two following situations:
If the geometrical embedding x(u) of a regular 2-grid corresponds to a geo-
logical surface cut by a fault along a curve J-, then we may want to install
cracks approximating the trace of T on this surface.
If the geometrical embedding x(u) of a regular 3-grid corresponds to a geo-
logical layer cut by a fault along a surface J-", then we may want to install
cracks approximating T (see figure (3.17)).
In practice, in the parametric space, the image x^1(^7) is approximated by a
set of (n l)-cells where the cracks need to be installed. Of course, this is
not without consequences:
If we want to preserve the regularity of the shape of the images x(t/fe1...*:)
in the embedding space, then, in general, the geometry of the image of the
cracks poorly approximate f.
If we want the images of the crack to fit F correctly, then, in general, we
cannot preserve the regularity of the shape of the images x(C/fc 1 ...fc n ).
From a topological point of view, each crack must be implemented as an
"unsew" operation on the corresponding (n l)-cell of the n-Gmap associated
with the n-grid.
3.4. NOTION OF A REGULAR N-GRID 131

Simple nodes and split nodes of a regular n-grid


Let {ufc 1 ...fc n } be the set of vertices11 of the unit parametric squares in the
parametric d0m omain

The images {x(ufc 1 .../ Cn )} of the vertices so defined are the vertices of the n-
cells Cki...kn of the associated regular n-grid GNv...Nn- As suggested in figure
(3.19), there are two cases to consider:
If there is no crack incident to a vertex \ikl...kn, then its image x(ufc 1 ...fe n ) is
unique and is called a "simple node" of the regular n-grid GNi...Nn-
If there is a crack incident to a vertex Ufc 1 ...fc n , then it has several images
{xj(ukl...kn) ' J' = 1, 2,...}, and this set of images is called a "split node" of
the regular n-grid GjVi.../v n - It is easily verifiable that the maximum number
of images {x J -(ufc 1 ...fc Tl ) : j = 1, 2,...} corresponding to such a split node is
equal to 2 n .
Obviously, simple nodes have one unique location, while split nodes have
multiple locations corresponding to the images {x j -(ufc 1 ...fc n ) : j = 1,2,...}.
In the case of a "corner point" model, we have to consider two strategies
concerning physical properties attached to a split node {x j (ufc 1 k } ' j
1,2,...}:
If the physical property (po to be modeled at the set fio of node of GNi...Nn
must be continuous across the cracks, then all the vertices {xj(ufc 1 ...fc n ) : j =
1,2,...} associated with one split node must share one unique storage for
this physical property. Moreover, in this case, the neighborhoods NQ(-) of the
associated discrete model A4 p (f2o, NO, </?o, C^ 0 ) must ignore the discontinuities.
If the physical property <po to be modeled at the set QO of node of GN...Nn
must be discontinuous across the cracks, then each vertex {x J (u / i ei ...fc Tl ) : j =
1,2,...} associated with one split node must have independent storages for
this physical property. Moreover, in this case, the neighborhoods NQ(-) of the
associated discrete model A1p(fio, NO, </?o,C<p 0 ) must respect the discontinu-
ities.

Cutting a regular n-grid


As mentioned above, in a regular n-grid, the regularity of the geometry of
n-cells is, in general, incompatible with a good geometrical approximation of
the discontinuities by cracked (n l)-cells.
Everything has its price. There is a price to pay to preserve the regularity
of the geometry of the n-cells and reach a good geometrical approximation
of the discontinuities. In practice, a reasonable price may be to accept the
existence of polyhedral "cut cells," which no longer have a cubic topology.
As shown in figure (3.22), such polyhedral cells offer a higher flexibility for
modeling faulted geological layers.
11
These vertices are represented as black nodes in figure (3.19).
132 CHAPTER 3. TESSELLATIONS

Figure 3.22 An example of an irregular 3-grid composed of polyhedral 3-cells


cut by geological faults: (A) The initial regular 3-grid cut by faults and horizons.
(B) The exploded view of the result of the cut.

3.5 Notion of an irregular n-grid


The notion of the regular n-grid introduced in the previous section is a very
practical tool for modeling geological stratified layers as long as there is no
discontinuity to be taken into account. However, if we have to introduce
discontinuities, then we have already seen that it is generally not possible to
control both the shape of the cells and the shape of the discontinuities. For
this reason, a generalization allowing more flexibility will be introduced briefly
in this section:

Definition
Let A be a closed polygonal region of Mn and let P(A) be a cellular partition
of A honoring the following constraint:

Such a partition is called a polyhedral partition of A and can be viewed as a


generalization of the notion of "regular n-grid" presented in section (3.4). For
this reason, we propose calling "irregular n-grid" any partition of A honoring
the constraint (3.19).
Most of the time in geological applications n 3: figures (3.22), and (3.23)
give examples of such irregular 3-grids.

Comments
1. As with regular n-grids, irregular n-grids can be associated with a para-
metric domain in the IRn parametric space. However, in this parametric
space, the unit square cells must now be replaced by polyhedral cells
whose vertices {ufc} are not mandatorily distributed at the nodes of a
regular lattice.
2. Any regular n-grid is, implicitly, an irregular n-grid, and this is an easy
way to build an initial version of irregular n-grids.
3.5. NOTION OF AN IRREGULAR N-GRID 133

Figure 3.23 An example of an irregular 3-grid generated by extrusion of a 2D


subdivision of a faulted surface (curvilinear pseudo-Voronoi subdivision).

3. Contrary to the case of regular n-grids, the topology of the cells of an


irregular n-grid can be edited, and this offers much more flexibility; for
example,
the cells of an irregular n-grid can be split into subcells, and
the cells of an irregular n-grid can be merged into macro cells,

Notion of a hybrid n-grid


An excellent compromise between regularity and flexibility consists in using
hybrid n-grids defined as regular n-grids with two types of n-cells:
"simple n-cells," which are identical to regular n-cells of the grid, and
"split n-cells" corresponding to "virtual" regular n-cells that have been re-
placed by a cellular partition, itself modeled as an irregular n-grid.
In general, one needs few split cells, so that hybrid n-grids so defined can
be considered as regular "almost" everywhere. In practice, split n-cells may
correspond to intersections of a regular n-grid with faults or well-paths.

Cutting an irregular n-grid


Let J- be an (n 1)-dimensional object12 cutting an irregular n-grid assumed
to introduce discontinuities in the topology of this grid. In practice, these
discontinuities are introduced by splitting the n-cells of the grid along F.
Such a cutting operation can be realized as follows:
1. Determine the (n l)-dimensional trace r(J4|^r) of the discontinuity T on the
object A corresponding to the n-grid.
2
In geology, n = 3, and f is generally a fault or an unconformity.
134 CHAPTERS. tessellations

2. Split the n-cells of the grid intersected by F(A|J-) in such a way that the new
(n l)-cells so generated fit the trace r(A|Jr).
3. Unsew (see page 78) the (n l)-cells generated at step (2) above.
Proceeding in this way preserves both the geometry and topology of the n-cells
not cut by T(A\ J"), while honoring the geometry of ?'.

3.6 Implicit surfaces


Introduction
Up to now in this book, only surfaces that can be represented by an explicit
local parametric equation x(u, v) have been considered. There is, however,
another very important class of surfaces <Sa called "implicit surfaces" [28],
denned as follows by a global implicit equation:

In this equation, v? a ( x ) is assumed to be a real valued function of x e D


defined in a region D of 7R3 and having a gradient such that

The above condition (3.21) implies that the set Sa denned by equation (3.20)
is, in actual fact, a surface (and not a volume) fully contained in the region D.
Most of the time, the constraint (3.21) is replaced by the following stronger
constraint and, in this case, </?a(x) is called a "normal-form" of the implicit
equation of Sa'-

It is important to note that, for any point x located in the neighborhood of


<Sa, the normal-form of an implicit equation of Sa represents the distance of
x to this surface.
It should be noted that any implicit surface Sa associated with an implicit
equation </?a(x) (in normal-form or not) divides the domain of definition D
into two complementary regions a and (D a) such that

It is clear that the surface Sa is no more than the boundary of the region a
so denned:

In this context, methods for performing Boolean operations analogous to the


union and intersection of regions have been proposed. For example, if a and b
are regions defined by implicit equations (pa and </?&, then the implicit function
corresponding to the union and intersection of these regions is denned as
follows:
3.6. IMPLICIT SURFACES 135

Figure 3.24 (A) Intersection of a tetrahedron by an isovalue surface. (B)


Decomposition of an hexahedron into six tetrahedra. The sign of the associated
function <pa is coded by "+" and "" symbols.

For practical applications, most of the time implicit surfaces have to be trans-
formed into explicit triangulated surfaces. The procedure for such an opera-
tion will be explained in the next section.

Triangulating an implicit surface


In practice, the function <pa defining the boundary Sa of a region a is assumed
to be sampled at the nodes of a 3D discrete model approximating the domain
of definition D. Let us first consider the case where the discrete model consists
of a set of tetrahedra filling the region D, and let T = T(p0, p 1 ,p 2 ,p 3 ) be
one such tetrahedron. It is easy to see that we have:

If T is intersected by <Sa, then each of its 6 edges can be intersected or not,


and this generates exactly 26 different cases. Nevertheless, by permuting the
indices of T, it can be verified that only those two types of intersections shown
in figure (3.24)-A need in fact to be considered:
either three edges of T are intersected, and then Sa H T can be approximated
by a triangle,
or four edges of T are intersected, and then <Sa n T can be approximated by
two adjacent triangles.
Most of the time, the discrete models used in practical applications are based
on regular 3-grids with hexahedral cells. In this case, as suggested in figure
(3.24)-B, each hexahedron can be implicitely decomposed into six adjacent
tetrahedra so that the triangulation introduced above is still applicable.
It should be noted, however, that triangulation algorithms derived from
the above observations generally produce "ugly" triangles, and it is mandatory
136 CHAPTER 3. TESSELLATIONS

Figure 3.25 Example of implicit surface interpolating an unstructured set of


points {PJ} where the unit normal vectors {Ni} are estimated from local average
tangent planes. (Data courtesy of Unocal)

to apply a "beautifying" algorithm to improve the "beauty" of the triangles


so generated (e.g., see page 305).
On the right of figure (3.25) is an example of such a triangulation which
corresponds to an isovalue surface sampled at the nodes of a regular 3-grid.
The Neanderthal skull Sa represented in figure (1.2)-A is another example
of an implicit surface where the initial data correspond to a regular 3-grid
representing X-ray "transparencies" /(x) generated by a 3D X-ray medical
scanner; in this case, the surface of the skull corresponds to a given isovalue
/o of this transparency implicit function and (pa is defined as follows:

Interpolating an implicit surface


In practical applications, the domain of definition D is a 3D hexahedral box,
and the data consist of a series of pairs

where
each p^ is a point located on the implicit surface Sa to be interpolated;
each Ni is the unit normal vector to <Sa, at location p i; oriented toward the
interior of the region a.
We propose to interpolate the unknown function (f>a at the nodes of a linear
regular 3-grid filling the domain D and associated with a corner point discrete
model A/(1(0, TV, (/p 0 ,C^ a ). For the sake of simplicity all the 3-cells of the grid
are assumed to be cubic with the length of each edge equal to 1. For each
data (p^,Ni), the following pair of twin constraints are introduced:
3.7. CONCLUSIONS 137

At point PJ, the function (pa should be equal to zero:

At point PJ , the derivatives of the function <pa should be such that

where w7 is the normalized coordinate of the grid in the jth direction while
N;? is the jth component of Ni in this coordinate system.
It will be seen in section (4.7.2) that the equations (3.23), and (3.24) can be
transformed into the so-called "Control-Property" and "Control-Gradient"
DSI constraints that are added to C(fa. The DSI algorithm can then be used
for interpolating </?a at the nodes of the grid: figure (3.25) shows an example
of the resulting implicit surface interpolating an unstructured set of points p^
where the unit normal vectors Nj are given.
It should be noted that methods based on different interpolation tech-
niques have been proposed in the literature [220], but, contrary to the DSI
approach presented above, these methods do not allow the unit normal vectors
to be taken into account directly.
Moreover, in geological applications, the interpolation technique based on
DSI can be used to model discontinuous horizons intersected by faults such as
those represented in figure (2.1). In this case, the faults have to be modeled
first and then used to introduce discontinuities in the discrete model as shown
in figure (1.6). Proceeding this way generates a discontinuous function ipa,
which in turn induces discontinuities in <Sa. In this case, <Sa represents only a
part of da, and the rest of this boundary corresponds to a part of the faults
used to introduce the discontinuities.

Comments
It can be observed that the notion of implicit surface presented in the 3D space
can be extended without any difficulty to implicit hypersurfaces embedded in
the Mn space.
Moreover, the notion of implicit surface provides an elegant solution to the
difficult problem of building parallel surfaces. In practice, if (pa is a normal-
form of an implicit equation of <Sa (see definition 3.22) then, in the neighbor-
hood of this surface, for any small real value e, a surface Sa(er), parallel to Sa
and located at approximately a distance equal to from <Sa, can be defined
as follows:

If e is positive, then Sa() is located inside the region a, but it is located


outside a if e is negative.

3.7 Conclusions
Tessellation problems still provide a very active field of research and this
chapter gives just a few ideas of the wide variety of methods proposed so far.
138 CHAPTER 3. TESSELLATION

In practice, the choice of a tessellation method depends not only on the nature
of the data controlling the geometry of the object to be modeled, but also on
the usage of the model itself. For example
Structural geologists have to build surfaces defined by series of cross sections.
In this case, patch, strip, and pants algorithms will probably be their preferred
tools.
Reservoir engineers are primarily interested in building regular and irregular
3-grids to be used as geometrical support by finite elements methods.
It should be noted that the goal of the tessellation methods presented in this
chapter is only to give a first-draft discrete model that will next be refined and
modified to honor all the data currently available. It will be demonstrated in
the next chapter, as well as in chapter 6, that the DSI method is particularly
well adapted to this purpose.
Chapter

4
Discrete Smooth
Interpolation=
This chapter presents in full the mathematical aspects of the Discrete Smooth
Interpolation method (DSI) introduced in chapter 1.

4.1 Introduction
4.1.1 Notations
Let us consider a discrete model J\An(l, AT, <>, C] where (p(o) is assumed to be
a vectorial function with n components denned on J7:

The set 0 is assumed to contain |0| = M nodes (see page 5)

so that the set of values {^"(a) : a 0, v = 1,..., n} contains (n M)


elements, which are dispatched as follows into n column matrices j^ : v =
1,.. .,n} of the same size M and into one global column matrix (p of size

139
140 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

From a practical point of view, in the following pages, no distinction will be


made between
the function <p"(-) and its associated column vector (fv of size M
the function </?() and its associated column vector (p of size (n M)
The soft and hard constraints c C defined by equations (1.4), (1.5), and
(1.6) have the following general "canonic" form

where M stands for one of the following operators:

In this chapter, we will assume that the (n M) coefficients {A"(a} : a E


7, v = 1,..., n} have been gathered into a column matrix Ac of size (n M),
similar to (p in equation (4.2), in such a way that we can write

It should be noted that both members of the above equation can be divided
by a strictly positive constant without modifying the associated constraint.
This is the reason why the assumption has been made throughout this book
that each constraint c G C~ has been "normalized" in such a way that the
Euclidean norm of Ac is equal to 1:

The most simple constraint corresponds to the notion of Control-Node or


"fuzzy" Control-Node i G fi where </?() must be equal to a given value (j)f.

Such a constraint c = c(, 0^) belongs to C= in the case of a Control-Node or


C~ in the case of a "fuzzy" Control-Node and is associated with the following
coefficients:
4.1. INTRODUCTION 141

Figure 4.1 Hyperplane Hc associated with a DSI constraint in the space JRn'M
of possible solutions.

Hyperplane Hc
Let X be a point of the IRn' space. As suggested in figure (4.1), to each
constraint c C there corresponds a Hyperplane Hc of lRn defined by

It is clear that Ac is the unit vector orthogonal to Hc and the "algebraic"


distance d((p\Hc) of the point </? to Hc is defined by

The sign of this distance allows ]Rn to be split into three regions:

4.1.2 Roughness
Definition
The local roughness criterion R((p"\oi) of the component <pv of the vectorial
function (f> is defined at node a by the following formula where the {vv(a, (3}}
are given weighting coefficients (see page 149) that can be positive, negative,
or null, while N(a) is the neighborhood of a (see definition (1.2)):

The local roughness criterion R((p\a) of (p is itself defined by


142 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

R((f\a) is then used to build a global roughness criterion R(tp) denned as


follows, where n(ot) is a given nonnegative "stiffness" function (see section
(4.2.2)) defined on 0 and used for modulating the contribution of R((f>\a) to
R(vY

The matrix interpretation of the roughness


Let (V(ct) : a e Q} be a family of M column vectors of size (n M) defined
by

Using these matrices and notations (4.2), the local and global roughness de-
nned above can be written according to the following matrix form

where W is the block diagonal (n-M x n-M] symmetrical semipositive definite


matrix with the following structure:

Each submatrix \WV] of [W] is itself an (M x M) symmetrical, semipositive


definite matrix whose element Wia2 located on row a\ and column a2 is
such that

In particular, this implies that the trace of [W] is such that


4.1. INTRODUCTION 14.3

Comment
Most of the time in practical applications, the coefficients {v(a, (3)} are defined
as being independent of v:

The choice of these coefficients {v(a,(3}} is limited by the general conditions


(2) and (3) of the theorem presented on page 153. Taking into account the
definition (1.3) of the orbit N(a) of a and according to these conditions
(4.15), if we let

then it is easy to see that R((p\a) is proportional to the square of the discrep-
ancy between (p(a) and <p(ct):

If the coefficients {i>(a, /?)} are such that

where w(a) is a given positive function, then the value <p(a) is the local mean
of the values {</?(/?)} surrounding the node a and (p(a) = <p(ot) corresponds
intuitively to a "smooth" solution at node a. This is the reason why R((p\a)
is called the "local roughness criterion."

Composite local roughness


There are situations where several local roughness criteria can be considered
simult aneously:

For example, if Q(t, N] represents a regular 3-grid, it may be desirable to


introduce three local independent roughness criteria associated with the 1-
dimensional neighborhoods corresponding to the three axis of the grid (see
[147]). In such a case, the multiple measures of the local roughness can be
gathered into one single "composite" local roughness defined as follows:

The DSI method presented in this chapter can easily be adapted to take into
account this extended definition of the notion of local roughness.
144 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

4.1.3 Violation of soft constraints


Let us consider a soft constraint c G C~:

Within the framework of DSI, such a soft constraint will be honored in a least
square sense to minimize the local degree of violation p((/?|c) of c by </? defined
by

In other words, p((p\c} is no more than the square distance of <p to the hyper-
plane Hc associated with c (see page 141 and figure (4.1)):

In general, C~ contains several constraints, and a global degree of violation


p((p) of the soft constraints by (p is denned as follows:

In this definition, the coefficients wc called "certainty factors," are weight-


ing coefficients that must be chosen for modulating the contribution of each
soft constraint c 6 C~ relative to the other soft constraints. For example,

means that it is more important to honor the constraint 02 than to honor the
constraint c\.
It should be noted that

and this allows p((p) to be written in quadratic form:

Comment
Due to the properties of the trace operator, we can write
4.1. INTRODUCTION 145

We conclude that the trace of [A2] depends only on the certainty factors {wc}
and is such that

Global roughness viewed as a constraint


Let c = c(a) be a constraint defined by

where //(a) is the stiffness function defined in section (4.1.2), while V(a) is
the weighting vector defined by equation (4.9). Using these notations, we can
write

If this equation is compared with equation (4.17), it is clearly shown that


the global roughness R((f>} appears as the degree of violation of a set of M
particular soft constraints {c(a) : a 6 0} defined by equations (4.20).

4.1.4 Generalized global roughness


Definition
By definition, we propose calling the following criterion R*(<p], which mea-
sures both the roughness of (p and the degree of violation of the soft con-
straints by (/?, the "generalized global roughness" of <p:

In this criterion, 0 and w are positive coefficients playing the following roles:

w is a "balancing ratio" used to balance the relative contribution of R((p)


and p(np) to /?*(</?). This coefficient must be estimated as a function of the
order of magnitude of the variations of R(<p} and p(<p).
(p is a "fitting factor" used to specify how important it is to honor the soft
constraints (if any) versus having a smooth DSI solution.
In practice, the fitting factor must be considered as a "tuning" parameter of
the DSI method to be chosen by the user:
0 < 1 => It is less important to respect the soft constraints than to
have a smooth solution <p.
0 = 1 => It is as important to respect the soft constraints as to have
a smooth solution (p.
(f) > I ==> It is more important to respect the soft constraints than to
have a smooth solution (p.
146 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

According to equations (4.11), (4.18), and (4.22), it is easy to check that the
generalized global roughness so defined can be written in quadratic form:

Estimating the balancing ratio w


Let [A2] be the square symmetrical nonnegative matrix denned by equation
(4.18). Looking at equation (4.24), it can be observed that the variations of
R*(tp] are controlled by the matrices [W] and {(</> -a?) [A2]}:
[W] determines the contribution of the roughness, and
{(0 ru) [A2]} determines the contribution of the constraints.
To compare these contributions, we need to have a scalar characterization of
each of them, so we propose to define them as follows:
trace{[W]} = contribution of the roughness
trace{((f) w) [A2]} contribution of the constraints
Let C~\ be the number of soft constraints in C~. In practice, the problem of
determining the balancing ratio TU arises only if \C~\ ^ 0, and, in this case, it
can be considered that
trace{[W]}/|fi| is the average contribution of each local roughness R((p\Oi) to
the variations of R*(tf>), and
trace{((/> w} [A2]}/\C~ is the average contribution of each constraint of C~
to the variations of R*(yy).
According to the definition of 0 (see (4.23)), if we want the average contribu-
tion of each constraint to be 0 times greater than the average contribution of
each node to the roughness, then we should have:

This implies that the balancing ratio w must be chosen according to the
following equation:

From equations (4.14), and (4.19), we conclude that w should be chosen as


follows:
4.2. THE DSI PROBLEM 147

4.1.5 Vectorial derivation


In this section, we recall briefly some basic results used in the rest of this
chapter and related to the vectorial derivation of a function f ( x ) denned on
Mn:

The "gradient" df/dx of such a function is defined as the column vector of


size n such that

The derivation of / relative to x* is also defined as

Using these notations, it is easy to check that the following derivation rules
are always true for linear and quadratic functions of the vector x:

Moreover, if we define the "Hessian" d2f/dxdxt of / as the square (n x n)


symmetrical matrix such that

then the Taylor series expansion of / in the neighborhood of x can be written


as

4.2 The DSI problem


4.2.1 Definition
As mentioned on page 14, the set of constraints C contains a subset of hard
constraints CL that define a region L of 0 where (p is assumed to be known
and is thus a Control-Node. This allows Q to be split into two complementary
subsets / and L such that
L = set of nodes t G ^ where <>() is known
/ = set of nodes i G fi where <p(i) is unknown
= n-L
148 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Among all the functions </? defined on fJ and interpolating the data {<p(&} :
I 6 I/}, we propose calling "DSI solution" the function (p that achieves the
minimum of the generalized roughness criterion R* (</?)

where F{<p(f,) : i 6 L} is the family of all the functions denned on fi and


interpolating the given values of (p on L.

Remark
Let us consider a discrete model A4n(l, N, <p,C}. If C contains no cross con-
straint (see page 9), then it can be verified that

where R*((f>v] is the individual roughness associated with the 1-dimensional


model A/(1(0, JV, (pv,C}. In this case, minimizing R*(tp) is equivalent to min-
imizing separately each individual roughness R*((pv\.

In other words, from the DSI point of view, if there is no cross constraint,
then it is equivalent to
either globally interpolate the function (p associated with the n-dimensional
model Mn($l,N,ip,C),
or individually interpolate each component </?" associated with each 1-dimensional
model Ml(Sl,N,ip",C).

4.2.2 Genericity
At first glance, the DSI method seems to depend on arbitrary parameters
{vv(a,0}} and {(j,(a)}. This is rather confusing for someone not familiar
with this method. For the sake of simplicity, these parameters could have been
fixed, but this would have hidden the genericity of this method: depending
on the actual choice of these parameters, different types of problems can be
solved and different families of solutions can be obtained.
There is a wide range of possible choices for these parameters. However,
we will see in section (4.3) that the uniqueness of the DSI solution can be
guaranteed only when taking into account some slight limitations on the co-
efficients {v"(a, (3]} and /j,(a). For those who are curious to know more about
these parameters, some examples of possible choices are presented below; other
examples will be presented on pages 377, and 366.
4.2. THE DSI PROBLEM 149

Choosing {v"(a,/?)}: A preliminary remark


Most of the time, for simplicity's sake, the weightings {vv(ot,fl}} are chosen
according to the following model:

In this expression, the coefficients {r"} are assumed to be positive and are
chosen to balance the different orders of magnitude of the variations of the
components {(/^(a)}, while the weightings {v(a,f3}} define the "style" of the
interpolation. In practice, the variations of the components {(pv(ot)} of (p(a)
are often assumed to have approximately the same order of magnitude. In
this particular case, it is wise to choose all the coefficients {r"} equal to 1.
The following sections propose a couple of examples of coefficients {v(a, /3)}
honoring the conditions of theorem 3 page 157:

Choosing {v(a,(3}}: Harmonic weightings


Let |7V0(a:)| be the number of elements of the orbit N(a). Harmonic weight-
ings are said to be used if the coefficients {v"(a,0) = v(a, /?)} are chosen
according to the following definition:

Harmonic functions have the characteristic property of being equal, at any


point, to their own mean on a circle centered on this point [87]. By using the
coefficients {v(a,/3}} defined above, we can check that R((p\a] 0 if (p(oi) is
equal to the mean values of the </?(/?) surrounding the node a. For this reason
and by analogy with harmonic functions, we propose to call these weighting
coefficients harmonic.
Harmonic weightings are currently the most frequently used in practi-
cal applications. For example, the interpolations presented in figures (1.11),
(1.12), and (1.13) were obtained with such weightings. According to the re-
mark on page 16, it can be observed that the DSI solutions so obtained are
close to "Spline" functions (see also page 364).

Choosing {v(a,/?)}: Isotropic weightings


Most of the time, the design of natural objects requires the use of a d-
dimensional graph Q([l,N) with the following characteristics:
The nodes of /(f2, N) are embedded in the 3D space IR3.
The edges of G(l, N) generate a mesh composed of adjacent d-simplexes.1
For example:
if d 1, then C/(J7, N) consists of a polygonal curve,
if d 2, then (?(fi, N) consists of a triangulated surface, and
1
A 1-simplex is a segment, a 2-simplex is a triangle, and a 3-simplex is a tetrahedron.
150 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Figure 4.2 Building isotropic weightings in the case of a triangulated surface.

if d = 3, then G(Q, N) consists of a tetrahedralized volume.

If the distance d(a,/3) between two adjacent nodes (a,/3) is, locally, approxi-
mately constant, then (?(fi, N) is said to be isotropic and the harmonic weight-
ings {^(ct,/3)} yield excellent results. However, as suggested in figure (4.2),
if (}(l,N) is anisotropic, then the harmonic weightings may produce a DSI
solution inherited from the same anisotropy. For this reason, in such cases
where (7(f2, N} is strongly anisotropic, we propose to use the isotropic weight-
ing defined by the following coefficients {v(a,P}}:

In the above expression, t(a) and t(a,/3) are defined as follows

with
T(a) = set of simplexes sharing the node a
T(ot., /3) = set of simplexes sharing the node (a, /3)
|T| = measure2 of the simplex T

Choosing {v(a,(3)}i Anisotropic weightings


Let us assume that C/(Q, N} is a given ID, 2D or 3D graph embedded in the 3D
Euclidean space JR3 and let ^pv(a) be a physical parameter to be interpolated
with DSI on (fi, N}. The distribution of ^(ot) may be anisotropic in 7R3.
2
|T| represents the length of a segment T, the area of a triangle T, or the volume of a
tetrahedron T.
4.2. THE DSI PROBLEM 151

We assume that, at each node a of G(l, A7"), the location x(a) of the node is
given. In this case, we propose using the anisotropic weightings defined by
the following choice of the coefficients {vv(a,0)}:

In this expression,
N(a) is the orbit of the node a (see definition 1.3);
e G]0,1[ is assumed to be a given small, positive real constant3 chosen to
prevent v(a,/3) from vanishing;
(v(o;) : a G 7} is a given field of vectors controlling the orientation of the
anisotropy;
(j)( ct,/?|x,v ) is equal to the cosine of the angle between (x(/3) x(a)) and
v(a) in the case of an "axial anisotropy" aligned with the direction v(a);
0( a, /?|x, v ) is equal to the sine of the angle between (x(/9) x(a)) and v(a)
in the case of a "planar anisotropy" orthogonal to the direction v(a); and
p > 0 is a given parameter chosen to control the intensity of the anisotropy: at
the limit, ifp = 0, the anisotropic weightings become identical to the harmonic
weightings.
For example, in a stack of geological layers, if (v(a) : a 17} represents the
field of vectors normal to the horizons, then these vectors can be used to define
planar anisotropic weightings, which in turn can be used to interpolate on a
3-grid a physical property (e.g., a seismic velocity) whose gradient is more
or less orthogonal to the horizons. An example of the application of axial
anisotropic weightings will be presented on page 377.

Choosing {//(a)}
The stiffness function {^(a)} has been introduced to modulate the smoothness
of the DSI solution locally (see equation 4.8 page 142). The only constraint
is that this weighting function must be positive (see section 4.3). There is a
wide range of possible choices and the simplest one consists in using a uniform
weighting:
H(a) = 1 V a e fi
A more interesting choice can be proposed in the frequent case where the
coefficients {vv(a,(3} = v(a,/3}} are independent of v. In this case, let us
define cr(a), (f>(a) and (j,(a) as follows:

3
To honor the second constraint (4.35), the value of e must be chosen strictly positive.
For example, one can choose e 0.1.
152 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

where /t(o:) is a given positive weighting function. According to the comment


presented on page 143, the global roughness R((f>] appears as the sum of the
squares of the discrepancies between the values (p(a) attached to the nodes of
the graph 7(fJ, N) and the mean values (p(a) of their neighbors:

In the above expression, the /}(o:) coefficients are considered "normalized


stiffness" coefficients, which must be positive. In practice, the simplest choice
consists in selecting p,(a) constant:

4.2.3 The DSI solution


Notations
The DSI problem does not depend on the order of the values {(pv(a)} in the
column matrix (p. Therefore, to simplify notations, we will assume that a
permutation of the elements of the matrix <p has been performed in such a
way that (p can be split into submatrices4 <pj and (pL such that

This partition of the matrix </? induces a similar partition of the matrices [W*
and Q* used to define R*(p) (see equation (4.24)):

With these notations, we can express R*((p] as a quadratic function of </:

4
See definition of / and L on page 147.
4.3. UNIQUENESS OF THE DSI SOLUTION 153

The global DSI equation

As suggested in figure (1.9), the graph of R*(<p) as a function of </?/ is a


paraboloid whose minimum corresponds to the solution of our problem. This
minimum is reached when the vectorial derivative dRk((p}/d(pi is equal to the
null vector. According to equation (4.32) and to the derivation rules (4.26),
we have

We conclude that the solutions to our problem are characterized by the fol-
lowing matrix equation:

We propose calling this equation the "global DSI equation." As will be seen
in section (4.46), another formulation called the local DSI equation allows
the same solution to be obtained iteratively (provided that this solution is
unique).

4.3 Uniqueness of the DSI solution


It appears that looking for a solution to the DSI problem is nothing more
than minimizing a quadratic objective function -R*(v?) that leads to the linear
system (4.34). The rank of the square matrix [Wfj] defining this linear system
is the only essential in proving the uniqueness of the solution. In this section
we show that, under a set of very large sufficient conditions that are generally
honored in practice, [Wjf] is invertible and the DSI solution is unique.

4.3.1 Consistency
Consistency of the set L
The set L of nodes where ip is known is said to be DSI-consistent or more
simply "consistent" if each connected component of the graph (?(fi, N) con-
tains at least one node belonging to L. In other words, L is consistent if, for
any node i G /, there is at least one node i G L such that there is a path
\(i,t) e G(ft,N) joining i to L
154 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Consistency of the weightings {v"(a,/3}} and /j,(a)


The weightings {vv(a,(3}} and n(a) are said to be DSI-consistent or more
simply "consistent" if, for any a G 0, these coefficients are such that

Remark
Some examples of consistent choices for the weighting coefficients {vv(a,fi}}
honoring conditions (2) and (3) of the above definition have already been
presented in section (4.2.2).

4.3.2 Theorem 1
If L is consistent and if the weightings { v v ( a , f i } } and //(a) are consistent,
then each of the associated symmetrical matrices {[VFZ/] : v = 1,..., n} of size
(M x M) defined by equations (4.11), (4.12), and (4.13) has only one eigen
value, let's say, AM, equal to zero and the associated unit M-dimensional
eigen vector UM has its M components all equal to l/\/M:

Proof
For simplicity's sake and without loss of generality, it is assumed in the fol-
lowing proof that n = 1 and, therefore,
no distinction will be made between </?" and ip,
no distinction will be made between [W] and [W"], and
no distinction will be made between v(a,/3) and vl'(a,f3)
By definition, we have

Let A Q (a) be the coefficients, such that

Accounting for the fact that R(<p\oi) is nonnegative, if the fJ,(a) are consistent,
we deduce that [Wv] is nonnegative also, and we can write
4.3. UNIQUENESS OF THE DSI SOLUTION 155

Taking into account the fact that the weightings {v(a,/3}} are also consistent,
we are sure that the coefficients {X@(a)} have the following property for any
a e fh

This implies that we have:

According to the definition of the notion of convex hull and due to the fact
that the coefficients {X/3(a}} are strictly positive, (4.37) implies that (p(ci)
must honor the following inequalities:

Let a e 0 be an index corresponding to the minimum of </? on D:

Let us now consider the orbit 7V(o!) of a. According to (4.38), we can thus
write

The above property and the definition (4.39) of a imply that

Replacing a by any index a belonging to A r (ct), it can be shown in a similar


way that

If the graph ?(0, N) has only one connected component, then all the nodes
a Q are connected, and the above proof can be recursively repeated for each
node a of this graph. This leads to the conclusion that

According to equation (4.36), this proves that, if the graph C/(fi, N) has only
one component, then [W] = \W"} is semipositive definite and has only one
eigen value, let's say AM, equal to zero, and the associated unit eigen vector
UM is such that5

5
Note that, according to (1.2), M is equal to the number |fi| of nodes in Q.
156 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Corollary 1
If L is consistent and if the weightings {vv(a,(3}} and //(a) are consistent,
then the associated matrices {[W"] : v = 1,..., n} defined by equations (4.11),
(4.12), and (4.13) are semipositive definite, and each of them has a rank equal
to ( M - l ) .

4.3.3 Theorem 2
If L is consistent and if the weightings {^^(a,/?)} and p,(a) are consistent,
then any square submatrix deduced from \WV\ by removing symmetrically
one row together with the corresponding column is of full rank and is thus
invertible.

Proof
With the notations of theorem 1 above, we have:

Moreover, we know that [W] = \WV] has only one eigen value, let's say AM,
equal to zero and the associated unit eigen vector UM is such that

If we consider the full set of eigen values {Ai,..., AM} and the associated unit
eigen vectors {t/i,..., UM} of [W], then, due to the fact that [W] is both
symmetrical and semipositive definite, we are sure that

According to the spectral decomposition of symmetrical semipositive definite


matrices [15] and taking into account the fact that AM = 0, we can write

We deduce that the vectors (Vi,..., VM-I} are linearly independent in iRM,
which implies that [V] is an M x (M 1) full rank matrix:

Let us now consider the columns of [V]*:


4.3. UNIQUENESS OF THE DSI SOLUTION 157

Each of these columns va is a vector of JR -1, and it is easy to see that [W]
is the Gram matrix of the set {vi,..., VM}-

Note that, under the consistency conditions of {v"(a,0}} and //(a) (see equa-
tion (4.35)), this equation implies that the vectors {va} are non-null because:

Bearing in mind that, for i < M, the vector UM is orthogonal to any vector V^,
we can easily verify the following relationship where OM-I is the null vector
of-R^- 1 :

Taking into account the fact that [V] has a rank equal to (M 1), we deduce
that the above relation is the only linear dependency between the vectors
{vi,.. .,VM}, consequently, the non-null vector VM can be decomposed in a
unique way on {t>i,..., VM-I}'-

In other words, the following (M 1) x (M 1) linear system has only one


solution:

This implies both that the matrix [V]*, deduced from [V]* by removing the
last column VM, is invertible and also that the matrix [W] = [W"], deduced
from [W] = \WV] by removing the last line and the last column, is invertible
because

More generally, we conclude that any submatrix \WV] deduced from [W"] by
removing symmetrically one row and the corresponding column is invertible.

4.3.4 Theorem 3
If L is consistent and if the weightings {v"(a,0)} and (JL(O) are consistent,
then the DSI equation has only one solution.

Proof
Let us consider the partition of [W*] defined by equations (4.30), and (4.31),
which induces a similar partition of W. It is always possible to permute
158 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

symmetrically both rows and columns of W// to write this matrix in the
following form:

where [Wjj] is deduced from \WV] by removing symmetrically the rows and
columns I 6 L.
Such a permutation does not change the rank of [W//]. Taking into account
theorem 2 above, we can observe that

where |/| is the number of elements of the set I. Taking equation (4.24) into
account, we can write

Observing that [W//] is an (n-1/| x n-1/|) symmetrical matrix, from equation


(4.40), it can be concluded that [W/7] is a full rank matrix and is thus invert-
ible. As a direct consequence, the global DSI equation (4.34) has only one
solution: this guarantees the uniqueness of the solution of the DSI problem
whatever the constraints may be.

4.3.5 Factorization of the DSI solution


Let us consider a 1-dimensional model M.l(Q, TV, </?, C] and let us assume that
the two following conditions are satisfied:

The set L of Control-Nodes is consistent (see page 153).


C contains only the hard constraints CL (see page 14).

Under these conditions, it is possible to show that the DSI solution </?/ can be
decomposed on the basis of \L\ blending functions {B\} independent of the
function </r.

Blending functions B\
According to the global DSI equation (4.34), it is straightforward to verify
that, under the conditions (4.41), the solution tpi can always be written in
the following way:
4.3. UNIQUENESS OF THE DSI SOLUTION 159

The matrix B^ of size (|/| x \L\) can be decomposed into a series of \L\ column
matrices Bj, each of them having |/| rows:

This allows us to write the DSI solution as

The B\ functions play a role similar to the "Blending Functions" used in


Bezier or Spline functions (e.g., [77]), and it will be shown that they have the
following similar property if there is no constraint other than CL and if L and
the weightings {v(a,0}} and n(oi) are consistent:

However, contrary to the Bezier and Spline functions, the DSI solution is not
an approximation, but an interpolation method implying that the Bi(i] values
does not necessarily belong to [0,1}.

Computing the blending functions B\


Let A( be the "unit impulse," defined as follows:

With these notations, and under the conditions (4.41), it is obvious that we
have:

In other words, B\ is the response of the "DSI filter" to the "unit impulse"
A. The property (4.42) provides an easy way to compute the Bj blending
functions thanks to DSI.

Property of the blending functions B\


If L and the weightings { v " ( a , f i ) } and //(a) are consistent (see page 153),
then, under the conditions (4.41), we have:
160 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Proof
If there is no constraint other than CL and if L and the weightings {v(a, /3)}
and /A(a) are consistent, then the conditions of theorem 1 on page 154 are
satisfied and we have:

We deduce from this relation that

Moreover, according to theorem 2 page 156, we are sure that the inverse Wnl
exists because [W] is of rank (M 1), and we can write

4.4 The local DSI equation


In this section, instead of solving the DSI matrix equation (4.34) directly, we
propose an iterative approach making it unnecessary to compute and store
[W*]. The major advantage of such an approach is that it provides an easy
way to account for hard and dynamic constraints

4.4.1 Computing the variations of R*((p)


Variation of R((p)
The following can be deduced from the definition of R((p\k):

This implies that


4.4. THE LOCAL DSI EQUATION 161

We conclude from this relation that we have:

Variation of p((p)
For any soft constraint of c C~, we can observe that

Using the vectorial derivation rules (4.26), we obtain

This implies that d\Atc </? bc\21d(pv(a) can be written as

From this relation and equation (4.16), we deduce that

with :
162 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

According to equation (4.17), we conclude that

Variation of R*(p}
Taking into account the definition of R*(y>) (see page 145) and according to
equations (4.43) and (4.44), it is easy to see that

4.4.2 The local DSI equation


The DSI solution <p is such that dR*((f>)/d(f>"(a) = 0; hence the component
(pv(oL) of (f> must satisfy the following equation:6

where the terms and are defined by

6
Equations (4.34), (4.46), (4.49), and (4.50) are considered to be the backbone of this
book and, for this reason, have been put into boxes. Dozens of DSI constraints are pre-
sented throughout this book, and, for each of them, the aim is to determine the coefficients
{A^(Q)},6 c > 7?(a),andr^a|^).
4.4. THE LOCAL DSI EQUATION 163

with:

We propose calling equation (4.46) the "local DSI equation" at node a.

Cross constraints
It is interesting to note that, in equation (4.49), the term x^(a\ip} is different
from 0 if, and only if, c is a cross constraint (see page 9). Therefore, we will
say that x^.(a\(p) is the "cross constraint component" of c on (p at node a.

Remark 1
We can observe that the term T^(a\(p) can also be written according to the
following equation:

In the case where A^. (a) is not equal to zero, this equation can also be written
as

Remark 2
Taking into account the constraints normalization (see equation (4.4)) as well
as the values gv(oi) and 7^ (a) denned above, it is easy to check that the square
matrices [W] and [A2] denned by (4.12), and (4.18) are such that
164 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

We conclude that the balancing ratio w defined by equation (4.25) can also
be computed according to the following formula:

Taking into account equation (4.4), we also have:

Example: Harmonic weightings


By developing the local DSI equation (4.46) with the harmonic weightings
v(a, /#), as denned by equation (4.29), the following expressions for the terms7
Gv(ct\(p) and gv(a) are obtained:

Example: Fuzzy Control-Node constraint


Let us consider a discrete model Ai n (fi, AT, </?, C) and let a G / be a given node
for which the unknown component (pv(ot) of (p(oi) is known to be close to a
given value </>:

Such a piece of information can easily be turned into a DSI constraint c called
"fuzzy Control-Node" belonging to C~ and denned by

{c honored}

with :

7
In these expressions, |Ar(o:)| represents the number of elements of the orbit TV0 (a) of
the node a (see figure (1.3)). Note that, in the case of harmonic weightings, the term gv(a)
does not, in fact, depend on v.
4.4. THE LOCAL DSI EQUATION 165

This DSI constraint is certainly the simplest imaginable, and it is easy to


build the associated terms T^.(o\(p) and 7^(0:) as defined by equation (4.49):

4.4.3 Proposal for an iterative algorithm


The local DSI equation presented in the previous section suggests the following
iterative algorithm in estimating the solution (p:

II- DSI algorithm


let / be the set of nodes where <p(a) is unknown
let (p = <>[o] be a given initial approximated solution
let w be an estimated value of the balancing factor
while ( more iterations are needed ) {

} // end : for_all( a G / )
} // end : while( more iterations are needed )

As you can see, this very simple algorithm does not explicitly use the matrix
\W*\ occurring in the DSI equation. However, it must continually recompute
products {p,((3} vv(alphai,0) v"(a2,/3)}, which are precisely the ones used
to build [W*] (see equation 4.12).
If the initial solution y?[0] is close to the actual DSI solution, then few itera-
tions are needed and the computation cost becomes acceptable. For example,
such a situation occurs in an interactive context where the initial solution
is taken as equal to the previous solution before any modifications of the
constraints and/or the values {<>"() : i G L} are performed by the user.
To show that the proposed algorithm actually converges, notice that R*(<p)
can be expressed as a function of ipv (a) according to the following formula:

The coefficients A, B and C are independent of (pv(oi) and

The minimum of the global criterion R*(y>) as a function of <p"(a) is achieved


for the value (pv(oi) = B/A, which, by the way, corresponds to the value
given by the equation (4.46). Thus, we are able to conclude that our algorithm
converges since, at each step of the iterative process, the value of the positive
or null function R*(tp] decreases.
166 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

It must be noted that, if the conditions of the theorem 3 presented on page


157 are honored, then the final solution (p is unique: the initial solution (/?[QJ,
while leaving the result unchanged, influences only the speed of convergence.
If the conditions of this theorem are not satisfied, then the iterative algorithm
will yield a final solution that depends on the initial solution.

Remark
If we consider a node a with no constraint attached, then the terms Tv(a\(p)
and 7" (a) are both equal to zero and the local DSI equation (4.46) becomes:

{ no constraint attached to a }

In such a case, the shape of this equation, which tends to suggest that (p"(a}
is free from any constraint, is quite confusing. However, this is not true. It
is important to understand that, recursively through the graph Q(t, N), this
value y>v(oi) depends on values {<>"(/?)} where constraints are applied, so that
(pv(a) is also dependent on these constraints.

4.4.4 Dynamic constraints


Prom a theoretical point of view, the constraints c 6 C should always remain
unchanged during the iterative process presented in section (4.4.3). How-
ever, in practice, dynamically updating these constraints at each step of the
iterative process can be extremely useful. For example:
If a constraint c is not linear, then it is always possible to linearize it in
the neighborhood of the current solution (see section (4.4.5)). This current
solution evolves at each iteration making it necessary to update such a lin-
earization.
Consider the example in figure (1.11), where (f represents the geometry of a
surface H that has to fit a set of points scattered in the 3D space. Each data
point is assumed to attract the impact point corresponding to its projection
onto the surface in a given direction. It is clear that, keeping the directions
of attraction constant, the impact points change during the iteration process,
thus it is wise to update them: this, in turn, implies that the constraints
modeling these "attractions" need to be updated.
To permit the updating of such "dynamic constraints," we propose modifying
the iterative algorithm presented in the previous section as follows:

// DSI algorithm with DSI constraints


let / be the set of nodes where <p(ot) is unknown
let <p = tp[Q] be a given initial approximated solution
let w be an estimated value of the balancing factor
while ( more iterations are needed ) {
for_all( a / ) {
for_all( i/ ) {
4.4. THE LOCAL DSI EQUATION 167

Figure 4.3 Smoothing a 3D surface with DSI: the initial surface is a sphere
whose geometry has been randomly perturbed.

for_all( c 6 C ) {
if( c is dynamic ) update c
}

} II end : for_all( a / )
} // end : while( more iterations are needed )

It should be noted that, from a theoretical point of view, the uniqueness of the
solution can no longer be guaranteed when such dynamic constraints are used.
In general, the final solution depends both on the initial solution </?[o] and the
ordering of the nodes of O used in the main loop of the DSI algorithm:
initial solution c^[
one particular solution
ordering of

However, in practice, if the modifications of the constraints between two suc-


cessive iterations are small, then the convergence is still observed, and the
final solution is weakly dependent on the initial solution.
Dynamic constraints appear to provide a very efficient way of solving prob-
lems with complex constraints. The global approach consisting of solving the
matrix equations (4.34) does not allow such dynamic constraints to be taken
into account: accordingly, we consider the iterative approach based on the
above algorithm as the only one to be used in practical applications.

Example 1: Smoothing
Let us assume that we want to "smooth" the component (pv of a function (p
belonging to a discrete model ^"(OjTV, </9,C). More precisely, we would like
to replace the current values {^^(a) : a 6 fi} by new values {ipv(a) : a <E $1}
in such a way that
168 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

the global roughness R(tp) is smaller than R((f>0id), and


the smoothed solution </? is close to <p0id-
By the mere installation of the following dynamic constraint, such a smooth
solution can be very easily obtained using the iterative DSI algorithm:

This constraint is a "fuzzy Control-Node" constraint similar to the one cor-


responding to equation (4.52). The only difference is that (p0id is constantly
modified to be equal to the value of (p at the previous iteration.
In the example shown in figure (4.3), the efficiency of the smoothing
method is clearly evident. Here, the smoothing algorithm was simultane-
ously applied to the components (<px, ipy, tpz} of (/?, which correspond to the
location of the nodes of a surface in the 3D space.

Example 2: Fuzzy Control-Distance constraint


Let A be an object associated with a discrete model .M3(fi,./V, </?, C) where </>
represents the geometry of A:

In this definition of </?, the values {xx(a),x?/(Q:),x2:(Q:)} represent the coor-


dinates of the node a in the 3D space. As suggested in figure (4.4), let us
consider a situation where
d(a) is a given direction attached to a, and
pr(a|d) is the impact point on a target T of the straight line launched from
a in the direction d(a).
By definition, we call a "fuzzy Control-Distance" constraint a DSI constraint
specifying that a must be located at a given distance 6(a) from T in the
direction d(a).

If we note pT(a|d, 8} as the point such that

then it is easy to see that the notion of "fuzzy Control-Distance" can be


implemented as a "fuzzy Control-Node" (see page 164) such that

It should be noted that x(a) moves at each iteration of the DSI method and
the impact point p T (a|d) has to be updated at each iteration. This clearly
shows that the "fuzzy Control-Distance" constraint so defined is a dynamic
constraint.
4.4. THE LOCAL DSIEQ UATION 169

Figure 4.4 Notion of "fuzzy Control-Distance:" the node a must be located at


a distance 6(a) from a target T in a direction d(a).

4.4.5 Nonlinear constraints


Let us assume that (p has to respect the following constraint c

where Fc is a given nonlinear derivable function of (p. Let F'c be the vectorial
derivative (see section (4.1.5)) of Fc((p) relative to 9? at a given point (p^y.

According to the Taylor series expansion formula (see equation (4.27)), in the
neighborhood of </?[o] > we can write

Let us assume that Fc((p) is not constant in the neighborhood of <p^:

If we want (p to honor the constraint (4.54), then we deduce from equation


(4.55) that (p must honor the following linear normalized DSI constraint c:

Let us define A(a|</>[o]) as follows:


170 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

According to equations (4.49), and (4.51), we conclude that the terms 7e (a)
and r^(a|c/?) associated with the above constraint are such that

It should be noted that the resulting constraint is a "dynamic" DSI constraint


because the coefficients Avc (a) and bc have to be updated at each step of the
iterative process. As a consequence, we are not sure of the uniqueness of the
solution yielded by the DSI iterative algorithm. Theoretically, the solution so
obtained may depend on the initial solution ip^.

Remark
The term A^(a|(/?[ 0 ]) m the equation (4.56) can be interpreted as a "repelling
force" that tends to pull <f>v(ot) away from its current value (ipv (a)}^. As a
consequence, the local DSI equation (4.46) will tend to transform (pv(ot) in
such a way that

From a practical point of view, dynamic constraints work fine only if the mod-
ifications of the constraints between two successive iterations have a relatively
small amplitude. This suggests that we replace the term Ap(a|<^[ 0 ]) in the
equation (4.56) by the term A^(a|(/?[0]) defined as follows:

In the above expression, the chosen value of e should be small enough to


prevent large modifications of ^pv (a) at each iteration.

4.5 Accounting for hard constraints


Definitions
Let us assume that the solution (p of our problem has to honor strictly the sets
C= and C-5" corresponding to hard constraints as defined by equations (1.5),
and (1.6). Using the notations introduced on page 140, these constraints can
be written as follows:

For any point (p in JR n ' M , the notions of active and inactive constraints are
defined as follows:
4.5. ACCOUNTING FOR HARD CONSTRAINTS 171

Within the framework of optimization theory [90], such notions of active and
inactive constraints are used to introduce the following concepts:
A constraint c e C= or c C> is said to be honored if it is inactive.
<p is said to be a feasible point if, and only if, all the constraints are inactive
at that point.
The set of all the feasible points <p is called a feasible region.
The set A(C~, C > \<p] of all the active hard constraints at point ip is called the
active set at (p.

Active set method


Let us assume that an approximated solution corresponding to a feasible point
V?[0] is known and that the aim is to find, in the neighborhood of </?[0], a new
point corresponding to a lower value of the global roughness R*((p~). For this
purpose, we propose to proceed iteratively for each node a of the graph as
follows:
1. Let (p be a new point of JRn'M deduced from </?[Q] by replacing the components
{</7[o]()} by the values obtained with the local DSI equation (4.46) without
taking any hard constraints into account.
2. Build the set A.(C~, C 5 *)^) of active constraints at point (p.
3. Look for a point tp* such that

Determining (p*
Let Hc be the hyperplane of lRn associated with a hard constraint c E C
(see page 141). Complying with item 3 of the active set method introduced
above implies finding that point of Hc that is the closest to the current point
(p. In other words, (p must be equal to the orthogonal projection of (p on Hc.
Bearing in mind the fact that Ac is orthogonal to Hc, it is easy to check that
the orthogonal projection (p* of (p on Hc is defined by (see figure (4.1)):
172 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Throughout this chapter, it has been assumed that the constraints are nor-
malized (see page 140), which, according to equation (4.4), implies that the
above formula can be written in the following simpler way:

Iterative algorithm
To account for hard constraints, we suggest slightly modifying the iterative
version of the DSI algorithm based on the local DSI equation:

// DSI algorithm with dynamic and hard constraints


let I be the set of nodes where </?(a) is unknown
let (f> = y>[o] be a given initial approximated solution
let w be an estimated value of the balancing factor
while ( more iterations are needed ) {
for_all( a e / ) {
for_all( v } {

while( A(C=, C** \i{>) is not empty ) {


choose a constraint
compute
update
update
}

for_all( c <E C ) {
if( c is dynamic ) update c
}

} Jl end : for_all( a I )
} // end : while ( more iterations are needed )

Existence and uniqueness of the solution


Let R' be the subspace of ]Rn corresponding to the components of <^/.
Each hyperplane Hc corresponding to a hard constraint c intersects IR'
according to a "hyper-straight-line" H*:

As suggested in figure (4.5), the set of all these hyperstraight-lines is bounding


a region H of IR^M defined by
4.5. ACCOUNTING FOR HARD CONSTRAINTS 173

Figure 4.5 Minimizing the global roughness (represented by contour lines) in


the feasible domain H. denned by hard constraints (dashed area): initial and final
solutions are represented by white and black circles, respectively. Parts (A) and (C)
show the cases of one and two equality constraints, respectively, while part (B) shows
the case of an inequality constraint and part (D) a combination of an inequality and
an equality constraint.

It is clear that H. is a convex subset of M' , and, provided that 7i is not


empty, this implies that any convex function denned on JR has only one
minimum in Ji. If we observe that any positive definite quadratic function
such as, for example, the global roughness R*(y>), is convex, then we can
conclude that

if : the set of hard constraints is not empty


and there is at least one feasible point
then : the DSI solution exists and is unique

Convergence
If the set H of feasible solutions is not empty, then convergence of the iterative
algorithm presented on page 172 is ensured by the fact that the generalized
global roughness R*(<p) decreases at each step of the main loop.
To understand the way this algorithm leads the current value of (f> toward
the DSI solution, let us refer to the examples shown in figure (4.5) where:
the contour lines correspond to the mapping of the variations of the global
roughness R*(y>} in the subspace JR?' M ,
174 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

the initial solution c^ ' is represented by a white circle, while the DSI solution
is represented by a black circle, and
the feasible region Ti. corresponds to one of the following:

1. one hyperplane Hc associated with one equality constraint (see figure


(4.5)-A),
2. a convex region bounded by a series of hyperplanes {Hc} associated with
inequality constraints (see figure (4.5)-B),
3. a mixing of the cases (1) and (2) where the hyperplane Hc associated
with an equality constraint is "clipped" to a convex region associated
with a set of equality constraints (see figure (4.5)-D), or
4. the intersection of two (or more) hyperplanes Hc corresponding to equal-
ity constraints (see figure (4.5)-C).

As can be seen in figure (4.5), the updating formula

tends to pull the current solution <> toward the minimum of R*(^} while the
loop

while( A(C~,C>\ip) is not empty ) {


choose a constraint
update
update
}

systematically projects this current solution orthogonally on the convex do-


main 7i.

4.6 Accelerating the convergence


The DSI problem is no more than a particular quadratic programming prob-
lem and the local DSI equation can be viewed as the well-known steepest
descent method. This suggests that traditional methods dedicated to this
kind of problem (e.g., [141, 90]) can be used for accelerating the convergence
of the iterative DSI algorithm as, for example:
the successive over-relaxation method (e.g., [209], [177]), and
the conjugate gradient method (e.g., [209], [90], [177]).
Each of these methods is based on the same principle, which consists of using
the result of iteration [p 1] to improve the result of iteration \p\. The first one
corresponds to a local strategy, while the second involves a global approach.
4.6. ACCELERATING THE CONVERGENCE 175

4.6.1 Traditional methods


Successive Over-Relaxation
This method relies on the following implicit assumption:

If the convergence is monotonic, then it is possible to use the


"direction" of variation of(p for updating (p by a new value beyond
the "optimal" value proposed by the local DSI equation.

In other words, if <p^ld(a) is the value obtained at iteration \p 1] and ^ew(a)


the "optimal" new value yielded by equation (4.46), then (pv(oi) should be
updated according to the following schema:

This updating equation is generally written in the following equivalent way:

The factor LJ is the so-called "over-relaxation" coefficient, which is in general


taken to be in the range [1,2]. The optimum choice of a; depends on all
the parameters of the discrete model A4 n (f2, TV, <f>,C}. Rather than trying
to determine this optimal value of a;, it is simpler to use an average value
determined experimentally. In practice, in the case of DSI, the value uj = 1.5
seems generally to yield excellent results ([46, 50]). From the programming
point of view, the implementation of this method has little impact on the DSI
iterative algorithm:

// DSI algorithm with over-relaxation


let / be the set of nodes where (p(oi) is unknown
let <> = y>[o] be a given initial approximated solution
let w be an estimated value of the balancing factor
while( more iterations are needed ) {
for_all( a / ) {
for_all( v ) {

} // end : for_all( a e / )
} // end : while( more iterations are needed
176 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

The Conjugate-Gradient method


Let us assume that there are neither dynamic nor hard constraints except
those corresponding to CL. In this case, according to equation (4.32), the
solution (pi of the DSI problem corresponds to the minimum of the quadratic
form R*(<p) or, equivalently, to the minimum of (^ JR*(</?)) defined by

Let ]R'M be the subspace of Mn'M corresponding to the (n |/|) unknown


components of </? stored in the submatrix <>/, and let Rj(ipi) be the restriction
of R*(<p) considered as a function of </?/ only. According to equation (4.33),
the gradient gradi of (| R$((pj}) relatively to </?/ is such that

The idea of the conjugate gradient method is to build progressively at each


iteration, a series of independent directions {d/[0] 5 d/[i],..., d/[p]} of JR'M and
to determine a step (scalar value) s\p] in the direction d^ such that

It can be shown (e.g., see [90]) that the optimal step S[P] in the direction d/[p]
is such that

At each iteration p, the direction d/[p] is obtained as a linear combination of


the gradient gradj^ at point y>/[p], with directions {^/[o],<^/[i], ,^/[p-i]}
obtained at previous iterations. The coefficients of this linear combination
are chosen in such a way that rf/[p] is "conjugate" relative to all the previous
directions in the following sense:

As a consequence of this "conjugacy" property, it is possible to show (e.g., see


[90, 163]) that the gradient gradi^p+^ at iteration \p + I] and the associated
direction d/[p+i] can simply be updated according to the following equations:

The conjugate gradient method can then be implemented according to the


following iterative algorithm:

// DSI algorithm using Conjugate-Gradient


let / be the set of nodes where ip(a) is unknown
let (p * <>[o] be a given initial approximated solution
4.6. ACCELERATING THE CONVERGENCE 177

let gradi < [Wjj] <pr ~ ipi


let di < gradi and 7 < ||gra<i/||2
while( more iterations are needed ) {

compute the optimal value s

} If end : while( more iterations are needed )


This method is very efficient. Furthermore, it is possible to prove that it
converges in, at most, (n |/|) iterations. However, there are two major
drawbacks:
1. Because ipj is used only in the initialization phase, it is impossible to change
if)i between two iterations, implying that dynamic constraints cannot be taken
into account.
2. The method does not allow hard equality or inequality constraints to be taken
into account.
For these reasons, the next section proposes a "pseudo" Conjugate-Gradient
method that also converges very rapidly, yet still offers the possibility of taking
hard and dynamic constraints into account.

The Pseudo-Conjugate-Gradient method


Taking into account equation (4.45), we can observe that, for all a e O and
all v 6 {!,...,n}, the components {gradf(a)} of the vector gradi in the
conjugate gradient method presented above are such that

This suggests modifying the conjugate gradient algorithm as follows:


// DSI algorithm using Pseudo-Conjugate-Gradient
let / be the set of nodes where <p(a) is unknown
let ip < c/?[o] be a given initial approximated solution
let gradi be the vector defined by equation (4.59)
let di < gradi and 7 < ||grad/|| 2
while( more iterations are needed ) {
determine the optimal value s such that

while( A(C=,C>\(p) is not empty ) {


178 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

choose a constraint
update
update
}
for_all( c e C ) {
if( c is dynamic ) update c
}
let gradi be the vector defined by equation (4.59)

} // end : while( more iterations are needed )


It is important to note that, contrary to the pure conjugate gradient method,
the above algorithm allows the dynamic and hard constraints to be taken into
account at each step of the iterative process. As a consequence:
if there is no active dynamic and/or hard constraint other than those corre-
sponding to C L , then the above algorithm reduces to the classical conjugate
gradient method, and
if there are active dynamic and/or hard constraints, then the above algorithm
is equivalent to the classical DSI algorithm based on the local form of the DSI
equation.
For these reasons, we propose calling "pseudo" Conjugate-Gradient method
the above algorithm derived from a method initially proposed by Fletcher and
Reeves [81] for minimizing non-quadratic objective functions.

Computing the optimal value s


It can be observed that the above Pseudo-Conjugate-Gradient method re-
quires to compute the optimal value of s at each iteration. Unfortunately, if
there are active dynamic constraints, the matrix [W//] varies at each iteration
and the pseudo-conjugate directions cannot rigorously honor the conjugacy
constraint (4.58): as a consequence, equation (4.57) cannot be used to deter-
mine the optimal value of s. In this section we will show how to compute this
optimal value as a function of the terms gu(oi), G"(a\(p), 7"(en) and Ty(ot\(f>)
denned by equations (4.47), and (4.48). For this purpose, let us consider the
direction d as a vector of IRn' partitioned in a similar way to the partition
of (p denned by equation (4.30):

For the sake of simplicity, the (n |L|) components of dL are assumed to be


equal to zero and we introduce the vector x(s) of lRn' denned by
4.6. ACCELERATING THE CONVERGENCE 179

Let xv(a., s] and dl'(a) be the components of x(s) and d corresponding to the
component (pv(ot) of (f>:

Using the notations presented in section (4.1.5), we can write

By definition of R*(x), we have (see equation (4.22)):

According to equation (4.43), and (4.44), we also have:

Merging these two equations with equation (4.61) gives:

Let Bl>(a\i/j) and ft"(a) be the real values defined as follows for any node
a e ft and any vector ^ e Mn'M:

On the other hand,


180 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Using these notations, we deduce that equation (4.62) can be written as

According to equation (4.60), this implies:

The optimum value of s is thus the one for which dR*(x(s})/ds is equal to
zero, leading us to conclude that s must be chosen such that

where BV(OL\I^) and bv(a) are defined by equations (4.63).

4.6.2 Other acceleration techniques


The over relaxation and conjugate gradient methods can be combined with
other techniques to achieve even faster implementations of the DSI algorithm.
In the following, three of these possible methods are presented briefly.

Fast initializers
Fast initializers are methods that allow for the rapid generation of an initial
solution </?[o], close to the optimal DSI solution. For example, a very efficient
method, called the "explosive data method" (see [50]) consists in propagating
a "wavefront" W(t) from the initial data through iterations t = (0,1,...):
// explosive data initializer for DSI
let t < 0
let 7(t) < set of nodes holding Control-Nodes
let W(t) < fi(t)

while(fl(*) ^ ft ) {
W(t + ! ) < 0
for_all( a 6 W(t) ) {
for_all( 13 . N(a) ) {
if( (3 not in ft(t) ) {
>() < >()
n(t) < n(t) u {(3}
W(t + l)<W(t + l}U{/3}
}
}
}
4.6. ACCELERATING THE CONVERGENCE 181

It is easy to extend this algorithm to other constraints such as fuzzy Control-


Nodes or fuzzy Control-Points (see sections (4.4.2), and (4.7)).

Multigrid Methods
Multigrid methods consist in decomposing the discrete model .A/P(f2, N, (p,C]
into a series of simpler models defined as follows:

is deduced from
.M"(n[i_i],Ar[i_i],y>[i_i],C[i_i])
by regularly removing nodes from O[j_i]

Let us assume that a series of m such models have been built that way. The
interpolation of <f> with the DSI method on Mn($l, N, (p, C] can be greatly ac-
celerated by using the following algorithm where m is a positive given integer:

//- Multigrid algorithm for DSI


for( i = m ; i>Q ; i ) {
apply DSI to
define the Control-Nodes Ct[iijn as follows:

The solution <>[Q] s obtained can then be used as an initial solution for the
DSI algorithm applied to A4 n (f2, N, ip,C). The principal difficulty with this
approach is to build the series of constraints {C[ 0 ],..., C[m]} in a consistent
way.

Parallel processing
From a theoretical point of view, if we look at the DSI algorithm presented
on page 165, it is clear that
the ordering of the nodes of the set / does not matter,
at each step of the iterative process, the application of the updating
equation

always transforms the current function (p into a function closer to the


DSI solution.

We conclude from these observations that the main loop of the iterative algo-
rithm presented on page 172 can be executed in parallel on several processors
sharing the same memory where the model ,Mn(rj, JV, </?,) is stored.
182 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Figure 4.6 Spreading a constraint (white point) on the set of nodes Q* (black
nodes) that correspond to the vertices of a cell of the network used by DSL (A)
Case of a 1-cell. (B) case of a 2-cell. (C) and (D), case of 3-cells.

In the case where the conjugate gradient or Pseudo-Conjugate-Gradient


methods presented on pages 176 and 177 are used, parallel methods can also
easily be implemented to compute matrix products such as {[W/j] dj} and
{(diY [Wjj] (di}*} or to compute the optimal value (4.64).

4.7 The fuzzy Control-Point paradigm


There are many applications where a discrete model M.n(l, TV, 95, C) is used
for modeling the variations of a property (/? attached to a discrete curve, a
discrete surface or a discrete volume (see figures (1.5), and (1-6)). In such a
case, the cells8 of the mesh induced by the graph /(fi, N) have a geometric
meaning and the geometry of these cells is assumed to be defined by the
location of the nodes corresponding to their vertices in the 3D space. As
suggested in figure (4.6), the case may arise where a piece of information 0(p)
on (p attached to a point p, belonging to a given cell, is known and has to be
transformed into a DSI constraint to be added to C.
In this section, we will see how to spread such a piece of information over
the vertices of the cell surrounding the point p. The resulting DSI constraint
is called a "fuzzy Control-Point" (FCP) constraint.

4.7.1 First tutorial example


Let us consider a cellular partition P(<S] of a "target" surface <S where all
the 2-cells are triangles, and let 0 be the set of all the vertices of P(S}. The
edges of P(S) define a graph ?(f2, A/"), which can be used for building discrete
models (e.g., figure(1.6)-A) associated with the geometry and the properties
8
For example, segments, triangles, tetrahedra, hexahedra, polyhedra, and so on.
4.7. THE FUZZY CONTROL-POINT PARADIGM 183

Figure 4.7 Spreading a constraint on the vertices of a triangle belonging to a


triangulated surface.

of <5 sampled at the vertices of P(S}. For the sake of consistency with further
chapters devoted to geometry, the location of any node a. G 1) will be noted as
x(a) and the triangles of P(S} based on the vertices
will be noted as !

Fuzzy Control-Property
Let Aip(0, N, <p,C) be a discrete model corresponding to a property 9? of <S
to be interpolated over fi. As shown in figure (4.7):
Let p be a given point located in a given triangle T(x(ao), X(QI), x(c*2)) of S
and corresponding to the projection of a point IP on <S in a given direction
D.
Let (Ao(p), Ai(p), A2(p)} be the barycentric coordinates (see page 254) of p
relative to these three vertices:

The linear interpolation


be written as

The aim is to define a DSI constraint spread over the region 7* = (ao, ai, o^)
and specifying that

In other words, we would like to "project" the value </>(IP) on the "target"
<S in the direction D. For this purpose, we propose to merge the equations
(4.65), and (4.66) into one linear DSI constraint c e C~, distributed on the
region 0* = (CKQ, o^, Q 2 ) and definedby
184 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

with:

It is easy to check that this constraint generates the following terms 7c(cKi)
and rc(oti\(p) in the local form of the DSI equation at each node ctj G Q*:

Fuzzy Control-Point (sensu stricto)


Let us return to the example presented in the above section, and let us consider
IP as a "magnet" attracting the point p of the triangle T(X(QO), x(ai), x(ai2))
with a force proportional to a given factor wc. In other words, we would like
to have p as close as possible to the given point IP with a certainty factor
equal to wc. For this purpose, the triangulated surface S can be considered
as being associated with a discrete model A/(3(0, .AT, <, C) where (p represents
the geometry of S:

In this definition of </?, the values (XX(Q!),X!/(Q;),X;?(Q;)} represent the coordi-


nates of the node a in the 3D space, and we suggest adapting the notion of
fuzzy Control-Properties, presented above, in such a way that

where (IP1, IPy, IP*} represent the components of IP in the 3D space. In this
case, the "magnet" IP attracts the point p and this generates a set of three
independent "fuzzy Control-Property" constraints (cx,cy,cz] associated with
each of the components of (p:

This set of independent constraints is called "fuzzy Control-Point" and gen-


erates the following coefficients, 7^(0^) and T"(ai\q>), occurring in the local
form of the DSI equation

where Jl* represents the set {aQ,ai,a<2\.


Contrary to the notion of fuzzy Control-Property, in the case of a fuzzy
Control-Point, the geometry is changing at each step of the iterative DSI
algorithm such that
4.7. THE FUZZY CONTROL-POINT PARADIGM 185

If the vertices of T(X(Q;O), x(ai),x(a2)) have moved in such a way that p is


still located inside T(x(ao),x(ai),x(a2)), then the barycentric coordinates
(Ai(p)} have to be updated.
If the vertices of T(x(ao), X(QI), x(a2)) have moved in such a way that p is
now located outside T(x(ao),x(a!i),x(a:2)), then we have to look for a new
triangle holding the projection p of IP on S, and the barycentric coordinates
{Ai(p)} relative to this new triangle have to be recomputed.
This implies that fuzzy Control-Points have to be implemented as dynamic
DSI constraints (see section (4.4.4)). In practice, this type of constraint is
quite efficient and yields excellent results (see [130, 3]). For example, the
modeling of the surface presented in figure (1.11) was based on fuzzy Control-
Points.

Comment 1: Generalization
All of the above is independent of the fact that the target S is a surface and
the fact that the nodes 17* used for spreading the constraints correspond to
the set of vertices of a triangle. In practice, similar results are obtained by
"projecting" IP at a point p belonging to a segment of a polygonal curve
(see figure (4.6)-A), a triangle of a triangulated surface (see figure (4.6)-B), a
tetrahedron of a tetrahedralized volume (see figure (4.6)-C), a hexahedron of
a volume (see figure (4.6)-D), or any set of nodes 12* surrounding the impact
point p.

Comment 2: Fuzzy Node-on-Plane


The notion of Node-on-Plane constraint is the exact opposite of the notion
of fuzzy Control-Point (sensu stricto) presented above. We would now like
to have a node a to be attracted by a plane P(p, N) passing by a point p
and orthogonal to a unit vector N. It should be noted that the node a can
belong to any type of object, for example, a curve, a surface, or a solid. The
attraction of a by the plane P(p, N) tends to maintain the point <p(a) defined
by equation (4.68) in this plane. This constraint is equivalent to the following
equation:

This equation can easily be turned into the following canonic DSI constraint
c = c(a, N)

with:
186 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

We can be verify that this constraint generates the following terms 7^ (a) and
F^(a|(/?) in the local form of the DSI equation at node a:

4.7.2 Second tutorial example


Let us consider a regular n-grid as denned in section (3.4), and let fi be the set
of all the vertices of this grid. The edges of the grid define a graph (/(17, AT),
which can be used for building discrete models (e.g., see figures (3.17), and
(3.18)) where the geometry and the properties are assumed to be defined at
the vertices of the grid. For the sake of consistency with further chapters
devoted to geometry, the location of any node a 6 0 will be noted as x(a).

Fuzzy Control-Property
Let Aip(fi, N, </?,) be a discrete model corresponding to a property (p to be
interpolated over the set O corresponding to the nodes of the regular n-grid.
As shown in figure (3.20), let p = p(u) be a given point located in a given
cell C, and let us assume that
the vertices {ctii...in ' ik G {0,1}} of the cells are numbered as suggested in
figure (3.20), and
the parameter u = [it1,.. ^u71]* corresponding to the location of p = x(u) in
C is assumed to have been determined according to the algorithm presented
on page 126.
According to equation (3.16), an interpolation </?c(p) of < at p = x(u) in the
cell C can be written as

with:

As in the first tutorial example, the aim is to define a DSI constraint spread
over the set of nodes 0* consisting of the vertices of C and to specify that

where </>(p) is a given value. For this purpose, we propose merging equations
(4.70), and (4.72) into one linear DSI constraint c G C~, distributed on the
region O* and defined by
4.7. THE FUZZY CONTROL-POINT PARADIGM 187

with:

According to equation (4.49), such a constraint generates the following terms


Jc(&ii...in) and r^o^...^!^) in the local form of the DSI equation at each
node ail...in G 0*:

Fuzzy Control-Gradient
In the same context as the fuzzy Control-Property constraint presented above,
let us now assume that we want to specify that

where {<7i(p), , <7n(p)} are given values while u = u(p) is determined as


described on page 127. As can be seen, gj(p) is no more than the jth (co-
variant) component of the gradient g of the function ip at location p and, for
this reason, the set of n constraints (4.74) is globally called a fuzzy "Control-
Gradient" constraint.
If we define A^' in (p) as

then equation (4.70) implies that

It can then be deduced that the constraints (4.74) are equivalent to the fol-
lowing DSI constraints (c(l, p ) , . . . , c(n, p)} defined by
188 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

with:

According to equation (4.49), each of these n constraints generates the follow-


ing terms fyc(j,p)(aii...in) and ^ c (j,p)( a ii...i n \f} m the local form of the DSI
equation at each node Q;^...^ of the n-cell containing the point p:

For simplicity's sake, it is convenient to gather these n constraints {c(j, p)}


into one single composite constraint c(p) defined as follows:

4.7.3 Generalized fuzzy Control-Point


Interpolating over a region of 0
Let .Mn(Q, Af, </?,C) be a discrete model representing a geometrical object for
which the location x(a) of each node a 6 7 in the 3D space is now assumed
to be a given:

Let Q* be a subset of nodes corresponding to a "region" of Q


4.7. THE FUZZY CONTROL-POINT PARADIGM 189

and let {Aa(p) : a O*} be a set of associated continuous (real valued)


weighting functions,9 defined on the 3D space JR and verifying the three
following "cardinal" properties:

Thanks to the two first cardinal properties of the weightings (A Q (p)}, we can
be sure that, for any point p M3, the function </3(p) defined as follows

interpolates the values {v(ot) : a 2*}:

Moreover, the third cardinal property guarantees that this interpolation is not
"biased:"

Definition
Let dp be the interpolation of (p defined above, and let flp(-) be a family of
linear operators indexed by p M3 and transforming the vectorial function
(p into a real number Qp((f>} in such a way that

where {a p ,..., a} are assumed to be linear operators.


The aim is to install a DSI constraint on each node a 6 fi* specifying that
0>p(<f>) should be equal to a given value 6P for a given point p 6 1R3 with a
given certainty factor -cup:

DSI constraint : are given

By definition, such a constraint will be called "Generalized fuzzy Control-


Point" attached to point p.
D u e t o t h e linear representation o f <fi(p) i n function o
we have:

9
It should, of course, be noted that these functions can correspond to barycentric coor-
dinates, but they may also consist of nonlinear blending functions.
190 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

It is easy to see that the associated DSI constraint c c(p) can then be
formulated as follows:

with:

4.8 The fuzzy Control-Node paradigm


The notion of fuzzy Control-Node (FCN), has already been introduced (see
page 164): it consists of a DSI constraint cva specifying that the component
if>v(oi] of <p(a) should be equal to a given value $va with a given certainty
factor wcva\

We have already seen (see equation (4.53)) that such a constraint yields terms
TvcV (a\(p) and 7^ (a) denned by equation (4.53):

The notion of FCN is the simplest soft DSI constraint imaginable. This section
shows
how to transform a constraint c 6 C~ into a series of FCN constraints, and
how the DSI solution is sensitive to the location of the FCN constraints.

4.8.1 Equivalent dynamic fuzzy Control-Node


In this section, we show that any constraint c G C~ is equivalent to a set of
Dynamic fuzzy Control-Node constraints {cva a e f2, v = 1 , . . . , n} associated
with a set of values {0ala ^ ^ c > v = 1> , ^} to be updated at each step of
the iterative DSI algorithm.

Definition
Let Ac and bc be the parameters that define a constraint c belonging to C~
and let Slva be the subset of 0 defined by
4.8. THE FUZZY CONTROL-NODE PARADIGM 191

We will note as {cva\a e 0^,^ = l , . . . , n } the set of fuzzy Control-Nodes


associated with the constraint c and denned by

where the increment A^(a|<^) is defined by

Theorem
Any constraint is equivalent to the set of its
associated Dynamic fuzzy Control-Nodes.

Proof
If we compare the equation (4.52), and (4.53) with equation (4.51), then it is
easy to check that c has the same contribution to the terms 7^ (a) and Tv(a\(p]
denned by equation (4.48) as the set of constraints {cva\a e 0^, v = 1 , . . . , n}.
As a consequence, c and the set {c^|ct 6 Wc,v = l , . . . , n } have the same
contribution to the equation (4.46) used to update ^(ot) in the DSI iterative
algorithm.

4.8.2 Pseudo-distance to data


This section addresses the problem of building a scalar function d(a\(p) mea-
suring a "pseudo-distance" of node a relative to the location of Control-Nodes
(CN) and fuzzy Control-Nodes (FCN) set on the components of a function (p.
It is important to mention that the proposed approach is purely pragmatic
and has no theoretical claim.

Definition of d(a\Q*)
Let us consider a discrete model A^1(il, TV, (p,Cp) and let O* be the sub-
set of O to which the CN and FCN constraints defined by C^ are attached.
By definition, we call "pseudo-distance to CN and FCN" or, more simply,
"pseudo-distance to data," the function d(a\fl*) equal to the smallest number
of steps that one has to take from a e f2 on the graph Q(l,N) before reaching
a node a* fi*.

Building d(a\W]
In practice, the function d(a\l*) defined above can be built using the following
algorithm, where N(/3) is assumed to consist of all the nodes that can be
reached from /3 6 fi in one step on the graph G(l, N):
192 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

// Building pseudo-distance to data


// initializations
let S[-] be an array of 2 empty stacks
for_all( a <E to ) d(a\Sl*) < (-1) ;
for_all( a* 17* ) {
d(a*|T) < 0 ; 5[0].push(a*) ;
}
i < 0 ; dist 1 ;

//- computing d(a|fl*)


do {
while( 5^].not-empty() ) {
<S[t].pop() ;
for_all( aeJV(/3) ) {
if( d(a|Q*) == -1 ) {
d(a|Q*) < dist ; S[l - i].push(a)
}
}
}
% < (1 - i) ; dist < (dist + 1) ;
} while( 5[i].not-empty() ) ;

If the geometry x(ai) of the nodes of G(l, N] is known for all a G 17, and if the
edges of (17, N) are of about constant length, then d(o:|17*) is approximately
a geodesic distance (see section (5.3)) between a and the closest node a 17*
holding a CN or an FCN.
As shown in figure (4.8), if smooth variations of d(a\l*) on 17 are re-
quired, then the smoothing technique presented on page 167 can be applied
to d(a\tt*).

DSI variance of estimation


Let us consider a discrete model A/(1(17, AT, </?,C v ). The DSI interpolation
yields no more than an estimate <p(a) of the true unknown value <>(a:), and
the square error of estimation

is, on average, an increasing function of the pseudo-distance d(a\fi*) to the


data.
By definition, the "DSI variance of estimation" (T^(a\<f>,l*) of (p at node
a 17 and relative to the set 17* of CN and FCN consists of the function

where 6 is the average length of the edges of the graph C?(17, N), while 7^0 is
the estimated variogram of <f> (see definition (9.49)).
The DSI variance of estimation so defined demonstrates behavior and nu-
merical values close to those of the variance of estimation of the "Simple
4.9. FROM A DISCRETE TO A CONTINUOUS MODEL 193

Figure 4.8 An example of geological horizon interpolating nine well-markers


and associated grey scale representation of the pseudo-distance d(o:|Q*) to these
well-markers.

Kriging" interpolator presented in section (9.7.3). In practice, the function


cr|,(a|(/?, fJ*) can be considered as an approximation of the average of the
square error S^(a\(p, 7*) defined by equation (4.79).

Example
Figure (4.8) gives an example of a geological horizon whose geometry is con-
trolled by nine FCN called "well-markers," which correspond to the intersec-
tions of this horizon with wells. The pseudo-distance to these FCN is color
coded on the surface according to a given grey scale.

4.9 From a discrete to a continuous model


This section describes how any discrete function </?, defined on the finite set 17
of the nodes of a given graph G(l, A/"), can be transformed into a continuous
function <p(u) defined on a continuous parametric domain D.

4.9.1 Global parameterization ofQ(l,N)


Definition
Let us assume that the graph fy(i7,7V) models an object A whose topological
dimension is equal to d. By definition, we will say that A is "globally param-
eterized" if there is a cellular partition10 P(D) of a closed region D of lRd
such that
10
See section (2.3).
194 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

Figure 4.9 Global parameterization of a 2-dimensional graph Q(l, N).

D has the same topological dimension as the object A

dim(D) = dim(A) = d
There is a vectorial function u from 1 to D denning a one-to-one mapping
between the edges and the vertices of <5(fi, N) and the edges and the vertices
ofP(D), respectively:

Any function u honoring the above constraints (4.81) is called a "global pa-
rameterization" of A, and D is called the "parametric domain" associated
with this parameterization. As suggested in figure (4.9), such a parameteri-
zation u(a) is a vectorial function having d components defined on O. These
components are called "parameters" of the parameterization u:

Examples of global parameterizations


It is easy to see that the global parameterization of an object A associated
with a graph (?(fi, N) is not unique. In practice, such a parameterization can
be defined in many different ways, depending on the nature of C/(],JV); for
example:
If <?(Q, N) corresponds to a curvilinear regular 3-grid A such as the one shown
in figures (1.5)-D and (10.1), then d 3 and it is natural to choose the 3
curvilinear coordinates (u,v,w) of the nodes in the grid for u(a):

If 7(Q,JV) corresponds to a set A of adjacent tetrahedra such as the one


shown in figure (1.5)-B, then d = 3 and it is natural to choose the 3 Cartesian
coordinates (x, y, z] of the nodes in the 3D space for u(a):
4.9. FROM A DISCRETE TO A CONTINUOUS MODEL 195

If ?(fi, TV) corresponds to a polygonal curve A such as the one represented in


figure (1.5)-C, then d 1 and it is natural to choose the curvilinear abscissa
s of the nodes on the curve for u(a):

If /(Q, TV) corresponds to a 2-dimensional triangulated surface A such as the


one shown in figure (4.9), then d = 2 and we will see in section (6.5) that it
is possible to use the DSI method for interpolating on SI a pair of parameters
(ul,u2) that play the role of 2-dimensional parametric coordinates for the
surface. In this case, it is natural to use these parameters to define u(a):

4.9.2 Continuous model


Global continuous interpolation
Any function (p denned on f2 appears as the sampling of a continuous function
<(u) defined on D in such a way that

By definition, any continuous function </5(u) honoring the above constraint


(4.82) is called a "global interpolation" of (p. When there is no possible
confusion, we will use the following simplified notation:

Global continuous linear interpolation


Among the many possible interpolations <^(u), linear interpolants with the
following form are certainly the most frequently used in interpolation prob-
lems:

In this definition of v?(u), we assume that {A a (u) : a e 17} is a set of continu-


ous (real-valued) weighting functions denned on the d-dimensional parametric
domain D and honoring the three following "cardinal" properties similar to
those already introduced in section (4.7.3):

Thanks to the two first cardinal properties given above, we are sure that,
for any point u D, the function <p(u) continuously interpolates the values
{(p(oi) : a fi} of any discrete function (p defined on 0. Moreover, the third
cardinal property guarantees that this interpolation is not "biased:"
196 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION

For example, the "Ordinary Kriging" interpolant presented in section (9.7) is


based on weighting functions {Aa(u)} honoring constraints (4.83).

Global piecewise continuous linear interpolation


Let C(u) be the rf-cell of P(D] containing u. Among the many possible
choices for the functions {Aa(u)}, the most interesting ones are those that
involve only the subset 0(u) of Q consisting of the nodes a such that u(a) is
a vertex of C(u):

For example, the barycentric interpolant presented in sections (4.7.3), and


(6.1.3) is a local interpolant that honors the constraints (4.83) and can be
written according to the above equation (4.84).

4.10 Conclusions
In practice, the DSI method has proven to be a very efficient modeling method.
The main reasons for this success are the following:
This method enables us to interpolate the geometry and the properties of
curves, surfaces, and solids using the same software. This amazing flexibility
is due to the fact that the DSI method does not need to know the topological
dimension of the object described by the graph Q(^i,N). Furthermore, it
is even possible to apply DSI to discrete models of non-uniform dimension,
which are locally isomorphic to a curve, a surface, or a solid; for example, this
is the case for a "high permeability region" in a 3D layer, which is locally a
micro channel (= a curve) connected to a permeable fault (= a surface) and
itself intersecting a permeable lens (= a solid).
Potentially, it is possible to account for any type of data provided that these
data can be turned into linear constraints.
In the parts of an object .Mn(fi, N, <p,C) where the constraints c C~ are
contradictory, these constraints behave in a least square sense and the asso-
ciated certainty factors wc control their behavior. For example, if a part of a
surface is attracted by two data points PI and P-z located on two sides of this
surface, then the surface will pass between the points PI and P^ and will be
closer to PI if the certainty factor of PI is greater than that of PI .
In the parts of an object .Mn(r2,]V, <p,C) where the constraints c G C~ are
consistent, these constraints are respected almost perfectly and behave as if
they were "hard" constraints. This is surprising when we remember that,
from a mathematical point of view, the constraints are taken into account in
a least square sense.
It is extremely easy to account for discontinuity: we have only to build the
topological model (?(fl, N) in such a way that it respects these discontinuities.
Anisotropies can also easily be taken into account. This can be achieved in
two different ways: either by defining the weighting coefficients {v(a,(3)} in
such a way that they integrate this anisotropy or by introducing some special
constraints modeling it (see page 554). It is also important to note that the
4.10. CONCLUSIONS 197

anisotropy can be heterogeneous and can change from one node a fi to


another.
The iterative algorithm converges very fast and, even for models having several
thousands of nodes, the solution can be obtained in real time on most of the
current workstations. Moreover, the more constraints there are, the more
rapidly the method converges; in the end, given enough consistent constraints,
the method may even converge in one iteration.
Last, but not least, the DSI method is numerically very stable, even when the
data are strongly clustered.
From a theoretical point of view, the most interesting aspect of DSI is certainly
the fact that this generic interpolation method is completely independent of
the data: DSI sees only constraints induced by the data and not the data
themselves. This means that any existing software based on DSI does not
have to be changed each time a new type of data is added to enrich the
modeling process. This is very important for the future because it allows an
incremental approach to software development dedicated to DSI constraints.
This page intentionally left blank
Chapter

5
Elements of
Differential Geometry
The subsurface is a world full of complex surfaces (horizons, faults,...) and
curves (channel axis, contact horizon-fault,...), and a good understanding of
the geometry of these geological objects requires a minimal background knowl-
edge of differential geometry. Thus, the basic notions related to the curvature
of curves and surfaces are presented briefly in this chapter. For a complete
overview of differential geometry, refer to Do Carmo [61] or [162, 208] for ex-
ample. Moreover, within the framework of this chapter, it will also be shown
that differential geometry has some direct practical applications in the realm
of subsurface modeling.

5.1 Parametric curves


Introduction
As suggested in figure (5.1), a parametric representation of a curve C or,
more simply, a parametric curve, is the name given to any mapping x from a
(domain) segment [io^i] onto C:

In Computer-Aided Design (CAD) applications, C belongs to the 3D space


and x() has three components, that we propose to note as follows:

199
200 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETR

Figure 5.1 Parametric representation x(t) of a 3D curve C.

We will assume that x is derivable relative to t and, for any derivable functions
u = u(t) and v v(t), we will use the following notations:

By definition, we will say that x represents a regular (parametric) curve if


x t (t) never vanishes on the domain [to 5 ^i] :

According to the definition of the notion of derivative, we have

and this shows that x f (t) is a vector tangent to the curve at point x(i).
However, it should be noted that this tangent vector is, in general, without a
unit length:
( in general )
By definition, a curve C is said to be simple if it is piecewise regular.

Reparameterization
Let us consider a parametric representation {x.(t) : t e [o,i]} f a curve C.
For any piecewise diffeomorphism1 u = w(i), a new parametric representation
(y(i*) : u E [1*0,1*1]} of C can be built, as defined by

1
In other words, u(t] is assumed to be differentiable and to be differentiably invertible.
5.1. PARAMETRIC 201

If x is regular, then y is regular provided that du/dt never vanishes on the


parametric domain [io^i]-
Among all the possible parameterizations of a given curve C, it is important
to mention the so-called "arc length parameterization associated with the
unique function s ~ s(t) corresponding to the length of the arc (x(to),x()):

This implies that ds is the solution of the following differential equation:

As will be seen in the following paragraphs, arc length parameterization plays


a central role in the theory of differential geometry of curves.

Unit tangent t(s) and curvature k(s)


Let us consider the (unique) arc length parameterization x(s) of a curve C
and let t(s) and k(s) be the associated vectors, as defined by

By definition, t(s) is called "unit tangenf vector at x(s), while k(s) is called
"curvature" vector at x(s). Note that t(s) is really a unit vector, while k(s)
has, in general, a non-constant length, but is always orthogonal to t(s):

These two properties are easily checked as follows:

If we remember that the curvature of a circle is equal to the inverse of its


radius, then the name of the vector k is justified by the following properties
(see figure (5.2)):
If the curve C is a circle of radius r, then k points toward the center and we
haver = l/||k||.
For a general curve C, the best approximating circle at a given point x of the
curve is called the "osculating circle" and has a radius r = l/||k||, which is
called the "radius of curvature" at point x.
202 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.2 Unit tangent vector t, curvature vector k, main normal vector m,
binormal vector b, and osculating circle at a point x(s) of a parametric 3D curve
C.

The Frenet Frame


Let us consider a parametric representation x(s) of a curve as a function of the
arc length. By definition, the trihedron {t(s),m(s),b(s)}, defined as follows
at point x(s), is called the "Frenet frame:"

Any vector orthogonal to the curve at point x(s) can be decomposed as a


linear combination of the two vectors m(s) and b(s) so that
m(s) is the "main normal" vector at point x(s), and
b(s) is the "binormal" vector at point x(s).
When we move on the curve from point x(s) to point x(s + ds), the Frenet
frame (t(s + ds), m(s + ds), b(s + ds)} rotates relative to its initial orientation
|t(s), m(s), b(s)} and the derivatives of these vectors relative to the arc length
s characterizes the behavior of the curve in the neighborhood of x(s). For
simplicity's sake, let t', m', and b' be the vectors defined as follows:

We already know the derivative t' of t:

Moreover, the derivative m' is orthogonal to m because

We deduce from this orthogonality that there are two real functions (3 = (3(s]
and T = T(S) such that
5.2. PARAMETRIC SURFACES 203

Taking into account equations (5.3), (5.4), and (5.5), we can write

If we remember that m = (b x t), then we obtain

Taking into account equations (5.3), (5.6), and (5.4), we obtain

If we remember that b = (t x m) and t = (m x b), then we obtain

Equations (5.4), (5.7), and (5.6) can be grouped within the following differ-
ential equations, which summarize the local evolution of the Frenet frame:

Since b is a unit vector, ||b'|| measures the rate of change of the orientation
of the osculating plane at x(s). In other words, ||b'|| measures how rapidly
the osculating plane turns around the tangent t at x(s) and this is why T is
called the "torsion" of the curve at x(s). According to equations (5.6) and
(5.8), this torsion is such that

Looking at the schema in figure (5.2), in the neighborhood of x(s), we can


physically deduce the curve from the straight line corresponding to the tangent
t by applying the following two operations:
a bending (curvature) proportional to k, and
a twisting (torsion) proportional to T.

5.2 Parametric surfaces


Introduction
As suggested in figure (5.3), a parametric representation of a surface S or,
more simply, a parametric surface, is the name given to any continuously
twice-differentiable mapping2 x from a 2D (parametric) domain D onto <S:

2
In several sections of this book (see chapter 6), we sometimes use a slightly different
notation for parametric representation of surfaces where x(tt, v] is replaced by x(u) with
u = (it1, u2) = (u, v).
204 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.3 Parametric representation x(u, u) of a 3D surface S and its associated


parametric domain D.

In CAD applications, S belongs to the 3D space and x(w, v) has three com-
ponents that we propose to note as follows:

We will assume that x is derivable relative to u and v. we will use the following
notations similar to those used for parametric curves:

If one of the components u UQ or v = VQ is fixed, then the equation x(u, v)


degenerates into a curve drawn on the surface <5, and it can be said that
x(uo,i>) is the "isoparametric curve UQ." Note that
this curve x(uo,iO is the image of the straight line u = UQ in the para-
metric domain D, and
the vector xu is tangent to X.(UQ,V} at X.(UQ,VQ).
-X.(U,VQ) is the "isoparametric curve VQ." Note that
this curve x(u, i>o) is the image of the straight line v VQ in the para-
metric domain D, and
the vector xv is tangent to x(w,i>o) at x(uo,i>o).
In general, these tangent vectors xu and xv are without a unit length:
(in general)
5.2. PARAMETRIC SURFACES 205

By definition, if x u (w, v) and x v (w, i>) never vanish and are not colinear on the
parametric domain Z), x represents a regular (parametric) surface; in other
words

If the surface S is regular, then the two vectors x u (w, v) and x w (w, v) define
the tangent plane Tp(<S) at p = x(w, v). The unit normal vector N(w, v) to
<5 at this point is such that

In practice, the first-order and second-order derivatives of x(w, v) relative to


u and v are gathered into two fundamental tensors:
The first fundamental tensor G = G(u, v) also called the metric tensor:

Note that the inverse G~1 exists if, and only if, the surface is regular because3

The second fundamental tensor L = L(u, v) also called the curvature tensor:

We can observe that

We deduce from these relations that L = L(u, v) can be, equivalently, defined
as a function of the variations of the unit normal vector N in the u and v
directions:

3
This is a direct consequence of the formula (ax b) -(c x d) = (a-c) -(b-d) (b-c) (a-d)
206 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

The first fundamental form


Let us assume that we are at the point (u, v) in the parametric domain D,
and we move a step du in the u direction and a step dv in the v direction. The
image of (w, v) moves from x(w, v) on the surface <S to location x.(u+du, v+dv)
giving:

The arc length ds of this displacement on the surface is thus:

The square arc length ds2 of a displacement (du, dv) can then be turned into
the following quadratic form, called the "first fundamental /orra," associated
with the metric tensor G:

More generally, any vector W belonging to the tangent plane TX(<S) at x =


x(u, v) has two (contravariant) coordinates Wu and Wv relative to the (covariant4
frame (x^x^):

Multiplying this equation (dot product) by xw and x v , respectively, we obtain


two easily verifiable linear equations:

It is also easy to check that, for any pair of vectors {Wi, W2J belonging to
the tangent plane Tx(S), the dot product (Wi W^) can be computed, thanks
to the following relationship:

Moreover, according to equation (5.13), it can be observed that the element


of area dA on the surface S as defined by

is such that

4
The notions of "covariant" and "contravariant" components of a tensor are far beyond
the scope of this book and from now on will appear in parentheses as a reminder for those
who are familiar with tensor calculus. In a nutshell,
a lower index, such as for example Wu, corresponds to a covariant component of a
tensor W,
an upper index, such as for example Wu, corresponds to a contravariant component
of a tensor W, and
the sum C = ^P Au Bu of products of contravariant components by covariant
components is a scalar without index: the contravariant and covariant indexes "an-
nihilate" each other.
5.2. PARAMETRIC SURFACES 207

Gradient of a function (p defined on a surface


Let x(w, v] be the parametric representation of a regular surface S and let
(p(u, v) be a scalar function defined on the same parametric domain D as S.
The "gradient of </?" at location x(w, v) on S is a vector grade/? defined as
follows:

In other words

It can be observed that the vector grade/? so defined is tangent to S at location


x(w, v}.
Let us now consider a straight line A(p,t) passing through p = x(w, v)
and colinear to a given unit vector t belonging to the tangent plane Tp (S):

Note that

If we move on S in the direction t, then it can be deduced that

Moreover, according to equations (5.20), (5.21), and (5.18), the scalar product
of grade/? by t is such that

Comparing this equation with equation (5.22) we conclude that, at location


p = X(M, v), the scalar product grady t is equal to the derivative of (p in the
direction defined by the unit vector t belonging to the tangent plane:

Reparameterization
We can always reparameterize a surface using a transformation denned by the
following equations where u and v represent the pair of new parameters:
208 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

By definition, the 2 x 2 matrix J = J(w, v), called the Jacobian matrix of such
a reparameterization, is defined as follows:

Using the derivation chain rule, it is easy to see that

It can also be observed that we have:

If G = G(w, v) and L L(u, v) are, respectively, the first and second funda-
mental tensors associated with the parameterization (, v) and if G = G(u, v)
and L = L(u, v) are the first and second fundamental tensors associated with
the reparameterization (w, v), then using equations (5.12), (5.14), and (5.25),
we can verify that

In practice, a reparameterization is admissible only if it is invertible, that is,


if, for any pair (w,t>), the associated Jacobian matrix J(u,v) has a non-null
determinant, called the "Jacobian:"

Canonic reparameterization
Let x(u, v} be a regular parameterization of a surface S. Among all the
possible parameterizations, the simplest one is defined as follows in the neigh-
borhood of a point p = X(WQ, VQ):
1. Choose two vectors U = U(uo,t"o) and V = V(wo,fo) in the tangent plane
Tp(5) such that
i
is right-handed

2. Define the reparameterization u = u(u, v) and v v(u, v) in such a way that,


for any vector W belonging to the tangent plane Tp(S) at p = X.(UQ,VQ), the
coordinates (u,v) represent the components of W relative to (U, V):

The reparameterization so defined has the following nice properties:


5.2. PARAMETRIC SURFACES 209

Multiplying equation (5.29) by U and V, respectively, we obtain the following


linear system:

It is easy to check5 that

In view of the fact that S is regular, xu x xv is non-null and, since U x V is


also non-null, this ensures that F"1 exists and can be written as

According to equation (5.31), we obtain

By definition, the reparameterization u(u,v) and v(u,v) so defined will be


called the "canonic reparameterization" associated with (U, V).
We conclude that the Jacobian matrix J J(u,v] of such a canonic
reparameterization can be computed as follows:

Cookie cutter reparameterization


The canonic reparameterization presented in the previous section gives a tool
for reparameterizing a regular surface S at a given point p belonging to S.
This section addresses the problem of extending this reparameterization to a
neighborhood of p:
As suggested in figure (5.4), let N be the unit normal vector at a given
point p of a regular surface <S, and let (U, V) be a pair of vectors6 such that

Let x p (w, v) be the parametric equation of the tangent plane Tp(<S), as defined
by

This implies that


5
For this purpose, use the formula (a x b) (c x d) = (a c) (b d) (b c) (a d)
6
It is not mandatory for U and V to be unit vectors nor for them to be orthogonal.
210 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.4 "Cookie cutter" reparameterization of the neighborhood of a point


p belonging to a regular surface.

and the associated metric tensor is noted as

In the rest of this section, the orthogonal projection of any vector w of the
3D space on Tp(<S) will be noted as TTP(W):

As suggested in figure (5.4), the parameterization of 7p(<S) can be projected


on <S in the direction N. Imagine S as the skin of a cookie, and the regular
grid constituted by the isoparametric curves of Tp(<S) as "cutting" S in the
direction N: such an operation results in a set of isoparametric curves (u, v)
on S inducing a new parameterization x(-u, v) of 5, such that

Multiplying the equation

by U and V, respectively, we obtain two equations that can then be turned


into the following matrix equation:

According to equation (5.38), we conclude that


5.3. CURVATURE OF CURVES DRAWN ON A SURFACE 211

We will now show how to determine the tangent vectors x^ and x^ at point
p^ located on <S in the neighborhood of p. As suggested in figure (5.4), these
vectors are such that

Let Nj be the unit normal vector at point p^. According to equation (5.37)
and the above equations, we can write

From equation (5.41) , we deduce that

A similar result can be obtained for V^ and, provided that N{ is given and
is not orthogonal to N, it can be concluded that

This implies that the metric tensor Gi associated with xs and x^ at point p^
is such that

5.3 Curvature of curves drawn on a surface


The second fundamental form
Let F be a parametric curve defined in the parametric space (u, v) of a para-
metric surface <S:

Assuming that F is fully contained in the parametric domain D of <S, then


the parameterization x(w, v) of <S can be used to define a curve C = x(F) with
the following parameterization:

This curve is drawn on <S and its unit tangent t = t() is such that
212 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETR

Figure 5.5 Normal curvature kn and geodesic curvature kg of a curve drawn


on a surface. The vector kg is the orthogonal projection of k on tie tangent plane.

Thus, the curvature of C at x(w(i), v(t}) is such that

Observing that

we obtain

Taking into account the fact that xu and ~x.v are orthogonal to N, we can
write

In other words, we conclude that the following relationship between the pro-
jection of k on N and the second fundamental tensor L is always verified:

By definition, the above quadratic form is called the "second fundamental


form." According to equation (5.44), we can conclude that the curvature
vector k of the curve drawn on <S and tangent to the unit vector t is such
that
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE 213

Normal and geodesic curvatures


Let us consider a curve drawn on a surface S and having a given unit tangent
t = t(w, v) at point x(w, i>). By definition, the real value fcn(x, t) corre-
sponding to the scalar product of the unit normal vector N = N(w, v] by
the curvature vector k of this curve is called the normal curvature of S at
x = x(w, v} in the direction t.

Contrary to the (scalar) curvature of curves, which is always positive (or equal
to zero), it is important to notice (see figure (5.5)) that fcn(x, t) has a sign
and that
fcn(x,t) > 0 if the center of the osculating circle is above the tangent plane
Tx(5) relative to N.
fcn(x,t) < 0 if the center of the osculating circle is below the tangent plane
Tx(5) relative to N.
In practice, the (scalar) normal curvature fcn(x, t) is associated with a normal
curvature vector k n (x, t), as defined by

As suggested in figure (5.5), the curvature vector k of any curve drawn on a


surface <S can then be decomposed into a normal component k n (x, t) and a
tangent component k s (x, t):

The component k 9 (x, t) so defined belongs to the tangent plane TX(S) and is
called the geodesic curvature of the curve.

Principal curvatures
It is always possible to find a pair (U, V) of orthonormal vectors tangent to
<S at x(w, v) and such that

Let x(w, v) be the canonic reparameterization of <S associated with the pair
(U, V) so defined (see page 208). In this case, the associated metric tensor
G G(u,v] becomes a unit matrix. According to (5.46), for any unit vector
t in the tangent plane TX(), we have:

According to equation (5.27), the matrix L = L(u,v) associated with such a


canonic reparameterization is symmetrical, which implies the following:
214 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.6 Local shape of a surface as a function of the relative signs of its
principal curvatures k\ and k^.

L has two eigen column matrices [t "]* and \t% ]* f size (2 x 1), and these
column matrices are orthogonal:

It can easily be deduced from this relationship that the associated vectors ti
and t2 in the 3D space are also orthogonal:

By definition, these two orthogonal directions ti and t2 are called principal


directions (of curvature).
The eigen values k\ and fo of L associated with the eigen column matrices
[ti ti]* and [2 ty,]* are real and correspond to the extrema of the quadratic
form (5.50) under the constraint ||t|| = 1; in practice, we will assume that
fei > k-z so that

By definition, these extrema k\ and kz are called principal (normal) curvatures.


It can be observed that the extrema (&i, ^2) of the normal curvatures and their
associated directions (ti,t2) so denned are intrinsic properties that depend
only on S and are thus independent of the canonic reparameterization used to
compute them. The relative location of the center GI and c-2 of the osculating
circles corresponding to ki and A/2 are determined by the relative signs of ki
and k-2- As shown in figure (5.6), these relative signs determine the local shape
of the surface.

Remark: Orienting (ti,t2)


It should be noted that, if the column matrix [tf ty]* is an eigen column matrix
of L, then ( [ t f %]*) is also an eigen column matrix of L. This means that the
orientation of the vectors (ti, t2) defining the principal directions of curvature
is undefined. To overcome this problem of orientation, for the remainder of
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE 215

this chapter we will assume that the orientation of (ti, t 2 ) has been chosen in
such a way that
(ti,t 2 ,N) is right-handed

Gaussian and mean curvatures


By definition, the following two real numbers K = K(u, v) and H = H(u, v)
are called the Gaussian and the mean curvature, respectively:

Let us observe that, for any orthonormal reparameterization u(u, v) and v(u, v)
associated with a Jacobian matrix J, we have:

We_can thus conclude that the real numbers K and H, which are invariants
of L, can be computed directly thanks to the following formula:7

According to their definitions, K and H represent the product and the sum
of the solutions of a second degree polynomial:

This polynomial has two zeros k' and k" from which we can deduce the prin-
cipal curvatures k\ and k<2\

The Gaussian and mean curvatures K = K(u,v] and H H(u,v), defined


above, are intrinsic properties of the surface S that depend neither on the ori-
entation of the (x, y, z) coordinate system nor on the parameterization x(w, v}
of the surface. They are used for characterizing two very important classes of
surfaces:
If H = 0 everywhere, then the surface is said to be minimal. For example, it
can be demonstrated that any soap film bounded by a regular closed curve is
a minimal open surfaces [61, 165].
7
It can be shown [19] that the following properties are always true for square matrices:
det(^ B) = det(A) det(S) ; det(A'1) = l/det(.4) ; trace(^4 B] = trace(B A]
216 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.7 On a sphere, only the great circles are geodesic (kg = 0). Other
curves, such as, for example, parallel circles, are not geodesic (kg / 0).

If K 0 everywhere, then the surface is said to be developable, that is,


isometric to the Euclidean plane (see page 221).
In sedimentary geology, at the time of deposition, a horizon corresponding to
the interface between two sedimentary layers is generally considered to be a
plane, prior to any structural event such as a folding or faulting process. In
other words, the Gaussian curvature K(u, v] of a horizon observed today can
be considered as a measure of the local "plastic deformation" of this horizon
throughout geological time in the neighborhood of the point x(w, v).

Geodesies
Let k be the curvature of a regular curve C drawn on a regular surface S.
According to equation (5.49), the geodesic curvature k9 of C is defined by

In other words, as shown in figures (5.5), and (5.7), the geodesic curvature
kg of C at point p = x(u, v] on S is the orthogonal projection of k on the
tangent plane Tp(S).

By definition,
A curve C is a geodesic if its geodesic curvature kg is equal to zero
everywhere.
For example, if we consider the sphere in figure (5.7), it is obvious that the
equatorial circles are geodesic, while any parallel circle is not a geodesic.
Geodesic curves have the following very interesting variational property:
A regular curve C drawn, on a regular surface S is a geodesic if,
and only if, the first variation of its length vanishes.
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE 217

To prove this property, let us consider the length t of such a curve C assumed
to be parameterized by its arc length s and joining the two fixed points p0 =
x(s0) and p: = x(si):

Any infinitesimal change <5x in x induces a variation <5xs in xs which in turn


induces a variation 6i such that

Due to the fact that the curve must stay on the surface *S, <5x must be located
on the tangent plane to S at point x. As a consequence, in this tangent plane,
<5x can always be decomposed into a component ^x1- orthogonal to t and a
component <5x" parallel to t:

The points x and x + 6x\\ are both located on the curve, which implies that
the variation <5x" does not change the length of the curve. This shows that
the component <5xll generates no variation of ^, so that we can write

It can be observed that

Taking into account the fact that <5x stays in the tangent plane Tx(<S) implies
that (k (5X1- = kg <5x). The proof can be completed as follows:

As a practical consequence, we deduce from this result that the curves, drawn
on a surface S and corresponding to the longest and the shortest paths between
two points of this surface for which 8i vanishes, are geodesies for which k5 = 0.

Variations of the unit normal vector


First of all, we have:

In other words, Nu and Nw are orthogonal to N and belong to the tangent


plane spanned by xu and x v . This implies that Nu and Nw can be represented
218 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.8 Examples of non-orientable surfaces: (A) Moebius ribbon and (B)
Klein bottle.

as a linear combinations of xw and x v , and there is a 2 x 2 matrix A such


that

Multiplying this equation on the right by the row matrix [x u ,x w ], we obtain

According to equation (5.14), the left-hand side of this equation is equal to


L, giving:

We conclude that the variations of the unit normal vector N obey the following
differential equation:

5.4 Miscellaneous
5.4.1 Orientations and triangulations
Orientation of surfaces
The unit normal vector N(w, v) always induces the local orientation of any
regular surface <S. However, this does not imply that two adjacent points
p and p' on any regular surface always have unit normal vectors N and N'
oriented in the same direction; this is why the notion of "orientable surface"
is a global property defined as follows [61]:
A regular surface S is called orientable if it can be covered by
a family of local parametric representations {x(w a ,v a ) : a G A}
5.4. MISCELLANEOUS 219

in such a way that, if a point p G <S belongs to two adjacent


neighborhoods of this family, represented by p = x(w a i , vai) and
p = x(w Q2 ,t; Q2 ), then the determinant det(J] of the associated
Jacobian matrix8 is positive.
The choice of such a family is called an orientation of S and, in
this case, <S is called oriented. If such a choice is not possible,
then the surface is called non-orientable.
This definition is equivalent to the one given on page 68 within the framework
of the topological properties of manifold objects.

For example,
any surface that can be covered by a global curvilinear coordinate system
(w, v) is trivially orientable, and
a Moebius strip or a Klein bottle are non-orientable (see figure (5.8)).
Fortunately, Moebius strips and Klein bottles are not "natural" surfaces and
are never encountered in geology; in practice, we can implicitly assume that
geological surfaces are always orientable.

Orientation of a simple closed curve drawn on a surface


A simple9 closed curve C drawn on an oriented surface S and bounding a
region R C S is said to be positively oriented if, being located ouside the
curve C and walking on the curve in the positive direction with one's head
pointing to N, the region R remains on the left (see figure (5.9)).

Triangulation of a regular region of a surface


Let S be an oriented surface. A region R C S is said to be regular [61] if R
is compact and its boundary dR consists of a simple closed curve.
A triangulation of a regular region R of an oriented surface <S is a cellular
partition P(S] of S where all the 2-cells are triangles.

Properties of triangulations
Surface triangulations have the following important properties (see [61] p.
272):
1. Every regular region of a regular surface can be triangulated.
2. Let S be an oriented surface and {x(w a ,t> Q ) : a <E A} a family of local
parametric representations covering S and compatible with the orien-
tation of <S. For any regular region R C <S, there is a triangulation T
of R such that every triangle T T is contained in some coordinate
neighborhood of the family {x(w a ,t; a ) : a G A}. Furthermore, as shown
in figure (5.10),
8
See definition on page 208.
9
Remember that a curve C is said to be simple if it is piecewise regular (see definition
on page 200).
220 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.9 A positively oriented simple closed curve with interior angles ctj
on an oriented surface: the observer located outside the curve and walking on the
surface along this curve according to the orientation of both the surface and the
curve sees the interior of the curve on his left-hand side.

Figure 5.10 Orientation of the edges of a triangulation of a regular region on


a regular surface.

for any pair (Ti,Tj) of adjacent triangles belonging to T, the common


edge (Ti D Tj) has opposite orientations on Ti and Tj, and
the positive orientation of the boundary dR is compatible with the ori-
entation of the triangles belonging to T.

5.4.2 Properties of the Gaussian curvature


Gauss-Bonnet formula
Let R be a region on a regular-oriented surface S such that the boundary
dR of R consists of one smooth regular closed curve positively oriented and
5.4. MISCELLANEOUS 2 221

having a geodesic curvature equal to k5. Then, the Gauss-Bonnet formula


states that we have

where t is the unit tangent to dR, while s is the curvilinear abscissa of OR


and da is the element of area of R.

For example,
If R is a disc in the plane, then we have 0 + 2?r = 2?r.
If R is the upper part of the unit sphere, then we have 2?r + 0 = 27T.
As shown in figure (5.9), if the boundary dR is piecewise regular with inte-
rior angles c^, then the Gauss-Bonnet formula takes a slightly different form,
including the contribution X^(TT on} of the corners of dR:

In particular, if R A is a geodesic triangle bounded by three geodesic edges,


then we have:

For example, if S is a sphere with a radius equal to r and A a geodesic triangle


having an area equal to A, then we obtain

Characterizing developable surfaces


A regular surface S is said to be "developable" if it is possible to unfold it on
a plane without any shearing or plastic deformation. In other words, after
unfolding,
the length of curves drawn on a developable surface are preserved,
the value of angles drawn on a developable surface are preserved, and
the areas of regions drawn on a developable surface are preserved.
It can be shown [61] that a regular surface S is developable if, and only if, its
Gaussian curvature vanishes everywhere:
{S is developable }

Relative developability-index
As discussed above, at each point p of a surface S, the Gaussian curvature K
characterizes the aptitude of the neighborhood of p to be unfolded on a plane.
It should be noted, however, that the actual value of K depends on the units
used to measure the lengths on <S. In the context of some applications (e.g., see
page 293), it may be useful to look for a dimensionless index characterizing,
in an equivalent way, the possibility to unfold S, locally. For this purpose, we
222 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.11 Osculating paraboloid and associated Dupin indicatrix at a point


p of a regular surface.

suggest using the "relative developability-index" Dev defined as follows where


m
\K\/s is the mean value of \K\ computed on S:

In this definition, e is assumed to be a very small positive number whose only


purpose is to ensure that Dev = I everywhere when K = 0 everywhere. Note
that Dev belongs to the range [0,1] and Dev 1/2 if \K\ = m\K\/s-

5.4.3 Osculating paraboloid


Definition
Let (U, V) be a pair of orthogonal unit vectors in the tangent plane Tp(<5)
such that (U, V, N) constitutes a direct orthogonal trihedron attached to p =
Tp(<S). Using the Taylor series expansion formula (see 147), the orthonormal
canonic reparameterization x(w, v) associated with (U, V) is such that

We can observe that x^ = U, and this implies that

Similarly, we can show that


5.4. MISCELLANEOUS 223 223

Using these relationships, if we project the increment Ax on the local frame


(U, V, N), we obtain

In other words, within the framework (U, V, N), locally <S is the graph of a
function Z f ( X , Y) such that

This function represents a paraboloid tangent to S at point p and called


"osculating paraboloid" (see figure (5.11)).

Dupin indicatrix
Let p be a point in <5. The Dupin indicatrix at p is the set of vectors W of
the tangent plane Tp(S) such that

To write the Dupin indicatrix in a more convenient form, it is always possible


to choose U and V identical to the principal directions of curvature ti and
t-2 at point p:

In this case, the matrix L becomes diagonal, and its diagonal elements are
identical to the principal curvatures k\ and k^:

Thus, the coordinates (X,Y) of a point of the Dupin indicatrix satisfy the
equation:

In other words, the Dupin indicatrix is a union of conies in Tp(<S) and this
suggests saying that10
p is an elliptic point if the Dupin indicatrix is an ellipse, that is to say, if ki
and k-2 are different from zero and have the same sign.
p is a hyperbolic point if the Dupin indicatrix is made of a hyperbola with
common asymptotic lines. This occurs if k\ and ki are different from zero
and have different signs.
p is an umbilical point if the Dupin indicatrix is a circle, that is to say, if k\
and &2 are different from zero and are equal.
p is a parabolic point if the Dupin indicatrix degenerates into a pair of parallel
lines, that is to say, if k\ or ki is equal to zero.
10
See figures (5.11), and (5.6).
224 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.12 Composite G1 curves and surfaces composed of two adjacent pieces.
Note that the composite curve is composed of two tangent circles with a different
curvature.

5.4.4 Geometric continuity


In CAD applications, most of the time ones uses composite curves and sur-
faces. As shown in figure (5.12):
a composite curve is a set of adjacent pieces of Cn regular parametric curves,
and
a composite surface is a patchwork composed of adjacent pieces of Cn regular
parametric surfaces.
The problem of continuity arises at the junctions of these pieces of curves
and surfaces. The classic notions of Cn-continuity requires using one single
parametric space for all these pieces. This is very inconvenient and often
impossible to realize in practical applications. Therefore, a new type of char-
acterization of the continuity called " Geometric Continuity1'1 and abbreviated
"Gn continuity" has been introduced.
As will be seen in the next few paragraphs, the idea of geometric continuity
involves only geometric notions such as points, tangents, and curvatures and
can thus be used even if the different elements of the composite curves and
surfaces are based on different parametric spaces.

Gn continuity of curves
Let C be a composite curve consisting of a set of adjacent parametric curves
{Ci,..., Cn}, each of them having a Cn-continuity on their parametric domain.
The Gn continuity of such a patchwork for n = (0,1,2) is denned as follows:
C is G continuous if the following condition is respected:
for any pair of adjacent curves (Ci, Cj) belonging to C, there is no gap at
their common point Pij.

C is Gl continuous if C is already Gcontinuous and the additional fol-


lowing conditions are respected:
5.4. MISCELLANEOUS 225

the equation Xi() of any curve d belonging to C is regular.


any pair of adjacent curves (d,Cj) belonging to C share a common tan-
gent at their common point Pij.

C is G2 continuous if C is already G1 continuous and the additional


following condition is respected:
any pair of adjacent curves (d,Cj) belonging to C share a common os-
culating circle at their common point Pij.

Gn continuity of surfaces
Let <S be a patchwork consisting of a set of adjacent parametric surfaces
{Si,..., Sn}, each of them having a Cn continuity on their parametric domain.
The Gn continuity of such a patchwork for n = (0,1, 2) is defined as follows:
<S is G continuous if the following condition is respected:
for any pair of adjacent patches (Si,Sj) belonging to <S, there is no gap
along their common edge Eij.

S is G1 continuous if S is already G continuous and the additional


following conditions are respected:
the equation Xi(w, v) of any patch Si belonging to S is regular.
any pair of adjacent patches (Si,Sj) belonging to S, share a common
tangent plane along their common edge Eij.

S is G2 continuous if S is already G1 continuous and the additional


following condition is respected:
any pair of adjacent patches (Si,Sj) belonging to S share a common
osculating paraboloid along their common edge Eij.

3-Tangents theorem
The definition of the notion of G2 continuity of surfaces is somewhat inconve-
nient in practical applications and, for this reason, equivalent conditions have
been proposed in the literature. For example, Pegna and Wolter [172] have
proposed the following straightforward11 u3-Tangents theorem:"
Any pair (Si,Sj) of adjacent G1 continuous patches belonging to S are
G2 continuous if, for any point x belonging to the common edge Eij,
they share a common normal curvature fcn(x, ti) at least in 3 tangent
directions ti = (ti,t2,t3).

11
The osculating paraboloid depends on L, which, in general, has three independent
components. These three components can be determined as a function of the curvatures in
three independent directions.
226 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.13 Parameterizing a discrete curve.

5.5 Discrete modeling


In practice, if a discrete approach is used for modeling curves and surfaces (see
chapter 1), these geometric objects are denned by ID and 2D graphs 7(0, N)
whose nodes {PI,PI, -,PM) nave given locations in the 3D space:
In the case of a discrete curve, the graph C?(f2, N) can be decomposed into a
series of adjacent arcs E(pi,pi+l).
In the case of a discrete surface, the graph C?(f2, AT) can be decomposed into
a set of adjacent triangles T(pi, P j , p k ) , rectangles R(p^ P j , p k , p/J, or, more
generally, polygons.
The parametric equations of these arcs, triangles, or rectangles are unknown,
and the only information available is the location of their vertices. Prom this
limited information, it is possible to build complex parametric regular curves
and surfaces. Chapter 7 describes how this goal can be achieved. These
parametric models are based on algebraic equations, and all the derivatives
used in differential geometry can easily be computed.
This section will show that these derivatives and differential properties can
be approximated directly using finite differences without having to build such
complex algebraic models.

5.5.1 Regular discrete curves


Consider a discrete curve defined by a series of nodes ( p 0 , . . . , PM}- As SUS~
gested in figure (5.13), it will be assumed that the regular (unknown) curve
interpolating these nodes is represented by an unknown parameterization x(i)
such that

By definition, such a discrete curve is said to be regular if the two following


conditions are satisfied for any node p^:
the angle 9(pi) between (Pi_i pj and (pi+1 pj is close to TT, and
the segments (pi+1 Pj) have, at least locally, approximately the same length.
In practice, these regularity conditions are generally satisfied if the arcs are
small enough and the geometry of the discrete curve has been determined
using the DSI algorithm.
5.5. DISCRETE MODELING 227

Assuming a regular discrete curve leads to the following problems:


How to estimate numerically the derivatives xt(z), x(i) and the associated
geometric entities at node p^.
How to estimate numerically the location x(i) and the derivatives xt(t) and
xtt(i) on any arc ^(p^p^J.

Estimating the derivatives of x() at location t = i


Any scalar function </?() defined by its values {(p(i) : i = 0, ...,M} at the
nodes of a regular discrete curve can be approximated locally in a least square
sense by a polynomial of degree n in a neighborhood [i N, i + N] of t = i
where TV is a given positive integer:

For example, if N = 3, in the case of a polynomial of degree n = 2 approxi-


mated on (2N + 1) = 7 nodes centered on p{, the coefficients {a^(<>)} can be
determined as follows from the sampled values of </? (see [145]):

By derivation of equation (5.64), these coefficients allow the derivatives of any


scalar function (p(t) at location t = i to be approximated:

Due to the least square approximation, the evaluation of the derivatives so


defined is, in general, numerically stable and can be used to compute local
differential properties related to the geometry of the discrete curve at location
t = i. For example, if (p is identified with the components of x(t), then x t (i)
and Xft(z) can be approximated by

Similarly, if (p(t] represents the arc length s(t] as defined by


228 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.14 Example of estimation of the curvature vectors along a regular


discrete curve.

then the derivative of s(t) relative to t can be approximated at location t = i


as follows:

These approximations in turn allow the unit tangent vector t(i) and the cur-
vature vector k(i) to be computed (see figure (5.14)):

The Frenet frame and its derivative relative to s can be approximated in a


similar way.

Estimating x(i) over an arc E(pi,pi+1)


The previous section has shown how to estimate the derivatives x^(i) and
Xtt(^) at each node x(i) = p^ of a discrete curve. Let us now consider the
problem of approximating x(t) and its derivatives over an arc E(pi^pi+1).
For simplicity's sake and without loss of generality, we can always assume
that i = 0. Provided that E(pi,pi+l) is smooth enough, then it makes sense
to use the following "first order" approximations of x(t) and its derivatives
over E(pi,p i+ i):

However, bear in mind that, in general, x() is not the derivative of x*(t)
and xf (t) is not the derivative of x* (t}.

5.5.2 Regular discrete triangulated surfaces


Let us consider a discrete triangulated surface S (e.g., figure (6.1)) defined by a
series of nodes {p 0 ,..., pM} and composed of adjacent triangles T(pi: Pj, p fc ).
By definition, such a discrete surface is regular if, for any interior node p f ,
the two following conditions are satisfied:
5.5. DISCRETE MODELING 229

the solid angle 0(pi] denned by the triangles surrounding PJ is close to 27r,
and
the triangles T(p i5 Pj, p fc ) surrounding pi have, approximately, the same area.
In practice, these regularity conditions are generally satisfied if the triangles
are small enough and the geometry of the discrete surface has been determined
using the DSI algorithm.
Continuing to assume a regular discrete surface leads to the following
problems:
How to estimate numerically the unit normal vector N(i) and the second
fundamental tensor L(i) at any node p^.
How to estimate numerically the location x(w,t>), the unit normal vector
N(w,t;), and the second fundamental tensor L(u,v) at any point belonging
to a triangle T(pi,pj,pk).

Estimating the unit normal vector Nj at node p^


Let nijk be the (not unit) normal vector to a triangle T^ = T(pil p -, p fc ) of
S:

Let us assume that the surface S is orientable and that the vertices of any
triangle T^ = T(p i5 p -, p fc ) of S are sorted in such a way that the orientation
of njjfc is compatible with the orientation of S. Under these conditions, it is
natural to estimate the unit normal vector N; at node p^ as

where 6(z) is the set of all the triangles surrounding the node p^.

Estimating the curvatures at node p^


Let us assume that the unit normal vector N; to S at node p^ is known
and let (U^, Vj) be a given pair of orthonormal vectors in the tangent plane
Tp.(S) such that {Uj, V^N^} constitutes a right-handed frame. Let X, Y,
and Z be the coordinates of any point p of the 3D space relative to the frame
{Ui.Vi.NJ:

According to equation (5.61), the osculating paraboloid tangent to S at node


p^ is the graph of a function Z f ( X , Y) such that

In this expression, Li is the second fundamental tensor relative to the canonic


reparameterization of S associated with {Uj, V^N^}:
230 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Using the components of Li the function f ( X , Y) can also be written as fol-


lows:

The coordinates (X, Y) can be used for building a parametric representation


x(X, Y) of the paraboloid:

The tangent vectors xx(-X", Y) and xy(X, Y) are orthogonal to the unit nor-
mal vector N(X, Y} of the paraboloid implying that

Combining these two equations with equation (5.67), we conclude that the
following linear system should be honored for any pair (X, Y):

with:

Let N(i) be the set of indices such that


j G N(i} -4=>- (Pj,pj) is an edge of a triangle
If the coordinates of any node p- relative to {pi5 (U^, V^N^)} are noted as
(Xj,Yj,Zj) and if Nj represents the associated unit normal vector, then,
according to equation (5.68), we should have:

The least square solution to these linear equations is such that

where [Ai] and Bi are a square symmetrical matrix and a column matrix,
respectively, as defined by
5.5. DISCRETE MODELING 231

Figure 5.15 Barycentric approximation on a triangle T(pi,p^pk).

As soon as the components of Li have been determined thanks to the above


least square equation (5.69), it is possible to compute its unit eigen column
matrices [t^^ i^]* and [^ t^^Y an<^ their associated eigen values (&i,j, k2,i)'.

Due to the fact that (U^V;) constitutes a new orthonormal frame in the
tangent plane Tp (S), it is known12 that
{kv,i ' v 1, 2} are the principal curvatures at node p i5 and
the unit vectors denning the associated principal directions of curvatures ti,i
and t2,i at node p^ are defined by

By performing a ^anonic reparameterization of S associated with the pair


(Uj = ti^) and (Vj = t>2,i) so defined, the second fundamental form relative
to this new frame is transformed into a new matrix Li such that

Barycentric approximation on a triangle T(p i ,p J -,p fc )


As suggested in figure (5.15), let p be a given point belonging to a curvilinear
triangle T(p^, p -, p fc ) of a regular triangulated surface S, and let T*(pi; p^, p fc )
be the flat triangle interpolating linearly the vertices (p^, p J7 p fc ). The orthog-
onal projection p* of p on T*(p i 5 p-,p f c ) can always be written as

12
See page 213.
232 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

where (/3^,(3j,0k} are the barycentric coordinates (see page 254) of p* relative
to p^, PJ and pfc. Provided that T(p i ,p J -,p fc ) is small and the surface is
smooth enough, the point p is close to p*. For any (re)parameterization
x(w, v] of <S, at p, this suggests defining the "barycentric" approximation
x*(tZ,ij) of x(w,v) as follows:

Similarly, if the unit normal vectors (Ni,Nj,N f c ) and the second fundamen-
tal tensors (Li,Lj,Lfc) are known at the vertices of T(p i ,p J -,p fc ), then it is
proposed to define the barycentric approximations N*(w,i;) and L*(u, v] as
follows:

However, the following must be noted:


The vector N*(w, v) so denned is, in general, not a unit vector, meaning that
it should be replaced by a vector N**(u, t>), as defined by

The second fundamental tensors Li, Lj, and Lk at the vertices of T(p i5 p,y, p fe )
have to be denned in the same curvilinear coordinate system (u, v) on the tri-
angle T(p i ,p :/ -, p fe ). Actually, as suggested in figure (5.15), these fundamental
tensors depend on the triangle T(p i5 p -, p fe ) and on the pair of given vectors
(U, V) defining the canonic reparameterization at point p:

The only difficulty is in evaluating Lj, Lj, and L/-. For example, focusing
on the evaluation of Li at node p^ and thanks to the least square method
presented in a previous section, it is possible to obtain the principal directions
of curvature ti^ and t2,i at node p^. In this frame, the associated tensor Li
is then such that

where k\^ and k^^ are the associated principal curvatures. Let us now consider
the "cookie cutter" reparameterization (see page 209) associated with the pair
of given vectors (U, V) orthogonal to N*(w, v):
According to equation (5.42), this reparameterization induces, at node p i?
a pair of tangent vectors (Ui, V^) defined by

the associated metric tensor GI is such that


5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY 233

Following equations (5.32), and (5.34), the canonic reparameterization associ-


ated with (Uj, Vi) at node p^ corresponds to a Jacobian matrix Jj, as defined
by

where the matrix F^1 is such that

According to equation (5.27), it can be deduced that

Similar expressions for Lj and L^ can be obtained, and the approximation


L*(u,v] becomes:

5.6 Examples of applications to geology


5.6.1 Modeling channels
Many oil reservoirs are composed of stacks of paleo-channels whose geometry
controls the distribution of the porosities and permeabilities. Sometimes, the
geophysics can capture locally the exact shapes of some of these channels, but,
most of the time, these shapes have to be simulated using stochastic methods.
Some of these stochastic methods, such as the one presented on page 531,
allow both well data and statistical information related to the sinuosity of
these channels, but not the direction of the stream, to be taken into account.
As a consequence, the shape of these channels may appear too symmetrical. A
method is proposed below to correct this drawback thanks to a postprocessing
technique based on the geometry of the initial channel center line.
As shown in figure (5.16), let V be the unit vector colinear to the global
orientation of a channel and oriented in the direction of the flow, and let
(x(t) : t G [05^1]} be a parametric representation of the center-line of this
channel. Geomorphologists have observed [214, 210] that the shape of real
channels is mainly controlled by river bank erosion which depends on the
local intensity ||k(i)|| of the center-line's curvature. This suggests introducing
a "pseudo-erosion" vector e(t} defined as a vectorial function of V, k, and t:

In this definition of e(t), the coefficient p(t) is assumed to be a scalar function


with values in the range [0,1] and modulating the intensity of the pseudo-
erosion locally. In practice, stochastic simulators (see page 531) used for
generating the geometry of a channel center-line yield a positive function
234 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.16 Post-processing of a channel axis taking into account the erosion
denned by equation (5.75). The initial axis is represented by a thin line, while
the result of the postprocessing is represented by a bold line. The two grey spots
correspond to locations where the channel axis is constrained to pass and where the
pseudo-erosion vanishes.

o~2(t) proportional to the local "uncertainty" of this geometry,13 and it may


be wise to choose p(t) as follows:

The vectorial function f(-) occurring in equation (5.74) can, of course, be


denned in many different ways; assuming that the initial center line is located
in a horizontal plane, for example, the vector e(t) can be denned as follows:

In the above definition of e(t), the direction da/g7 of the erosion is a vector
defined by

while, for any scalar function /i(t), the function 0(/i(t)) is defined as follows:

If the channel center line is represented by a discrete curve (x(z) : i =


0, ...,M}, then it can be transformed with the following very simple algo-
rithm where A is a given parameter approximately equal to the maximum
amplitude of the erosion to be simulated:
13
For example, if the simulator is based on a Kriging method (see section 9.9.2), then
cr2 (t) may represent the so-called "variance of estimation."
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY 235

Figure 5.17 Grey-scale display of the Gaussian curvature K of a triangulated


surface and associated directions of principal curvatures ti and t-2. Positive Gaussian
curvatures are coded in light gray, while negative curvatures are coded in dark gray.

let v = given number of iterations


let <5 < A/n
for( iter = 0 ; iter < n ; iter + + ) {
update {k(i) : i = 0 , . . . , M}
compute (e(z) : i = 0 , . . . , M]
for( i = 0 ; i<M ; i + + ) {
x(i) < x(i) + <5 e(i)
}
}

Figure (5.16) shows the effect of such postprocessing on a channel center line
obtained by a sequential stochastic simulation method described on page 531:
notice that the new center-line so obtained looks like the center line of a real
channel. In this example, a and j3 were both chosen equal to 1, while 7 was
chosen equal to 0.

5.6.2 Structural geology

Fault detection

From a practical point of view, at each point p of a surface, one or several


of the following parameters can be used for characterizing the shape of the
236 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

surface in the neighborhood of p:

All of these parameters can be used to analyze the shape of a geological surface
locally [145, 193]. Depending on the aim of this analysis, one may choose the
most appropriate parameter. For example:
We have mentioned that K = 0 characterizes developable surfaces, i.e.,
surfaces that can be mapped onto a plane without any plastic deforma-
tion:

In other words, this means that locally there is a direction on the surface
where the radius of curvature is infinite: the surface is locally cylindrical
and can thus be locally unfolded without any plastic deformation. In a
way, we can say that K characterizes the "degree of plasticity" of the
tectonics (see figure (5.17)), and this is of paramount importance in such
fields as palinspastic reconstructions [160]. This suggests use of K(p)
as an index [145] to characterize the style of the tectonics at any point
p of a layer according to a given positive threshold KQ\
| K(p) \> Ko -4=>- p belongs to a plastic region
| K(p) \< KQ <=> p belongs to an unfoldable region

In practice, the sign of the Gaussian curvature K can also be used for
characterizing the shape of the surface (see figure (5.6)):
If K = 0 the surface is, locally, a plane or a cylindrical fold.
If K > 0 then K\ and K2 have the same sign, then, locally, the surface
looks like a paraboloid.
If K < 0 then K\ and K2 have opposite signs, then, locally, the surface
looks like a hyperboloid (saddle point).

From a mechanical engineering point of view, it can be shown (e.g.,


Sokolnikoff [204], pp. 198 and 212) that, if a perfectly elastic beam is
bent, then the extension stress cr(p) at a point p of the beam is linearly
proportional to the curvature ft(p) of the beam:

This type of stress is responsible for the rupture of the beam as soon as
cr(p) reaches a given threshold CTQ depending solely on the mechanical
properties of the beam. By approximating a geological layer as a beam
and by assuming (more or less) elastic behavior, every region of the
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY 237

Figure 5.18 Grey-scale display of the maximum curvature M of a triangulated


surface and associated direction of minimum curvature tmin-

layer where cr(p) is beyond O~Q may correspond to a faulted region. This
suggests that the maximum curvature M(p) could be used for automatic
fault detection:
|M(p)| > MO <=> p belongs to a faulted region
|M(p)| < MO => p belongs to a nonfaulted region
As illustrated in figure (5.18), this means that the maximum curvature
M can also be considered as a possible criterion for highlighting the fold-
ing/faulting of a geological surface. In practice, this criterion actually
highlights areas that the geologist may interpret as faults.

Reservoir characterization
For similar reasons to those mentioned above, it is likely that the local micro
fracturation of a reservoir is linked to the local curvature of its top and bottom
horizons. In general, this local micro fracturation is in turn correlated to the
permeabilities of the reservoir. This suggests using the parameters defined
by equations (5.76) to predict the distribution of the permeabilities in the
reservoir: for example, this can be achieved thanks to the "colocated Kriging"
method presented in section (9.7.4).

5.6.3 Ray tracing


Ray path and wave front
It is well known that the propagation of seismic signals and light obey the
same laws [110, 42, 98]. In particular, this propagation can be viewed in two
different, but complementary, ways either as a wave propagation or as a ray
propagation.
238 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.19 Wave front W(t) and associated ray path r(t) crossing an interface
Ji between two homogeneous regions 71 and 'R,.

Considering a Dirac impulse at source point r(0) at time t = 0, then:


the surface W(t) corresponding to the set of points of the 3D space hit by
the signal at time t > 0 is called a "wave front" at time t > 0. As suggested
in figure (5.19), in the following discussion it will be assumed that W(t) is
represented by a parametric regular equation w(u, v\t).
the parametric curve between a point r(t) on W(t) and a point r(t + At) on
W(t + At), where r(t + At) is the closest point of W(t + At) to r(t), is called
a "ray path," or more simply a "ray."
This implies that the unit tangent t(t) to the ray path at point

is identical to the unit normal vector N(t) = N(w, v t) to W(i) at that point.
This suggests choosing the parameterization *w(u,v\i) as follows:
choose a unit vector U(t) orthogonal to t(t) and build V(t) in such a way
that (U(t), V(t), t(t)} becomes a direct orthogonal frame

which implies that

(re)parameterize the surface W(t) in the neighborhood of r(t) in such a way


that

Ray crossing an interface


Let us consider a surface H denning the interface between two homogeneous
regions 71 and K of the 3D space. Let us assume that the seismic velocity
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY 239

Figure 5.20 An example of seismic rays launched from a shot point S then
traveling across the 3D regions (layers) of the geological model represented in figure
(2.1): the rays are reflected and refracted by the horizons according to Snell's law.

V(x, y, z] is constant, but different, in these two regions 71, and 71 and let a
and a be the associated "slownesses" defined by

As suggested in figure (5.19), let us consider a particular ray path crossing H


at point p. In this particular case, it is well known that the ray path is linear
in 7, and 7 and the following notations will be adopted:
r(i) = equation of the ray in 71
f(t) = equation of the ray in 72.

The linearity of the ray path in 71 and 7 guarantees that the unit tangent to
this path is constant in both regions:
t(i) = t = unit tangent in 'R,
t(i) = t = unit tangent in 71

Let N* be the unit normal vector to the interface 7i at the impact point p
with the ray path. Snell's law states that the following relationship between
t and t is always true:

Figure (5.20) is an example of seismic rays launched from a source point S in


the geological model represented in figure (2.1).

Wave front crossing an interface


As shown in figure (5.21), the curvature of an interface 7i between two regions
71 and 71 having different constant slownesses a and a modifies the shape of
240 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

Figure 5.21 Modification of the geometry of a wave front W(t) crossing an


interface Ti..

the wave front on both sides of the interface. Depending on the curvature of
the wave front, the density of energy carried by this wavefront will tend to
increase or decrease. For this reason, it is important to determine how the
curvature of the interface modifies the curvature of the wave front.
Let p be the impact point of a ray with the interface H, and let (U*, V*)
be the pair of unit vectors located in Tp (H) and denned by

Let h(w*, v*) be the parametric representation of Ti, in the neighborhood of p


such that

Let Lw, Lw, and Lh be the 2 x 2 matrices corresponding to the second funda-
mental tensors of W(t), VV(t), and Ti. at the impact point p. It can be shown
(see [110, 42]) that these three matrices denning the curvature of W(i), VV(i),
and Ti. at the impact point are linked by the following matrix equation:

where A, F, and F are defined by

Note that equation (5.78) plays a similar role for the curvature of the wave
front W as Snell's law (see equation (5.77)) for its associated unit normal
vector t(t).
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY 241

Figure 5.22 Evolution through time of a surface element on W(t).

Expansion of the wave front


Assuming (w u ,w^,N) to be an orthonormal frame and for simplicity's sake,
the following notations will be used in this section:

As suggested in figure (5.22), let p0(t), Pi(t), and p2(t) be three points on
the tangent plane to W(t) such that

These three points are assumed to move through time on ray paths, and, at
time t + At, their locations are given by

where As = V At is the length of displacement along the ray path at velocity


V during the increment of time At.

Let a(t) and a(t + At) be the vectors defined at times t and t + At by

It is clear that the modules ||a(t)| and \\a(t + At) of these vectors measure
twice the areas of the triangles denned by the points p0, p1 and p2 at times
t and t + At, respectively. We propose calling "expansion factor" of W(t) at
location -w(u,v\t) the function (f)(u,v\t,At,V) which depends on the seismic
242 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

velocity V and is defined by14

We will now show that this expansion factor depends solely on the curvature
of the wave front W(t) at location \v(u,v t}.

By definition of a(t + At)

According to equation (5.55),

where the coefficients {Ifj (t)} represent the components of the second funda-
mental tensor Lw(t) of VV(i) at location vf(u,v\t). The following implication
is easily verifiable:

Equations (5.81), and (5.53) lead us to conclude that

where Hw(u,v\t] and Kw(u, v\i) represent the mean and total curvatures (see
equation (5.52)) of the wave front W(t) at location w(u, v\t), respectively.
This implies that the expansion factor 0(it, v\t, At, V"), as defined by equation
(5.80), is such that15

It is interesting to see that, similar to Hw(u, v\t) and Kw(u, v\i), the expansion
factor 0(w, v\t, At, V) is independent of the parameterization of the wave front
W(t).
In practice, this expansion factor can be used for computing the variation
of the density of energy per unit of surface carried by the wave front along
a ray from point w(w,v|t) to point w(u,v\t + At) at velocity V. If we note
14
This definition only makes sense if a.(t) and a(t + At) are approximately colinear.
15
It can be noted that if set x = I/As then equation (5.54) multiplied by l/x2 becomes
identical to the right-hand side of equation (5.83).
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY 243

E(u,v\t) this density of energy at point w(u,v\t) on the wave front, then
E(u, v\t -f At) at point w(u,v\t + At) is such that

For this reason, the function l/(f)(u,v\t, At, V) is called the "spreading /actor"
of the energy along the ray path.

Comment
From equation (5.52), it can also be observed that equation (5.82) can be fac-
torized into the following form where k(u, v\t) and k%(u, v\t) are the principal
curvatures of W(t) at location w(u, v t):

5.6.4 Fluid flow through porous media


The velocity v(x) of a fluid particle at a point x in a porous media is governed
by Darcy's law which, in the case of steady flow, can be written as

In this equation, (p is the fluid pressure, while IK is a (twice contravariant)


tensor called "permeability tensor""1 and is represented by a 3 x 3 symmetric
matrix:

In the isotropic case, IK reduces to the following form

In this case, equation (5.84) clearly shows that v is colinear to grad</?. In


other words, in the isotropic case, the flow velocity v is orthogonal to the
isopressure surfaces, and there is a perfect analogy with ray tracing:
curves tangent to v are called "stream lines" and are the analog of ray paths,
and
isopressure surfaces, whose implicit equation is <^(x) = Cte, are the analog of
the wave fronts.
As a consequence, stream tubes corresponding to bunches of adjacent stream
lines have a section that is ruled by an equation similar to equation (5.82).
Let us parameterize the stream lines by their arc length s. From equation
(5.82), we deduce that section a(s) of stream tubes evolves according to the
following equation
244 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY

where H(s) and K(s) represent the mean and total curvatures of the isopres-
sure surfaces at point x(s) on the stream line corresponding to the axis of the
stream tube, respectively.

5.7 Conclusions
The basic principles of differential geometry of curves and surfaces have been
introduced in this chapter to allow a better understanding of chapters 6 and
7 dedicated to the modeling of surfaces. In particular, it should be noted that
chapter 6 makes intensive use of the notions related to the metric tensor and
curvatures of parametric surfaces, and
chapter 7 relies on the notion of Gn continuity of parametric surfaces to build
composite smooth surfaces consisting of a patchwork of curvilinear triangular
patches.
Moreover, a few direct applications of differential geometry to geological prob-
lems have been presented in section 5.6; these specific applications cover a wide
diversity of fields such as the modeling of channels, the detection of faults or
the propagation of seismic wave fronts and stream tubes in the subsurface.
Chapter

6
Piecewise Linear
Triangulated Surfaces
From a topological and a geometrical point of view, an earth model consists
of a partition of the 3D geological space into homogeneous regions bounded
by two types of surfaces:
horizons, which correspond to interfaces between layers and/or fades
generated, for example, by sedimentological events, and
faults, which correspond to discontinuities generated by tectonic events.

Therefore, surfaces play a central role in the modeling of the subsurface. This
chapter shows how DSI can be used for modeling these surfaces, while taking
into account a wide variety of constraints. In practice, for simplicity's sake and
as suggested in figure (6.1), it will be assumed that surfaces are decomposed
into triangular fiat facets.

6.1 Introduction
Building complex geological models with heavy tectonic deformations requires
tools able to handle not only the geometry of faults and geological horizons
correctly, but also the relationships between these objects. As shown in this
chapter, it is possible to design DSI constraints that take into account the
intrinsic nature of these surfaces, while preserving their relationships.
To simplify the construction of such complex constraints, this section
presents a set of consistent definitions and notations that will be used through-
out this chapter.

245
246 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.1 An example of a piecewise linear triangulated surface (salt dome).

6.1.1 Notion of a triangulated surface


Definitions
Let t$ be a surface. By definition, a triangulated surface associated with <5
is any cellular partition P(S] of S where each 2-cell (see section (2.3.1)) is a
2-simplex, that is to say, a triangle. For the sake of clarity, such a partition
will be noted as T(S) rather than 7^(5) throughout this chapter.
For any triangulated surface T(<S) considered within the framework of this
chapter, G(fi>T(S)i A^s)) and Mn(^T(S)^T(S)^ f-, </>) are defined as follows:
G(IT(S), NT(S)) is the 2-dimensional graph (see section (1.2)) associated with
T(5) and

QT(S) set of all the vertices of T(S),


Af<7-(s)(oO set of all the vertices (3 G QT(S) such that (ct,/3) is an edge
of T(S)

-M n (r27-(S), -^Vr(5)i V 3 )^) is a discrete model (see section (1.2)) associated with
T(<S) and corresponding to the modeling of a vectorial property

denned for any node a of QT(S)


In practice, for simplicity's sake, in the rest of this chapter, the subscript T(S]
will be removed from fi^s) and NT(S) and the following notations will be
used:
6.1. INTRODUCTION 247

Geometry and global parameterization of a surface


As discussed in section (5.2), any mapping1 x from a 2D (parametric) domain
D onto a surface S is called a "global parametric representation" of S or,
more simply, a parametric surface:

In the rest of this chapter, it will be assumed that <S belongs to 3D space 7R3,
and x(u) has three components noted as follows:

For simplicity's sake, the following notations will be used:

In association with these notations, the two following discrete models describ-
ing the sampling on O of the global parameterization u and the geometry x
of the surface <S will also be considered:
Ai 3 (0,TV, x, Cx) models the sampling on O of the geometry of S in the
embedding space JR3, and
A^ 2 (fi, TV, u, Cu) models the sampling on 1 of the global parameteriza-
tion u of in the parametric space IR2.

Property attached to a surface


Let v?(u) = [(/? 1 (u),.. .,9? n (u)]* be a vectorial function defined on the same
parametric domain D as a parameterization x(u) of a surface S:

As with x and u, this property will be assumed to be sampled on Q and


associated with a discrete model A4 n (Q, TV, </?, Cv}.
In geology, (p represents (physical) properties of a geological surface S such
as, for example, a seismic reflectivity or the thickness of the layer located on
a given side of S.

Triangular facet
In the rest of this book, T = T(X(Q!O), x(a;i), x(oi2)) will represent a triangular
facet belonging to a triangulated surface T(S}:
(ao) i) is an edge of T(S]
(QI, 0:2) is an edge of T(<5)
(0:2, cto) is an edge of T(S]
1
Note that such a global parameterization is not unique.
248 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

The geometry x, the parameterization u and the properties (p (v? 1 ,..., <pn}
of such a triangle are assumed to be denned at the vertices (x(ao), X(CKI), x(o!2)
by the discrete models M3(ft, A/", x, Cx), M2(ft, N, u, C u ), and .Mn (ft, AT, <p, C^,).
In practice, x, u and (p must be interpolated locally on each triangle T T"(S),
and the next section shows how to build such local interpolants in the linear
case.

6.1.2 Triangular piece wise linear model


Local parameterization
According to section (5.2), any triangle T = T(x(o!o),x(ai),x(a!2)) of a tri-
angulated surface T(S) is, in itself, a surface with its own local parametric
equation x^(u, v] such that

There is an infinity of such possible parameterizations,2 and these local pa-


rameterizations should not be confused with the notion of global parameter-
ization x(u) = x(w 1 ,u 2 ) introduced in the previous section.
The same local parametric coordinate system (w, v) can be used not only
for modeling the variations of the geometry X T (U, i>), but also for modeling
the variations of any function (pT(u, v) attached to a triangle T of T(S).

Linear model
For simplicity's sake, in the rest of this chapter, it is assumed that any func-
tion <pT(u, v) denned on a triangle T = T(x(ao), x(ai), x(a2)) of T(S) varies
linearly on DT:

If (pT = [c^rp, -5 ^T]* ^S an ^--dimensional vectorial function, then the param-


eters (ao, ai, 02} are vectors of lRn, and these vectors are the solution of the
following linear system

where (ui,Vi) and o^ are denned by

2
Section (6.1.3) presents some examples of such local parameterizations used in practical
applications.
6.1. INTRODUCTION 249 249

Provided that the triangle T is not degenerated, the inverse [Mr]"1 exists
and is such that

Prom equations (6.2), and (6.3), it can be deduced that

In particular, this implies that the derivatives of <p on T are defined by

If Au(cti\T) and A v (aj|T) are denned as follows

then it can be observed that the derivatives of </?T are constant on T and such
that

Linear triangular patch


In practice, as shown in figure (6.1), the linear model introduced above for
modeling the variations of a function (p? denned on a triangle T of a triangu-
lated surface T(S) can also be used for modeling the geometry of T. In this
case, each triangle T = T(x(o;o), x(o?i), x(a2)) of T(S] is a flat triangle called
a "linear triangular patch" represented by the following equation:3

3
It will be shown in chapter 7 that it is possible to build curvilinear patches where this
linear equation is replaced by a nonlinear equation, such as, for example, a polynomial or
a rational polynomial.
250 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

It can be observed that the derivatives (X.T)U and (XT) V of xy(u, t?) relative
to u and i; are constant on T and can easily be deduced from the geometry of
T thanks to the following equation where Ay represents the matrix defined
by equations (6.7), and (6.9):

In the rest of this book, the following notations will be used where GT is the
constant metric tensor associated with the local parameterization (u, v] of T:

In the case where </?T is a scalar function (n = 1), according to equation


(5.21), the gradient of (p? at (u,v) is defined by the following equation:

Taking into account equations (5.21), and (6.9), the notations (6.11) enable
us to conclude that the following property holds true for any scalar function
(f>T defined on a triangle T = T(x(ao),x(o:i),x(a;2)) of T(<5):

Consequently, the (contravariant) components (gradc/>r)u and (grad^r)^ of


the vector gradc^ relative to the frame {U, V} are such that

In this equation, the coefficients {grad%>(a>i)} and {gratffr(a.i}} depend only on


the geometry of the triangle T and are defined by the following equation:
6.1. INTRODUCTION 251

Figure 6.2 Linear parametric interpolation XT(U,V) of a triangle


T = T(x(ao),x(o!i), x(a!2)) based on barycentric coordinates ( u , v ) .

6.1.3 Examples of local linear parameterizations


Barycentric parameterization of a triangle
As suggested in figure (6.2), the "barycentric" parameterization x^(w,v) of a
triangle T = T(x(o!o),x(a:i),x(a!2))> is defined by

It is easy to check that the associated domain DT does not depend on T and
is such that

Moreover, the above "barycentric" parameterizations x^(w, v) can also be


written in the following way:

It can be observed that X.T(U,V) so defined honors the following equations:

from which it can be deduced that the coordinates (ui,Vi) defined by equation
(6.4) are such that
252 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.3 Linear parametric interpolation XT(W, v) of a triangle


T = T(x(ao),x(o!i),x(Q2)) based on canonic coordinates (u,v).

In this case, it is easy to check that the associated matrix M^1 defined by
equation (6.5) does not depend on T and is such that

It can also be noted that the derivatives of XT relative to u and v are constant
on DT and

Equation (6.7) implies that AT is also independent of T and is defined by

According to equation (6.9), this makes it possible to conclude that the deriva-
tives and the gradient of any scalar function if>T are such that
6.1. INTRODUCTION 253

Canonic parameterization of a triangle


As suggested in figure (6.3), the "canonic" parameterization XT(U,V) of a
triangle T = T(x(ao),x(o!i),x(Q!2)) is defined by4

The associated matrix M^1 defined by equation (6.5) can easily be deduced
from the coordinates (w^, Vi) of the vertices of the triangle T, as defined by

It is relevant to note that the derivatives of XT relative to u and v are constant


on DT and such that

According to equation (6.20), this means that {(XT) U , ( X T)V} is an orthonor-


mal frame, and the associated metric tensor GT is thus such that

Prom equation (5.21), it can be concluded that, in the case of a canonic


parameterization of T, for any scalar function (f>T defined on DT, the gradient
can be written as follows:5

Induced local parameterization on a triangle


Let us consider a discrete model A^ 2 (O, AT, u,Cu) corresponding to the sam-
pling of a global parameterization u = (w 1 , u2) at the nodes of a triangulated
surface T(S}. In this case, an "induced" local parameterization (u,v) on a
triangle T = T(x(a 0 ),x(Q;i),x(a2)) of T(S) consists of choosing u and v in
such a way that
u = u1 linearly interpolates u1 on T, and
v = u2 linearly interpolates u2 on T.
According to equations (6.6), and (6.17), such linear interpolations of u1 and
u2 can easily be deduced from the barycentric coordinates (ub, Vb):

4
In this definition, "a x b" represents the cross product of two vectors, a and b.
5
Note that equation (6.22) is, in general, not true for other parameterizations, such as,
for example, the barycentric parameterization introduced in the previous section.
254 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

This linear equation can also be written in a matrix6 formulation

where ul = ul(ut,,Vb) and BT is the (2 x 2) square matrix, as denned by

Combining equations (6.16) and equation (6.24) enables us to obtain, finally,


an explicit formulation of XT(W I , u2):

It can be observed that the derivatives of XT relative to ul and u2 are identical


to Ui and U^:

If U and V represent the edges of T, as defined by

then it can be observed that

More about barycentric coordinates on a triangle


By definition, the barycentric coordinates of a point p relative to a series of
(n + l) points { p 0 ,..., pn } consist of a set of (n + 1) coefficients { AQ, ..., An }
such that

If the points { p 0 ,...,p n } are linearly independent, then the coefficients


{ A o , . . . , A n } are unique. In particular, this is the case when n 2 and
6
If this equation is compared with equation (5.24), then it can be deduced that the
Jacobian matrix JT(U) of the reparameterization defined by equation (6.23) is such that
JT(u) = B~l.
6.1. INTRODUCTION 255

Figure 6.4 Barycentric coordinates of a point p in a triangle of unit area are


related to some ratios associated with straight lines passing through p.

{ Po'Pi'P2 I are ^e vertices of a non-degenerated triangle. In this case, if


AQ, AI, and A2 are denned as follows

then p appears as identical to the linear interpolation x^(w, v) defined by


equation (6.16).
Barycentric coordinates are invariant under any affine transformation of
the (n + 2) points {p ; p 0 ,.. .,p n }, and, in the case of a triangle T(p 0 ,p 1 ,p 2 ),
they have the following useful properties illustrated in figure (6.4):
If triangle T(p 0 ,p 1 ,p 2 ) is subdivided into 3 subtriangles T(p,p 1 ,p 2 ),
T(p 0 ,p, p2), and T'(p 0 ,p 1 ,p), and if |T| represents the algebraic area
of a triangle T, then

If two lines passing through p0 and parallel to the edges J5(p 0 ,p 1 ) and
-E(p 0 ,p 2 ) are drawn, then the intersection points r x and r 2 with these
edges are such that

If a line passes through p0 and cuts the edge E(plJp2) a^ point q0,
then

Moreover, it can also be observed that


256 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.5 Interpolation of a function (f> attached to the nodes of a triangulated


surface: the variations of </? are represented by contour lines, while the initial data
consist of a set of valuated points projected onto the surface and represented by
small cubes. As the contour lines of if> drawn on the surface show, the result is
clearly discontinuous across the fault traces.

6.2 Basic DSI constraints


This section presents the most frequently used DSI constraints for modeling
geological surfaces and their associated properties. In practice, these con-
straints must be combined to integrate the complex data encountered in the
geosciences.

6.2.1 Specifying a property


Fuzzy Control-Property
As suggested in figures (4.7) and (6.5), let IP be a point located in the neigh-
borhood of a triangulated surface T(S) and projected in a given direction D
at point p on a triangle T = T(x(ao),x(o:i),x(a2)) of T(S). The point IP is
assumed to hold a real value </>(IP), and the linear interpolation ipT on T of a
property (p attached to the vertices of T(S] is required to be such that

Such a constraint, called a "fuzzy Control-Property" has already been pre-


sented in section (4.7). It is associated with a DSI constraint index c cor-
responding to the above equation (6.31), and it depends on the following
parameters:

If (w, v) correspond to a local barycentric parameterization of T, then, ac-


cording to equation (4.67), the above constraint (6.31) generates the following
6.2. BASIC DSI CONSTRAINTS 257

terms 7c(<2i) and Tc(a.i\ip) in the local form of the DSI equation at the vertices
(ao,Q!i,Q!2) of T:

In this definition of jc(&i} and F c (aj((/?), the coefficients Aj(p) are assumed to
be the barycentric coordinates of p relative to the three vertices x(c^) of T,
while a 2 (p) is a normalizing factor, as defined by

Fuzzy Control-Delta constraint


Let (u,v) and (u',v') be the local barycentric coordinates of two points p
and p' located on two triangles7 T and T" of a triangulated surface T(S],
respectively:

Assuming that (w, v) corresponds to a barycentric parameterization of T, any


property (p defined on the vertices of T(S] can be linearly interpolated as
follows on T and T':

Let A be a given value; by definition, the following DSI constraint is called a


"fuzzy Control-Delta constraint" on (p:

According to equation (6.32), such a constraint is equivalent to

This constraint can easily be turned into the following normalized DSI con-
straint c = c(w, v, w', v', T, T", A) defined by

In practice, these two triangles are not necessarily adjacent and may be a long way
from each other.
258 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

where ac is a normalizing factor chosen so that | Ac\\ I:

When added to the set of constraints Cv of the discrete model .M (Q, TV, </?, C<p),
the constraint (6.33) induces terms 7c(oO and Tc(a\(p) in the local form of the
DSI equation. For example, at node cto, these terms take the following form:

Specifying the gradient of a property


Let (U, V) and GT be the frame and the metric tensor as denned by equations
(6.15) and (6.11), respectively, and associated with a barycentric parameter-
ization of a triangle T = T(x(cno),x(a:i),x(a2)). According to (5.16), and
(5.17), any vector W belonging to the plane of the triangle T can be decom-
posed as follows:

According to equation (6.19), we have

If it is necessary to constrain grad(/?T to be equal to W on T, then this is


equivalent to saying that the two following constraints cu c u (W,T) and
cv = c (\v,T) must be honored:

Using the coefficients [Acu(a)}, 6 C , {Acv(a}}, and bcv defined as

it is easy to check that the two linear constraints (6.34)-cu and (6.34)-c'u can
be turned into the following pair of normalized DSI constraints:

According to section (4.4.2), when added to the set of constraints C^ of the


discrete model M.l(l, N, v 7 )^), the above two DSI constraints induce pairs
6.2. BASIC DSI CONSTRAINTS 259

of terms {7^ (a), r^(a|<^)} and {7^(0),!^ (a (/?)} in the local form of the
DSI equation. For example, at node CMQ, these terms take the following form:

It can be observed that cu and cv depend on T. Consequently, if several


triangles surrounding the node o?o hold similar gradient constraints cu and cv.
then each of these triangles will generate two pairs of terms similar to those
denned by equations (6.35).

Specifying the direction of the gradient of a property


Similarly to the previous section, consider the frame (U, V) and the metric
tensor GT as defined by equations (6.15), and (6.11), respectively, and as-
sociated with a barycentric parameterization of T = T(x(o:o),x(a!i),x(a2)).
According to equations (5.16), and (5.17), any vector W belonging to the
plane of the triangle T can be decomposed as follows:

Similarly, according to equation (6.19), we have

As a consequence, we can write

If it is necessary to specify that grader must be orthogonal to W on T,


then we must have W grad(y = 0. According to equation (6.36), this is
equivalent to saying that the following linear constraint c = c(W, T) must be
honored:

Let ac be a normalizing factor denned as follows

and let (A c (a)} and bc be the coefficients such that

otherwise
260 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Using these coefficients, it is clear that the linear constraint (6.37) can be
turned into the following normalized DSI constraint:

According to section (4.4.2), when added to the set of constraints C^ of the


discrete model Ai1(0, A7", t/?,C^), the above DSI constraint induces a pair of
terms {7^(a),r^(a|v?)} in the local form of the DSI equation. For example,
at node ao, these terms take the following form:

It can be observed that c depends on T. Consequently, if several triangles


surrounding the node a0 hold constraints similar to c, then each of these
triangles will generate a pair of terms similar to those defined by equations
(6.38).

Specifying the module of the gradient of a property


For simplicity's sake, assuming that a barycentric parameterization of the
triangle T is used, let us consider the associated linear interpolation (pT of
a property </?. In this case, according to equation (6.19), the square of the
module of grad^y can be written as

For the sake of simplicity, in the rest of this section the components8 of G^1
will be noted as follows:

If it is necessary to specify that | grader I must be equal to a given constant


grad on T, then it suffices to introduce a DSI constraint c, as defined by

It can be observed that the constraint c = c(grad, T) so defined depends both


on grad and T. This constraint is clearly nonlinear and must be linearized
in the neighborhood of the current solution (f>0id- For this purpose, according
to section (4.4.5), it is necessary to compute the derivatives of Fc((p) relative
to the components </?(ao), ^(0:1), and ^(0:2) of ip associated with the vertices
8
Note that guv = gvu.
6.2. BASIC DSI CONSTRAINTS1 261

of the triangle T. These derivatives can easily be computed from equations


(6.39), and (6.40):

If \\F'C\\2 and Ac(<Xi\<Poid) are defined as

then, according to equation (4.56), for any o^ such that F'c(oti) 7^ 0, the above
constraint (6.41) introduces the following terms 7^(a) and Tvc(a (p) in the
local form of the DSI equation:

Specifying a constant gradient


Referring to figure (6.6), let us consider two adjacent triangles T and T'
sharing a common edge {x(ao),x(ai)}:

We would like to specify the following constraint:

Due to the linear approximation of <p on T and T' and to the fact that, most
of the time T and T' are not coplanar, such a constraint cannot be strictly
honored. However, it will be shown below that it is possible to specify this
constraint as a soft constraint to be honored in a least square sense by the
DSI method.
For simplicity's sake, as suggested in figure (6.6), it is always possible to
assume that the twin triangles T and T' have been (virtually) unfolded to be
coplanar and are represented by local canonic parameterizations introduced
262 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.6 Notion of Constant-Gradient constraint across the common edge of


two adjacent triangles.

in section (6.1.3), respectively. According to equation (6.22), this implies that


the linear interpolations I^T and <PT> of (p on T and T" are such that

Referring to figure (6.6), in this particular case, it should be noted that 9

If the constraint (6.43) has to be honored then, according to equations (6.44),


and (6.45), it suffices to have

Due to the fact that T and T' share the edge {x.(ao),x.(ai)}, it should be
noted that the above constraint (6.46)-l is always honored. According to
equation (6.9), the constraint (6.46)-2 is equivalent to the following constraint
where the coefficients {A t) (-|T)} defined by equation (6.8) depend only on the
geometry of triangles T and T':

Taking into account equations (6.42), this linear constraint can easily be
9
Pay attention to the "" sign induced by the opposite orientations of the frames (U, V)
and (U', V') on the triangles T and T".
6.2. BASIC DSI CONSTRAINTS 263

turned into a normalized DSI constraint c = c(T, T") defined by

where the coefficient ac is a normalizing factor chosen as follows to have


I AC\\ = 1:

When added to the set of constraints C^ of the discrete model .M1^, N, </?, C^),
the constraint (6.43) induces a pairs of terms 7c(o;) and Tc(a\(p) in the local
form of the DSI equation. For example, at node ao, these terms take the
following form:

6.2.2 Specifying the geometry


Fuzzy Control-Point
As suggested in figure (4.7), let IP be a point located in the neighborhood of
a triangulated surface T(S} and projected, in a given direction D, at point p
on a triangle T = T(x(ao),x(a;i),x(a;2)) of T(S}. The point IP is assumed
to behave like a magnet, attracting T in the direction D to have IP coinci-
dent with its projection p. In other words, if (u, v) are the local parametric
coordinates of p on T, then x^(w, v) should be identical to IP:

Such a constraint, called a "fuzzy Control-Point," has already been presented


in section (4.7). If (u,v) corresponds to a local barycentric parameterization
of T, then, according to equation (4.67), the above constraint (6.47) generates
the following terms 7^ (oti) and Tvc (on x) in the local form of the DSI equation
at the vertices (a0, QI, 0:2) of T:
264 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.7 Notion of fuzzy Control-Line: the nodes of the polygonal curve attract
the surface according to given directions interpolated along the curve. The shape
of the curve and the directions of attraction are themselves smoothly interpolated
using the DSI method.

In this definition of 7^(0^) and r^o^x), the coefficients Aj(p) are assumed to
be the barycentric coordinates of p relative to the vertices x(oij) of T, while
a 2 (p) is a normalizing factor:

From a mathematical point of view, it should be noted that the notion of


"fuzzy Control-Point" is almost identical to the notion of "fuzzy Control-
Property." However, from a practical point of view, there is a major difference:
if the iterative version of DSI is used, then the projection p of IP on T(S)
changes at each step of the iterative process and the associated fuzzy Control-
Point has to be updated. In other words, fuzzy Control-Points have to be
implemented as dynamic constraints (see section (4.4.4)). In figure (1.11),
one can see an example showing the effect of fuzzy Control-Points in the
modeling of a salt dome.
The notion of fuzzy Control-Point can easily be adapted for defining the
notion of "fuzzy Control-Line" consisting of a polygonal curve JC all of whose
nodes behave like small magnets attracting the surface T(S). In this case, the
associated attraction directions appear as instances of a vectorial property D
attached to the nodes of C. As suggested in figure (6.7), it may be convenient
to interpolate these directions of attraction smoothly along thanks to the
DSI method (see page 167).

Control-Straightline constraint
By definition, a DSI constraint specifying that a given node a of a triangulated
surface T(<5) can move only on a straight line passing by the current position
X(Q:) of this node and parallel to a given vector d(a) attached to this node is
called a Control-Straightline constraint.
6.2. BASIC DSI CONSTRAINTS 265

In practice, such a constraint is implemented as a hard DSI constraint (see


section (4.5)) where, at each step of the iterative process, the location x(cc) of
the node a is replaced by its projection on the straight line passing through
the old position x0id(a) and colinear to d(a):

There are two main applications of this constraint:


If, in a stratified media, a triangulated surface T(S] constrained to be more or
less parallel to a given surface SQ , while honoring a set of constraints different
from those applied to T(So), must be built, then proceed as follows:
First, T(S) has to be built as a copy of T(So).
Next, a displacement direction d(a) equal to the unit normal vector to
T(So) has to be installed at each node of T(S}.
Finally, for each node a of T(S), a Control-Straightline constraint asso-
ciated with the directions d(a) denned above has to be installed.
If a boundary of a triangulated surface T(S) is required to slide along vertical
or non-vertical walls, then such behavior can be specified as a series of Control-
Straightline constraints applied to the nodes of this boundary and associated
with a constant direction d(a) parallel to the walls.
Figure (6.9) shows an example of Control-Straightline constraints where the
boundary of a triangulated surface is constrained to move only in the vertical
direction.

Fuzzy Control-Normal-Vector constraint


Let T(tS) be a triangulated surface and let N(p) be a field of unit vectors
given at any point p of the 3D space. By definition, the DSI constraint
specifying that T(S] should be approximately orthogonal to N(x(a)) in the
neighborhood of a given node a of T(S] is called a "fuzzy Control-Normal-
Vector" constraint10 on T(S}. In practice, this is equivalent to saying that
one would like to have11

or, equivalently,

10
Note that this constraint specifies the slope of the surface, that is to say, its derivatives,
without specifying its location in the 3D space. If the surface location also needs to be
specified, then it is necessary to use a fuzzy Control-Point constraint in addition.
1:L
Remember that AT0 (a) = N(a) {a} represents the orbit of a (see figure (1.3)).
266 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

These constraints can easily be turned into two series of normalized DSI con-
straints {C'(Q!, fc,N)} and {c"(a:,/c,N)} corresponding to the general canonic
form as defined by equation (4.3):

and

According to equation (4.49), for any k 6 N(a), each of the above constraints
c' = C'(Q!, fc, N) and c" = c"(a, fc, N) generate, at node a, the following terms
7e/(a), r,(ai|x), 7e//(a) and r/,(o!i|x) in the local form of the DSI equation:

and

In practice, these constraints can be gathered into a single composite con-


straint c = c(a, N) generating the following terms in the local form of the
DSI equation:
6.2. BASIC DSI CONSTRAINTS 267

Figure 6.8 Example of fuzzy Control-Tangent-Plane constraint: the fuzzy Con-


trol-Points represented by small cubes are fixed and the surface is locally constrained
by fuzzy Control-Tangent-Plane constraints defined by normal vectors. After run-
ning DSI, the surface tends to become locally orthogonal to the normal vectors in
spite of the fact that all the fuzzy Control-Points are coplanar.

It can be observed that x(a) changes at each step of the iterative DSI algo-
rithm: accordingly, N(a) = N(x(a)) also changes at each step of the iterative
process and the above constraints thus need to be implemented as dynamic
constraints (see section (4.4.4)).
From a practical point of view, note that the length of the edges of the
triangles of a triangulated surface have to be adapted to the variations of the
unit normal vectors N: high-frequency variations of the unit normal vectors
require a high density of triangles for modeling the surface accurately. An
example of the application of this type of constraint is presented in figure
(6.9).

Fuzzy Control-Tangent-Plane constraint


As suggested in figure (6.8), considering a triangulated surface T(S], let us
define a(p, N, p) and ^^(p, N,p, d) as follows:
<j(p,N,p) is a disc centered on point p, orthogonal to the unit vector N and
having a radius equal to p (note that p does not necessarily belong to T(S)).
<TS(P, N,p, d) is the subset of the triangulated surface T(S) consisting of
the projection of <r(p, N,p) on T(S} in the direction d in such a way that
<TS(P, N, p, d) contains the projection of p on T(S}.
By definition, the DSI constraint specifying that as(p, N, p, d) should be,
approximately, orthogonal to the vector N is called a "fuzzy Control-Tangent-
Plane" constraint.
In practice, it is proposed to implement this constraint as follows:
1. Determine the set of nodes fig(p, N, p, d) of T(S) belonging to 0"s(p, N, p, d).
2. Specify at each node a 6 Os(p, N, p, d) a Normal-Vector constraint associated
with the constant field of normal vectors N(x) = N.
Such an implementation implies that the notion of "fuzzy Control-Tangent-
Plane" is a dynamic constraint (see section (4.4.4)) because 0-5(p, N, p, d) can
change at each step of the iterative process.
268 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.9 Example of Control-Parallelism constraint: the dark surface T(<S)


to be modeled has to remain as parallel as possible to a given surface T(<$o) while
honoring any other DSI constraints.

The direction of N and the radius p can be modified interactively to specify


the orientation of the tangent plane and the "flatness" of S in the neighbor-
hood of the projection of p on T(5) in the direction N.

Fuzzy Control-Parallelism constraint

In sedimentary geology, the horizons are, generally, more or less parallel. As a


consequence, there are many situations where we want to model a geological
horizon T(<$) more or less parallel to a given reference horizon T(S0) while
honoring some other DSI constraints if any.
For this purpose, we introduce the notion of a "Control-Parallelism" con-
straint defined as follows:
Choose a direction d. Most of the time, d is chosen as being equal to the
vertical direction, but this is not mandatory: it is even possible to use a field
of non-constant directions d(o:).
For each node a of T(<S), determine the triangle TO of T(<S0) hit by the straight
line A(x(a),d) passing through x(a) and parallel to d, and define n(o:) as
being equal to

- either "void" if A(x(a),d) does not intersect T(S0),


or the normal vector to TO if A(x(a),d) intersects T(50).

Install a fuzzy Control-Normal-Vector constraint for each node a of T(S)


where n(a) is different from "void."
Figure (6.9) shows an example of such a Control-Parallelism constraint, where
the additional constraints consist of one Control-Node (small cube) plus Control-
Straightline constraints specifying that the boundary of T(S) must slide on
vertical lines.
6.2. BASIC DSI CONSTRAINTS 269

Figure 6.10 Example of Control-Thickness constraint: each node a of the


triangulated surface T(*S) is constrained to be located at a given distance 8(ot) of
another (fixed) given surface T(Si_i) in a given direction d(a) attached to the nodes
ofT(S}. The thickness interpolated from well data is represented in grey scale on
T(Si_i), while the geometry of T(<Si_i) is represented by contour lines.

Control-Thickness constraint
In sedimentary geology, we are often faced with the problem of building a stack
of triangulated surfaces (T(<So), T($i),..., T(Sn}} corresponding to the inter-
faces (horizons) between the layers. There are situations where the thickness
of the layers is known and it is necessary to integrate this information to build
a consistent model. Let us assume that
the geometry of T(Si-\) is given;
a first draft version of the geometry of T(S) = T(<Sj) is given (for example,
one can choose T(S) ~ T(Sj_i));
a direction d(a) has previously been interpolated at each node of the surface
T(S} to be modeled;
the thickness of the layer between T(5) and T(Si-i) is attached to the nodes
of T(Si-\) and is assumed to have been previously interpolated;
for each node a of T(S), the thickness <5(a) is obtained by shooting from x(a)
onto T(Si_i) in the direction d(a) and by reading the thickness at the impact
point on T(Si_i);
the geometry of T(S) has to be improved to take into account the triplet
{(a),d(a),T(5i-i)}.
For this purpose, we propose to attach a "Control-Thickness" constraint to
each node of T(S}. In practice, Control-Thickness constraints are imple-
mented in the same way as fuzzy Control-Distance constraints previously de-
nned on page 168.
Figure (6.10) shows an example of a triangulated surface T(S] whose
geometry is constrained by Control-Thickness constraints.
270 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.11 Example of Control-Segment constraint: the transparent triangu-


lated surface T(S) is constrained to intersect a set of segments.

Control-Segment constraint
Let us consider a segment cr(p, d) of the 3D space denned by a point p and a
vector12 d in such a way that

By definition, the "Control-Segment" constraint associated with cr(p, d) and


applied to the triangulated surface T(S] will be said to be honored if one of
the two following conditions is true:
either the straight line passing through p and colinear to d does not intersect
ns),
or the straight line passing through p and colinear to d intersects T(S} at a
point (p + s d) such that s [0,1].
In practice, such a "Control-Segment" constraint is implemented as a hard
DSI constraint (see section (4.5)) denned as follows:
if the straight line passing through p and colinear to d does not intersect
T(S), then the associated Control-Segment constraint is inactive;
if the straight line passing through p and colinear to d intersects a triangle
T - T(x(o;o), x(ai), x(a 2 )) of T(<S) at a point (p + s d) such that s G [0,1],
then the associated Control-Segment constraint is inactive;
if the straight line passing through p and colinear to d intersects a triangle
T = T(x(a 0 ),x(ai),x(a!2)) of T(<S) at a point (p + s d) such that s g[0,1]
then the triangle T is translated in the direction d in such a way that
- if s < 0, then the new location of T contains the edge p of the segment
cr(p, d), and
if s > 1, then the new location of T contains the edge (p + d) of the
segment cr(p, d).
12
Note that it is not mandatory for d to be a unit vector.
6.2. BASIC DSI CONSTRAINTS 271

Note that this kind of constraint can be extremely useful in many practical
applications; for example:
if a well-path does not intersect a geological surface T(<S), then a Control-
Segment constraint associated with the segment <r(p, d) should be installed
on T(<5) at each point p on the well-path where d is such that

if the intersection of an anticline T(S) with a horizontal plane Ji must be


constrained to be located inside a ring 7 defined by two concentric polygonal
closed curves Co (TV) and Ci(JV) contained in 7i, then we suggest proceeding
as follows:
build the horizontal triangulated surface T(TV) in such a way that the
only nodes of T(TV) are those shared with its boundaries Co (TV) and
Ci(fc);
for each edge (p 0 ) Pi) of T(TV), install on T(S) a Control-Segment con-
straint associated with the segment <r(p 0 ,p 1 p0).
For example, the concentric curves Co (TV) and C\(TV) may correspond to the
boundaries of a water contacts.
Figure (6.11) shows an example of triangulated surface T(S] constrained by
a set of Control-Segments.

Control-no-Segment constraint
A "Control-no-Segment" constraint is the logical complement to the Control-
Segment constraint described above. By definition, the Control-no-segment
constraint associated with <r(p, d) and applied to the triangulated surface
T(tS) is said to be honored if one of the two following conditions is true:
either the straight line passing through p and colinear to d does not intersect
T(S}\
or the straight line passing through p and colinear to d intersects T(S] at a
point (p + s d) such that s ,[0, 1].
Similar to the Control-Segment constraint, the Control-no-segment constraint
can be implemented as a hard DSI constraint defined as follows:
if the segment cr(p,d) does not intersect T(<5), then the associated Control-
no-segment constraint is inactive;
if the segment cr(p, d) intersects a triangle T = T(X(Q;O),X(Q;I), x(o!2)) of T(S)
at a point (p+s-d) such that s ^[0,1], then the associated Control-no-segment
constraint is inactive;
if the segment cr(p, d) intersects a triangle T = T(X(QO), x(ai), x(ct2)) of T(S)
at a point (p + s d) such that s G [0,1], then the triangle T is translated in
the direction d in such a way that
if s < |, then the new location of T contains the vertex p of the segment
<r(p, d), and
if s > I, then the new location of T contains the vertex (p + d) of the
segment cr(p, d).
272 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.12 The intersection of a surface S by a fault J-~ (not represented)


generates twin boundaries /3(S/J-) and /3f(S/F) that were coincident before the
displacement along the fault due to a tectonic event.

6.3 Modeling a faulted surface


Any geological surface, such as, for example, a horizon, an unconformity, or
even an older fault, can be intersected by a fault. In practice, three different
actors have to be considered when modeling a faulted surface:
the "faulted surface," noted as S throughout this section;
the "fault," noted as F throughout this section, which is a surface playing the
role of a cutter that generates both a geometric and a topological discontinuity
in the faulted surface; and
the "fault trace," noted as B(S/Jr) throughout this section, which consists of
a curve corresponding to the boundary of the faulted surface in contact with
the fault. As shown in figure (6.12), a fault trace B(S/F) is itself decomposed
into twin curves (3(S/F) and f3'(S/J-} that were coincident before the fault
displacement:

From the faulted surface S point of view, a fault T can be considered in two
contradictory ways:
A fault is a discontinuity applied to the topology and the geometry of the
faulted surface, and this discontinuity induces two types of DSI constraints:
The first type of constraint has to be defined to guarantee that the fault
trace B(S/ F] honors the relative displacements (throw vector) on the
"twin parts" of the faulted surface located on both sides of the fault.
The second type of constraint has to be defined to ensure the junction
of the boundary of the faulted surface with the fault that intersects it:
if a fault F intersects the faulted surface S along the fault trace B(S/J-)
of <S, then B(S/J-} must remain stuck to the fault J-'.
6.3. MODELING A FAULTED SURFACE 273

Figure 6.13 Parameterizing the twin fault traces (3(S/F) = {P(0),P(1)} and
P'(S/F] = {P'(0),P'(1)} belonging to a triangulated faulted surface S.

Most of the time, physical properties attached to a faulted surface S (for


example, a seismic reflectivity) were continuous on this faulted surface prior
to the intersection by the fault, and this continuity has to be preserved. Prom
this standpoint, a fault must be seen as a kind of "hyperlink" between the
twin curves j3(S/F} and (3'(S/T} located on both sides of the fault, and this
induces two types of DSI constraints:
The first type of constraint has to be defined to preserve the continuity
of the values of the properties through the fault (C pseudo-continuity).
The second type of constraint has to be defined to preserve the conti-
nuity of the gradient of the properties through the fault (C1 pseudo-
continuity).

6.3.1 Modeling fault-throw vectors


Notion of twin points
Consider a fault trace B(S/J::} = j3(S/F} U (3'(S/F}. As already mentioned,
the twin curves j3(S/J:} and f3'(S/J:} are assumed to have been coincident
before the displacement along the fault induced by a tectonic event. This
implies that, to any point p belonging to /3(S/J='), there corresponds a twin
point p' belonging to f3'(S/J:}.
Let P(s) and P'(s) be parametric representations of (3(S/J-} and f3'(S/J-}
assumed to be chosen in such a way that the two following constraints are
honored:
The two parametric curves P(s) and P'(s) use the same parameter s and
274 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

P(s) and P'(s) were assumed to be coincident before the displacement along
the fault due to a tectonic event.
As suggested in figure (6.13), most of the time, P(0) = P'(0) and P(l) =
P'(l), but this is not mandatory (see figure (6.13)).
For the rest of this chapter, it will be assumed that each of the twin curves
(3(S/^F} and (3'(S/F) can be digitized into (ra +1) equally spaced twin points
(P(sj) : i = 0,m} and (P'(sj) : i = 0,rn} in such a way that Si = i/m. As
shown in figure (6.13), it is then possible to create a polygonal curve D(A)
corresponding to a set A of (m + 1) nodes <5;

whose locations D (<*);) in the 3D space are defined by

Discrete model .A/f 3 (A, N A ,T,C r )


The introduction of the polygonal curve D(A) enables us to define a discrete
model .M3(A, AT A ,r,C r ) where
N&(Si) is the neighborhood of the node Si composed of one or two nodes
directly linked to Si on the polygonal curve D(A);
r(6i) = { r x ( 8 i ) , T y ( 8 i ) , r z ( 8 i ) } corresponds to the three components of the
specified throw vector r(Si) at node Si A. It is important to note that each
specified throw vector r(<5j) may be different from the corresponding current
throw vector T(SJ), as defined by

Cr is a set of constraints associated with a subset LA of A and specifying


that the throw vectors {r(l) : i e LA} are known. This subset LA must be
considered to be a set of Control-Nodes by the DSI algorithm when applied
to .M3(A, N&,T,CT}. The vectors {r(i} : t e L A } are called "Control-Throw"
vectors and are represented as double, bold arrows in figures (6.18), (6.19),
and (6.20).
From a graphical point of view, for each node 6i of the polygonal line D(A),
two opposite segments (without arrow) r+(6i) and T~(Si) called "half throws"
can be drawn such that

As shown in figures (6.13), (6.18), and (6.19), the drawing of the segments
r+(6i) and r~(6i] attached to nodes 6i allows the specified throw vectors
r(8i) to be visualized in a natural way.
6.3. MODELING A FAULTED SURFACE 275

Specifying the throw


As mentioned above, a distinction has to be made between the current set
of throw vectors {T(SJ) : i = 0, ra} and the set of specified throw vectors
[r(di) : 6i 6 A} to be honored by the faulted surface. The specified throw
vectors may be different from the current throw vectors and a tool is necessary
to allow the geologist to shape the specified throw vectors interactively. For
this purpose, we propose proceeding as follows:
set the Control-Throw vectors {r(l) : I LA} represented as double bold
arrows (see figure (6.18)) interactively, and next consider them as fixed for
the DSI algorithm; and
apply the DSI algorithm to .M3(A, JVA, T, CT) for interpolating the unknown
values {r(i) : i 6 /A} where /A A I/A.
This procedure allows the set of specified throw vectors {r(8i) : 6i 6 A} to be
shaped efficiently. As shown in figure (6.19), these specified throw vectors are,
in general, different from the current set of throw vectors (T(sj) : i = 0, m}.

6.3.2 Geometry of a faulted surface


Discrete model .M 3 (0,7V,x,C x )
The triangulated surface T(S) is assumed to be affected by (at least) one fault
whose throw vectors are represented by a discrete model A / f 3 (A, N&, T, CT).
We would like to add some new constraints {c', c",...} to the set of constraints
Cx operating on the geometry of T(S] to
Confine the current throw vectors of T(S) to be as close as possible to the
specified throw vectors held by A4 3 (A, ./VA, T, CT). By definition, this kind of
DSI constraint will be called a "Vectorial-Link" or, more simply, a "VecLink."
Maintain the consistency of the fault trace, by specifying that the curves
/3(S/Jr) and fi' (S/ F] must be located on the fault T'. By definition, this kind
of DSI constraint will be called a "Boundary-on-Surface."
The next two sections show how to build each of these geometrical DSI con-
straints.

Vectorial-Link constraint
Let us consider a specified throw vector r(6i) and its associated current throw
vector T(SJ) corresponding to twin points P(S;) and P'(SZ) on the two sides
of the fault (see figure (6.13)). We would like to add a set of new constraints
|c', c",. } t the set Cx specifying that

For this purpose, as shown in figure (6.13), let us assume that


P(SI) belongs to the edge (0:0,0:1) f T(S}
P'(si) belongs to the edge (a'0,a'i) of T(S]
If x(o:) represents the location of any node a 0, then the relative locations
of P(SI) and P'(SJ) on the two edges (o;ojQ;i) and (aQ,a(), respectively, can
276 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

be characterized by the parameters13 Ui G [0,1] and u^ [0,1], as defined by

Using parametric linear interpolations on edges (ao,ai) and (a^o^) makes


it possible to write

This implies that the new constraints {cf, c",...} to be determined should be
such that

In other words, for any i e [0, m], the following constraints should be re-
spected:

As suggested in figure (6.13), for each index i e [0, m], theese three equations
can be transformed into three DSI constraints {cf, q', cf} that depend on the
following parameters

and are defined by

In this definition of the above constraint c, the coefficients {^(o:)} are all
assumed to be equal to zero except when a is equal to ao, ai or a'0, a(, and
the coefficient ac is a normalizing factor (see equation (4.4)) chosen as follows
to guarantee that \\AC\\ = 1:

For simplicity's sake, 6^(x) is defined as follows:

13
Note that, for example, Ui and (1 Ui) are the barycentric coordinates (see page 254)
of P(SI) relative to x(ao) and x(ai).
6.3. MODELING A FAULTED SURFACE 277

Figure 6.14 A horizon S has been cut by fault J- and then a Boundary-on-Surface
DSI constraint has been installed between the horizon <S and the fault J-. When
running DSI on the geometry of <S, such a constraint preserves the contact between
the fault trace P(S/F] and F.

When added to the set of constraints Cx of the discrete model .M3(Q, N, x, Cx),
the above DSI constraints induce the following terms 7^(0:) and T^(a x) at
nodes a = OCQ and a = a\ in the local form of the DSI equation:

Similar terms 7^(0;) and r(a|x) are induced14 at nodes a. = a'0 and a = a:

Boundary-on-Surface constraint
As suggested in figures (6.14), and (6.34), let (3(S/F] be a fault trace gener-
ated by the intersection of a surface S by a fault T. From a geological point of
view, ^(S/F} must remain stuck to F even if the shape of S or JF is modified.
In other words, the discrete model .M3(O, TV, x,Cx) associated with T(<S) has
to be constrained in such a way that

14
Pay attention to the signs '+' and ' ', which may have changed.
278 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

By definition, such a constraint is called a "Boundary-on-Surface" constraint


and is implemented as a hard DSI constraint (see section (4.5)), which consists
of projecting each node a f3(S/F] on F in a given direction d(a) at each
step of the iterative DSI algorithm.
In practice, the projection directions associated with the nodes {a G
^(S/F}} are denned as follows:
each direction d(a) is initialized to be colinear to the straight line joining x(a)
to its closest point on the fault 0-\
next, the directions (d(a) : a (3(S/J-}} are smoothed by applying the DSI
algorithm on a discrete model M^(B, NB, d,Cj) where B consists of all the
nodes of /3(S/.F).
The Boundary-on-Surface constraint DSI can then easily be implemented as
a series of fuzzy Control-Distance constraints (see page 168) specifying that
each node {a ^(S/F)} should be located at a null distance from the target
J- in the direction d(a).
Figure (6.34) shows the effect of a Boundary-on-Surface constraint when
the shape of a horizon is edited interactively in the neighborhood of a fault
trace.

Boundary-Stone-on-Boundary constraint
When considering a fault J-" partly cutting a geological surface <S along a fault
trace B(S/f} (see figure (6.34)), the twin boundaries P(S/F) and P'(S/F)
may share a common point /3*(<S/.F) located on the boundary of T called
a "Boundary Stone." If the geometry of S is modified, then the Boundary
Stone f3*(S/J:} has to slide along the boundary of T. For this purpose, a
"Boundary-Stone-on-Boundary" DSI constraint defined as follows should be
installed for each Boundary Stone j3*(S/f):
first, a direction d(/3*) is determined as being colinear to the straight line
joining x(/3*) to its closest point on the boundary of the fault F\
the Boundary-Stone-on-Boundary constraint is then implemented as a fuzzy
Control-Distance constraint (see page 168) specifying that each node j3* should
be located at a null distance from the boundary of J- in the direction d(a).
Figure (6.34) shows the effect of a Boundary-Stone-on-Boundary constraint
when the shape of a horizon is edited interactively in the neighborhood of a
fault trace.

6.4 Continuity through faults


Let (^(H, v) be a scalar function defined on the same parametric domain D
as a parameterization x(u, v) of a surface S:

By definition
6.4. CONTINUITY THROUGH FAULTS 279

Figure 6.15 C pseudo-continuity and C1 pseudo-continuity at a point p located


on a fault trace. The property (p is represented by its contour lines drawn on the
tangent plane (in grey) of the faulted surface, and the gradient of y> is represented
by vectors g and g'.

ip is C continuous at point p = x(w, v) if, for any pair of real numbers (a, b),
the following condition holds true:

(p is Cl continuous at point p x(u, v) if if> is already C continuous at that


point and if, in addition, for any pair of real numbers (a, 6), the following
condition holds true:

As suggested in figure (6.15), in the neighborhood of p = x(u, v), the surface


<S can be approximated by its tangent plane Tp(S). Projecting the contour
lines of </? on Tp(S), figure (6.15) shows
an example of function (f> that is C continuous at p (white circle), while being
C1 discontinuous at the same point (see figure (6.15)-AO); and
an example of function (p that is C1 continuous at p (see figure (6.15)-A1).
In geology, (p represents a (physical) property of a geological surface 5, such
as, for example, a seismic reflectivity or the thickness of a layer above S. The
surface S and its attached property were initially continuous; however, due to
a tectonic event, it may be that S is cut by a fault J-. In this case, the geometry
of the surface becomes discontinuous across the fault trace B(S/F], without
affecting the continuity of the property. It is very important to preserve a
certain form of continuity of </? across this fault trace (see figure (6.16)) but,
unfortunately, the classic notions of continuity as defined by conditions (6.49),
and (6.50) are not adapted to this problem.
Introducing a new notion of continuity is fundamental when addressing
this problem. Defined as "pseudo-continuity" and adapted specifically to our
geological problem, this new notion is the subject of the next section.
280 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.16 Pseudo-continuity associated with Vectorial-Links.

6.4.1 Pseudo-continuity across a fault


Definition
As shown in figures (6.15)-AO and (6.15)-A1, let (U, V) be the frame located
in the tangent plane Tp(S) at point15 p = x(u, v) on the surface <S, as defined
by

This surface is assumed to be cut by a fault F passing through p along a


fault trace16 B(S/J-~). After cutting <S by the fault, the initial tangent plane
is also cut into twin parts. One of these parts is affected by a (relative) rigid
displacement T> transforming p and its associated frame (U, V) into a twin
point p' and an associated twin frame (U', V'):

Let us now consider a function (p defined on <S, and let grad<>|p and grad<p|p/
be the gradient of (p computed on both sides of the fault at the twin points p
and p'. Taking into account equations (6.51) and (6.12), it can be observed
that

By definition,
(p is C pseudo-continuous across the fault trace if </? has the same value at
points p and p':

15
Point p = x(u, v) is represented by a white circle in figure (6.15).
16
The fault trace is represented by a dashed line in figures (6.15)-AO and (6.15)-Al. For
simplicity's sake, in this figure the fault trace is drawn parallel to U, but this is not at all
mandatory.
6.4. CONTINUITY THROUGH FAULTS 281

(p is Cl pseudo-continuous across the fault trace if (p is already C pseudo-


continuous and if, in addition, the gradient at p' is deduced from the same
rigid displacement as the one introduced in equation (6.51):

As suggested in figure (6.15), in the neighborhood of p and p', the surface <S
can be approximated by its tangent planes Tp(S) and Tp>(<5). If the contour
lines of (p are projected onto these tangent planes, then figure (6.15) shows:
an example of the function (p that is C pseudo-continuous at p (white circle),
while being Cl pseudo-discontinuous at the same point (see figure (6.15)-BO),
and
an example of the function (p that is C1 pseudo-continuous at p (see figure
(6.15)-B1).

The case of a triangulated surface


In practice, as shown in figures (6.13), and (6.17), it is assumed that the
faulted surface S is modeled as a triangulated surface T(S) whose nodes
a 6 0 have a given location x(o:) in the 3D space. Referring to the notations
introduced in section (6.3.2) and illustrated in figure (6.13), we see that the
displacement V at P(s^) is defined by the vector (P(sf) P'(si)}:

As suggested in figures (6.16), and (6.17), in the next two sections T =


T(x(a 0 ),x(ai),x(a2)) and T' = T(x(af0),x(a'l),x(a'2}) will represent the
twin triangles of S whose edges .E(x(a:o),x(a:i)) and E(x.(aQ},x(a()) contain
P(SJ) and P'(SJ), respectively:

6.4.2 Preserving a C pseudo-continuity


Considering the twin points P(SJ) and P'(si) in figure (6.13), let {,(!
Ui)} and {u^ (1 i^)} be the barycentric coordinates (see page 254) of these
two points relative to {x(ao),x(o;i)} and (x(o;o),x(a / 1 )}. Thanks to these
barycentric coordinates, the linear interpolation <f)(si) and </>'(si) of (p at P(fii)
and P'(SZ) can be expressed as follows:

According to our definition in equation (6.52) of the C pseudo-continuity at


(P(sj),P'(si)}, the following constraint must be respected:

Let c be the DSI constraint that depends on the following parameters


c = c(i, Wi,i4,0!o,ai,a:o,a:'i)
282 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

and defined by

where ac is a normalizing factor chosen as follows so that \\AC\\ = 1:

Define Oc((p] as follows:

When added to the set of constraints C^ of the discrete model A4 * (fi, TV, </?,<),
the above constraint induces the following terms 7c(ct) and Tc(a\(f>] at nodes
a = ao and a a\ in the local form of the DSI equation:

Similar terms 7c(a) and Tc(a\(f>) are induced17 at nodes a = a'0 and a = a[:

6.4.3 Preserving a Cl pseudo-continuity


For simplicity's sake, as suggested in figure (6.17), let us assume that the two
twin triangles are represented by local canonic parameterizations introduced
in section (6.1.3), respectively. According to equation (6.22), this implies that
the linear interpolations ({>T and <PT> of (p on T and T" are such that

17
Pay attention to the signs '+' and '', which may have changed.
6.4. CONTINUITY THROUGH FAULTS 283

Figure 6.17 Twin triangles involved in the pseudo-continuity at twin points


{P(si), P'(SJ)}. These triangles are assumed to be represented by canonic parame-
terization such that (U, V) is transformed into (U', V) after displacement due to
a tectonic event.

Referring to figure (6.17), in this particular case, the rigid displacement T>
corresponding to the throw (P'(si) P(si)} ig sucn that18

According to equations (6.53), (6.55), and (6.56), the following constraint

is equivalent to

According to equation (6.9), these two constraints are in turn equivalent to


the following pair of constraints where the coefficients {A M , Av} defined by
equation (6.8) depend only on the geometry of the triangles T and T":

These linear constraints can easily be turned into a pair of DSI constraints
cu = cu(i,ao,ai,a2,a'Q,a'l,a'2) and cv = cv(i,ao, o?i, 0:2, ct^a^a^) defined
18
Pay attention to the "-" sign induced by the opposite orientations of the frames (U, V)
and (U', V) on the triangles T and T'.
284 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

by

and

In the above definition of the constraints {c* : * = u or i;)}, the coefficients


{Ac*(a)} are all assumed to be equal to zero except when a is equal to ao,
Q!I, ct2 or O!Q, a^, a'2. Futhermore, the coefficient ac* is a normalizing factor
(see equation (4.4)) chosen as follows to guarantee that ||-A C *|| = 1:

Define 0C* (if) as follows:

When added to the set of constraints Cv of the discrete model A41 (O, AT, </?, C^),
the twin constraints (6.57), and (6.58) induce the following terms 7c*(oO and
Fc*(o;|(/?) in the local form of the DSI equation:

6.4.4 A test example


This section presents an actual example showing how to model the geometry x
and a property (p of a faulted triangulated surface T(S) with the DSI method.
In this example, it is assumed that a draft model of the geometry has been
obtained, and the geologist would like to
edit the fault-throw vectors interactively, and
interpolate a property (f continuously on T(S) .
6.4. CONTINUITY THROUGH FAULTS 285

Figure 6.18 Faulted surface: the bottom fault is to be modeled according


to the Control-Throw vectors, which are displayed as bold arrows. Contour lines
correspond to the topography. Some Control-Throw vectors are edited interactively.

Figure 6.19 Interpolating the specified throw vectors from a set of Con-
trol-Throw vectors (arrows): Contour lines correspond to the topography, which
remains unchanged.

Modeling the geometry of the throw


The interactive modeling of the geometry of the throw vectors of the bot-
tom faults is represented in figures (6.18), (6.19), and (6.20) and involves the
following steps:

1. Initially, all the specified throw vectors and the current throw vectors
were coincident. Four specified Control-Throw vectors are set on the
bottom fault and two of them are modified interactively (see figure
(6.18)), while the specified throw vectors everywhere else are still set
as being equal to the current throw vectors.
286 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.20 Taking into account the specified throw vector constraints for in-
terpolating the geometry of the surface: contour lines correspond to the topography,
which is modified. Note that the specified throw vectors are now honored.

2. The next step consists in smoothly interpolating the specified throw


vectors of the bottom fault by applying the DSI algorithm to the discrete
model A^ 3 (A, A^A,T,C T ). The result of this interpolation is shown in
figure (6.19), where it can be seen that

the specified Control-Throw vectors {r() : I G LA} are kept unchanged;


the specified throw vectors {r(6i) : 6i (E A} are now different from the
current throw vectors T(SJ).

3. The final step involves applying the DSI algorithm to the discrete model
.M3(O, TV, x, Cx) associated with the surface S to honor the new set of
specified throw vectors smoothly. As can be seen in figure (6.20), after
applying DSI, the surface S does honor all the specified throw vectors.
In practice, if the geometry of the faults cutting the surface is known,
it is wise to add the associated Boundary-on-Surface constraints to Cx
(see section (6.3.2)).

Modeling the properties


Figures (6.5), and (6.21) show the application of DSI constraints to restore the
continuity for physical property modeling across the faults. Figure (6.5) shows
the result of using the faulted surface as a topological basis for interpolation
without setting the C and Cl pseudo-continuity DSI constraints across the
faults: the property modeled here is clearly discontinuous. Figure (6.21) shows
the result obtained with the same data, but using the C and Cl pseudo-
continuity DSI constraints to restore the continuity of the property across the
fault: the contour lines of the property are now continuous across the faults.
6.5. GLOBAL PARAMETERIZATION 287

Figure 6.21 Interpolating a physical property on a faulted surface with restora-


tion of the continuity thanks to C and Cl DSI constraints: contour lines of the
property are continuous across the fault traces (compare with figure (6.5)).

6.5 Global parameterization


As illustrated in figure (6.22) and as already introduced in section (5.2), the
global parameterization of a surface S embedded in the JR space consists of a
one-to-one mapping between S and a domain D of JR2 called the "parametric"
domain:

To any point u = (it1, u2) belonging to D, direct mapping x(u) associates one
single point x(u) = x(ii 1 ,'U 2 ) belonging to S.
To any point x = (x1, x2, x3) belonging to S, inverse mapping u(x) associates
one single point u(x) = u(x 1 ,x 2 ,x 3 ) belonging to D.
In this section, it is assumed that the geometry of S is given and the goal is
to build the functions u(x) and x(u). By opposition to the local parametric
representations introduced in section (6.1.3), the function x(u) so defined is
called a global parametric representation of S while the function u(x) is
called a global parameterization of S.

6.5.1 Introduction
Linear model
For simplicity's sake, it is assumed that S is modeled as a triangulated surface
T(S} where any triangular facet T T(S] is a (flat) linear patch (see
definition (6.10)). The set Q of vertices of T(S] defines a sampling of both
S and D, and the same notations (see page 247) are used for designing the
288 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.22 Global parameterization of a triangulated surface T(S): the triangle


DT G T(D} in the parametric domain D is equal to the image u(T) of the triangular
facet TeT(S).

functions x and u and their associated samplings:

For any triangle T G T(<5>), the image u(T) is noted as DT'-

For any pair (ub,Vb) of barycentric coordinates on T, the points XT^,^) G


]R3 and urjT(ub,Vb) G 7R2 can always be built as follows (see page 251):

From equations (6.15), (6.23), and (6.26), it is verifiable that

Moreover, from equation (6.26), it can be deduced that

As shown in figure (6.22), equations (6.61), (6.62), and (6.63) clearly imply
that, for any triangle T G T(S),
6.5. GLOBAL PARAMETERIZATION 289

a (flat) rectilinear triangle DT D corresponds to the (flat) rectilinear triangle


T e T(5) such that

the vertices of DT are the images of the vertices of T:

Moreover,
the parametric domain D can be modeled as a (flat) triangulated surface T(X>)
such that

the functions x = x(u) and u = u(x) are fully determined by their values on
the set f2 of the vertices of T(S).
In other words, assuming that the facets of T(S] consist of flat triangles,
the problem of building a global parameterization u of S is equivalent to
determining the matrix

as a function of the geometry of S itself defined by the following matrix:

Discrete model X 2 (O, N, u,C u )


Assuming that the facets of T(S) consist of flat triangles, the problem of
determining a global parameterization of S is equivalent to building a discrete
model .M2(7, N, u, Cu) where u is the matrix as defined by equation (6.59).
Reducing the construction of the global parameterization to the interpola-
tion of a vectorial function u = [u1, w 2 ]* defined on the set of nodes of a discrete
model A^ 2 (ri, N, u, Cu) is a great step forward. However, such a problem has
an infinity of solutions and some DSI constraints need to be added to the set
C\i to specify the style of the particular desired solution. In practice, as will
be seen in the sections below, two types of constraints will be considered:
An initial set of general constraints will be introduced for specifying that the
triangulation T(.D), as defined by equation (6.64), should look like a "good"
map of T(S). By "good" map of T(S), we mean that the image DT of any
triangle T T(<S) should approximately honor the following constraints:
* the triangles T and DT should have the same area;
* the edges of T and DT should have the same length; and
* the angles of T and DT should be equal.
In other words, the aim is to minimize the distortions between T(S) and
its image T(D) u(T(<S)). These constraints will be called "isometric con-
straints."
A second set of constraints will be used for specifying the values of u on
some parts of the surface S. Such constraints will be called "isoparametric
constraints."
290 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

From a theoretical point of view, it can be shown that, if the locations of two
distinct nodes u(a) and u(a') are fixed in 1R2, and if the isometric constraints
defined above are used, then the global parameterization u is unique.

6.5.2 Isometric constraints


A preliminary remark
Let (ul,u2) be the components of u and let t z be the unit vector19 colinear
to grad u1 at point p G S:

The pair (p,t*) defines a straight line contained in the tangent plane Tp(S)
of the surface S at point p and which has the following equation:

According to the definition of the notion of gradient (see equation (5.23)) and
from equation (6.66), it can be observed that

From the definition (6.66), it can be deduced that

Taking equations (6.66), (6.67), and (6.68) into account allows us to write

Comparing this equation with equation (6.66), it can be concluded that the
following relationship between xMi and grad ul holds true:

Notion of isometric constraints


As suggested in figure (6.22), for simplicity's sake, the parametric domain is
traditionally assumed to be provided with a rectilinear coordinate system
(ul,u2} associated with an orthonormal frame (Ii,l2). In other words, any
vector u = (u1, u2) of D can be written as

The frame (Ii,l2) and its associated metric tensor GO are constant over D
and it is relevant to note that

19
Note that u^ represents a scalar value and thus its gradient can be computed.
6.5. GLOBAL PARAMETERIZATION 291

This implies that, in the parametric domain, the following metric properties
are always honored:
The arc length dsa corresponding to an increment (du1, du2) in the parametric
domain D is such that

The element of area dAa corresponding to an increment (dul,du2) in the


parametric domain D is such that

The scalar product of two vectors a and b belonging to the parametric domain
D and defined by

is such that

On the other hand, if the metric tensor G associated with the parametric
representation x(u 1 , u2) of the surface <S is considered

then, according to equations (5.15), (5.19), and (5.18), the following local
metric properties at point p = x(u 1 , it?) on <S hold true:
the arc length ds corresponding to an increment (dul,du2) on the surface S
is such that

the element of area dA corresponding to an increment (du1, du2) on the surface


S is such that

the scalar product of two vectors a and b belonging to the tangent plane
Tp(S) to S at point p = x(ti 1 ,u 2 ) and defined by

is such that

If the distortions between the triangulated surface T(S) and its image (map)
T(D] in the parametric domain have to be minimized to honor the con-
straints (6.65), then, according to equations (6.70), (6.71), (6.72), (6.74),
(6.75), (6.76), (6.77), and (6.78), the parameterization u has to be built so
that
292 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Taking equation (6.69) into account, we can conclude that the parameteri-
zation u = (M 1 ,^ 2 ) has to honor the three following DSI constraints, called
"isometric constraints:"

Moreover, in addition to these constraints and as shown in figure (6.6), it


is wise to add DSI Constant-Gradient constraints to Cu specifying that, for
any pair of adjacent triangles T and T", the gradient of ul and w2 should be
approximately constant:

As can be seen, all these constraints are clearly special cases of some of the
general purpose DSI constraints presented in section (6.2.1).
However, special attention should be paid to the constraint (6.80)-3, which
must be applied both iteratively and alternately as follows, but only as a final
step, to refine the parameterization:

// orthogonalisation of iso-it1 and iso-w2


i< 1
while ( more iterations are needed ) {
for_all( a ft ) {
install a constraint on ul specifying that
gradu1 must be orthogonal to gradu3~l
} //- end: for_all
run DSI on ul
i< (3 - i)
} //- end: while

It should be noted that the quality of the parameterization is strongly de-


pendent on the quality of the initial solution used in the above algorithm; as
an example, in section (6.5.3) we will propose an algorithm capable of pro-
ducing an initial parameterization that approximately honors the isometric
constraints (6.80).

Comment 1
If the isometric constraints are honored strictly, then it is easy to imagine
flattening the surface S without any plastic deformation and putting this
flattened version in coincidence with its parametric domain D. In other words,
if the isometric constraints are perfectly honored, then,
the surface S is developable; and
any segment (u, u') in the parametric domain is transformed into a geodesic
curve (x(u),x(u')) on the surface S (see page 216).
However, as already mentioned (see page 221), a surface is developable if,
and only if, its Gaussian curvature K is equal to zero everywhere, and this is
6.5. GLOBAL PARAMETERIZATION 293

generally not the case in practical applications. Consequently, the isometric


constraints (6.80) cannot be rigorously honored, in general, and have to be
implemented as soft DSI constraints to be honored in a least square sense.
From a practical point of view, this suggests modulating the certainty
factor wc of any soft isometric constraint c locally as a function of the total
curvature K of the triangulated surface T(S). For example, at each node a
of T(<S) where such a constraint has to be taken into account, it may be wise
to modulate wc as follows20

where Dev(a) is the relative developability-index defined by equation (5.59)


at node a of T(<S).

Comment 2
Honoring the isometric constraints strictly or in a least square sense is of
paramount importance in some practical applications. For example:
In structural geology (see section (8.5)), if S is a folded/faulted hori-
zon separating two sedimentary layers, then the operation of "unfold-
ing" and "unfaulting"< to retrieve its initial shape prior to any tectonic
event is called a "palinspastic" reconstruction. Generally, since the ini-
tial shape of a horizon can reasonably be considered as planar, thanks
to the isometric constraint, the parametric domain D = u(<S) can be
considered as a good approximation of this initial flat shape. This re-
mark is at the origin of an unfolding method presented in section (8.5).

In geostatistics (see section (9.7)), there are many situations where


the aim is to model the variations of a property </? attached to a ge-
ological surface (horizon or fault) and observed on a set of sampling
points {p^} scattered on <S. In this case, all the geostatistical methods
rely strongly (and implicitly) on the fact that the shortest curvilinear
distance21 d$(p, q) on <S can be computed for any pair of points (p, q)
on <S. In practice, thanks to the isometric constraints, these distances
can actually be computed easily in the parametric domain D:
2

Test examples
DSI constraints ensuring the orthogonality of the iso-w1 and iso-w2 curves,
together with the Constant-Gradient constraints and the C and C1 pseudo-
continuity constraints for the ul and u2 parameters, are the key to the isomet-
ric global parameterization of triangulated surfaces. The two test examples
proposed below allow us to evaluate the efficiency of these DSI constraints:
20
Note that Dev belongs to the range [0,1] and the modulated value is close to -c&c if the
surface is developable in the neighborhood of a.
21
See the definition of the notion of geodesic on page 216.
294 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.23 Global isometric parameterization of a triangulated surface.

Figure (6.23) shows the results of the isometric DSI constraints applied
to a triangulated surface representing a face (see figure (6.23)-A). The
effect of the orthogonality and Constant-Gradient constraints can be
brought to the fore by comparing figure (6.23)-B (no constraints used)
and figure (6.23)-D (orthogonality and constant gradient constraints en-
forced), where a checkered pattern22 is mapped to the surface. The
isoparametric curves corresponding to this latter image are displayed in
figure (6.23)-C, where one can check that the iso-w1 and iso-w2 curves
are orthogonal. For all four of these images, the C and Cl pseudo-
continuity constraints ensuring the continuity of the global parameter-
ization through cuts have been specified at the mouth and the eyes of
the model.
In figure (6.24), a geological surface representing a salt dome is param-
eterized. For this kind of surface which is far from being developable,
distortions will still remain, and it may be useful to choose a compro-
mise between the orthogonality and the constant gradient of the iso-w1
and iso-u2 curves. For this purpose, the certainty factors of these two
constraints can be used to modulate their relative importance:
22
A checkered pattern parallel to the M1-coordinate and u2-coordinate axis in the para-
metric domain D is texture mapped [40, 82, 131] on S by the parametric equation x(u).
6.5. GLOBAL PARAMETERIZATION 295

Figure 6.24 Modulating the orthogonality versus the regular spacing of isopara-
metric curves.

In figure (6.24)-A, the orthogonality is respected, but there is a great


variation in the size of the checkered texture's squares.
In figure (6.24)-C, the squares are of approximately the same size, yet
the isoparametric curves are far from being orthogonal.
An average solution is shown in figure (6.24)-B, where the same certainty
factor was used for the two constraints.

6.5.3 3 Looking for an initial parameterization


As already mentioned on page 292, the quality of the global parameterization
obtained with the DSI algorithm is strongly dependent on the initial solution
and it is thus of paramount importance to look for an initial parameterization
(u(a) = (w 1 (a), u2(o)} : a e fi} that approximately honors the isometric
constraints (6.80). Among the many possible techniques that can be used for
building such an initial solution, in this section we propose an approach based
on the concept of "conjugate" functions, which has the advantage of directly
taking into account the constraints (6.80).

Notion of conjugate functions on a triangle T


Let (p be a function defined on the set 7 of vertices of a triangulated surface
T(<S), and let T = T(x(o!o) 5 x(ai)>x(a2)) be a triangular facet of T(S). As-
suming a linear variation of ip on T with a constant gradient grad(/?JT, it is
easy to check23 that the values (/?(ao), ^ f a i ) ) and (p(a2) at the vertices of T
are such that

In other words, if the value (p(ot,i) at one of the vertices of T is known, then
the values of (p at the two other vertices can be determined thanks to the
above equation.
23
Taking into account the fact that grad<^ is constant on T, this formula is a straight-
forward applications of property (5.23).
296 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

By definition, a linear function (p defined on T is said to be conjugate of


(p on T if its constant gradient grader has the same length as grade/?\T and
is orthogonal to grad(/?|y:

If we note NT the unit vector orthogonal to the triangle T, then the gradient
of such a conjugate function (p can be deduced from grad</?|T as follows:

Moreover, similar to equation (6.81), the values of (p at the vertices of T honor


the following equation:

Building an initial parameterization


It should be noted that any pair of conjugate functions (<>, (p) defines an
isometric parameterization of T = T(x(a 0 ),x(ai),x(a2)) provided that

For this purpose, it suffices to define U(CKO), u(ai) and u(a 2 ) as follows:

This suggests the following seven-step algorithm to build an initial parame-


terization of a triangulated surface T(<$) that roughly honors the constraints
(6.80):
1. Perform the following initializations:
initialize to zero a "counting" function c and a pair of functions (ip, (p)
denned on the set $1 of the vertices of T(S):

choose an initial triangle T = T(x(ao), x(ai),x(a:2)) belonging to T(<S)


and set c(ao) equal to 1:

choose a unit vector g parallel to T.


2. Among the vertices {ao, 0:1, 0:2} of T, look for an index i such that c(oa) ^ 0.
If there is no such vertex, then go to step 7; otherwise determine (a, (3) such
that

3. Compute the unit vector g = NT x g.


6.5. GLOBAL PARAMETERIZATION 297

4. Perform the following operations:24

5. Build the set Ao(T) of all the triangles neighboring T that have at least one
vertex a such that c(a) 0.
6. If Ao(T) is empty, then go to step 7, otherwise, for each triangle T* 6 Ao(T),
execute recursively the following operations:

rotate g in such a way that g becomes parallel to T*


T < T*
go to step 2

7. For all a G fi, initialize the parameterization u = (w 1 ,?/ 2 ) as follows:

In the case where T(S] is affected by discontinuities (e.g., fault traces), it is


necessary for any parameterization to be continuous through these disconti-
nuities. Such a continuity is automatically ensured if the triangles linked to
T by "Vectorial-Links" (see page 275) are added to the set Ao(T) at step 5
of the above algorithm.

6.5.4 Isoparametric constraints


Definition
Let us consider the vectorial function u(x) = (w 1 (x), w 2 (x)) defining a global
parameterization of a surface S. Each component w z (x) is a scalar function
denned on S and, for any given value WQ, the set of points JI(UQ) as defined
by

is an isovalue curve of w l (x) drawn on S. By definition, such a curve is called


a "^-isoparametric curve" of the associated parameterization x(u).
24
These updating formulae are straightforward applications of equations (6.81), and (6.82)
combined with the fact that
298 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.25 Notion of isoparametric constraint: the bold curve defines an


isoparametric constraint.

Preliminary remarks
Let p fc be a point located on an isoparametric curve JI(UQ) of a surface S
and let tl be the unit vector tangent to Jt(ulQ} at point p fe . By definition
of the notion of gradient (see equation (5.23)), if s represents the algebraic
curvilinear abscissa on JI(UQ) oriented in the direction of t\ then according
to the definition (6.83)

This clearly shows that gradw* is orthogonal to ^(UQ):

Consequently, as suggested in figure (6.25) and according to equation (6.69),


the isometric constraints (6.80) are equivalent to

Moreover, if N/, is the unit normal vector to S at point pfc then, according to
(5.11), and (6.69), the tangent t* to JI(UQ) at point pfc should be oriented in
such a way that

Notion of isoparametric constraints


As shown in figure (6.25), let {p l 5 ..., p^, p fc+1 ,...} be an ordered list of points
corresponding to the sampling of a curve J~l drawn on 5, and let N& be the
unit normal vector to S at point p fc . Let us assume that the points {p^} are
numbered in such a way that

This ordering is compatible with condition (6.86) above, which suggests the
possibility of making one of the isoparametric curves of the function ul (x),
6.5. GLOBAL PARAMETERIZATION 299

Figure 6.26 Global parameterization of a triangulated surface with isoparamet-


ric DSI constraints. Isoparametric constraints allow isoparametric curves to be fitted
to geological features, such as, for example, the boundary of certain fault traces. If
the external boundary is rectangular in shape, then isoparametric constraints can
also be used to fit this boundary to isoparametric curves. (Data courtesy Elf)

for example, J I ( U Q ) , identical to Jl for some (unknown) value UQ of the


parameter ul.
For this purpose, according to equations (6.84), and (6.85)-3, we can say
that, on the curve J7"1, the function ul(x) is constant and the gradient of u 2 (x)
is equal to 1. In other words, for any pair of points (p f c ,p f c + 1 ), this suggests
introducing the following constraints called "^-isoparametric constraints:"

The "w2-isoparametric constraints" can be denned in a similar way and it is


straightforward to implement all of them as "fuzzy Control-Delta" constraints,
already presented on page 256.

Comment
The beauty of the notion of the ^-isoparametric constraint is that, for spec-
ifying the shape of an isoparametric curve JI(UQ), the value of UQ does not
have to be known. This means that such a curve can be freely specified merely
by picking an ordered list of points located on that curve interactively on S.

A test example
Figure (6.26) shows a global parameterization of a geological horizon cut by
a complex fault network. The isometric, Constant-Gradient, and C and
Cl pseudo-continuity DSI constraints were used together with isoparametric
constraints to align some isoparametric curves with the boundary of certain
faults.
300 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

This figure also illustrates the importance of using higher certainty factors
for the isoparametric constraints than for other DSI constraints to ensure a
correct fit for isoparametric curves.

Generalization to 3D
The parameterization of triangulated surfaces can be extended in a straight-
forward way to the parameterization of a 3D region 71 modeled as a tetrahe-
dralized volume or a regular 3-grid. In such a case, the 3D region is assumed
to be represented by a discrete model Ai3(O, AT, u,Cu) where the vectorial
function u has three components representing the parameterization of the
studied region:

For any i e {1,2,3}, the notion of an isoparametric surface ^(UQ) is defined


as follows in a similar way to the notion of isoparametric curve:

Moreover, it is also possible to define the notion of an isoparametric constraint


to specify that w z (x) should have one of its isoparametric surfaces, say, JI(UQ),
be identical to a given surface Jl for some unknown value UQ of the ith
component ul of the parameter u.
In practice, the surface J"1 is defined by a given (unordered) set of sampling
points

and the associated isoparametric constraint is defined as follows

or, equivalently:

These linear equations can easily be transformed into a set of K DSI con-
straints specifying that an unknown isoparametric surface J^I(UQ] should be
close to the given surface J"1 for an unknown value UQ of the parameter u1.
As in the 2D example represented in figure (6.26), such an isoparametric
constraint allows us to align the isoparametric surfaces with horizons and
faults to obtain a 3D parameterization compatible with the structure of the
subsurface. If need be, these isoparametric surfaces can in turn be sampled
regularly and identified with the isoparametric surfaces of a regular curvilinear
3-grid.

6.5.5 Uncoupling properties from the geometry


Let T(S) be a triangulated surface holding a vectorial p-dimensional property
(p. The geometry x and the property </? of T(S] are assumed to be modeled
6.5. GLOBAL PARAMETERIZATION 301

Figure 6.27 Uncoupling properties from the geometry: a property y> is modeled
at the nodes of a fine grid covering the parametric domain D of the triangulated
surface T(S). Texture mapping of this grid on T(<5) allows high-frequency variations
of (p to be represented independently of the size of the triangles of T(S). Moreover,
the continuity of (p across faults (if any) is restored.

by their values {x(a)} and {(f>(o)} sampled at the nodes of T(S}. It can be
observed that
if the surface S is very smooth, then very few triangles are needed for modeling
its geometry and, in the extreme case where S is a perfectly flat rectangle,
T(S] can be composed of only two triangles;
if the property </? presents high-frequency variations on S, then a lot of tri-
angles are needed for modeling these variations accurately even if S is very
smooth.
This clearly shows the need for uncoupling the properties of a surface from its
geometry. In addressing this problem, the next section will propose a solution
based on a parameterization of T(S):

Discrete model Mp(ftu, Nu, (p,C^) attached to T(S)


If T(e>) is a globally parameterized open surface, according to section (3.4),
it is always possible to cover its parametric domain D with a set fiu of nodes
{uy} corresponding to the nodes of a regular 2-grid:

Such a set of nodes Slu can be used for building a 2D graph G(lu, Nu] where
the neighborhood operator Nu is defined by
302 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Let (f> be the (m xnxp) vector collecting all the components of values ^(uy)
corresponding to the sampling of <^(x) at points x(uy) of T(<S) associated with
nodes Ujj e fi u . In the parametric domain, it is possible to build a discrete
model Mp(lu, Nu,(p,Cv} attached to T(5), but completely uncoupled from
the geometry of T(<5):

As shown in figure (6.27) from a graphical point of view, if p = 1, it is very


handy to use a well-known texture mapping technique [40, 82, 131] for painting
T(<5) with the values stored in the matrix (p.
Using the neighborhood operator Nu defined by equation (6.88) implies a
"pseudo-continuity" across the images of fault traces in the parametric domain
D. This means that, proceeding in this way, (p is mapped continuously on
T(<S) as it was prior to being cut by geological faults.
It should be noted that, if the discontinuities across faults have to be
honored, then modifying the definition of Nu to remove the edges of the
graph G(lu,Nu] cut by the fault traces in the parametric domain suffices.

Evaluating </?(p) at a point p on T(S)


Let (itfc, Vb] be the barycentric coordinates of a given point p in a given triangle
T = r(x(ao),x(ai),x(a 2 )) of T(S):

The image u(p) in the parametric domain D of T(S) is denned by

Thus the indexes ( i , j ) of the left bottom corner u^- of the unit squared 2-
cell Uij of G(Slu, NU) containing25 u(p) = (w 1 (p),w 2 (p)) can easily be deter-
mined:

Let (xij,yij] be the local normalized coordinates of u(p) in Uij defined by

and let |A^j(p) be the four coefficients, as defined by

25
The function floor(x) is defined as the greater integer either lower or equal to the real
value x.
6.5. GLOBAL PARAMETERIZATION 303

For the sake of conciseness, the following notation will be used in the rest of
this section:

It is verifiable that the coefficients {A^-(p)} defined by equations (6.89) are


such that

In other words, the coefficients {A^j(p)}, as denned by equation (6.89), appear


as a set of barycentric coordinates of u(p) relative to the vertices of the unit
squared 2-cell Uij of Q(^tu,Nu} containing u(p). Therefore, it is proposed to
evaluate <p(p) on T(<S) as its barycentric interpolation </?(u(p)) relative to the
vertices of Uij in the parametric domain (see page 128):

Installing a fuzzy Control-Property constraint


As suggested in figure (4.7), let IP be a point holding a property </>(IP) pro-
jected at point p on the triangle T(x(o:o),x(a!i),x(a2)) f ^~(<S)- Assume
that we want to add a fuzzy Control-Property constraint to the set Cv of
constraints related to the discrete model A4p(QUi Nu, </?)</?) to specify that

In such a case, according to equation (4.67), the following terms have to be


added to the local form of the DSI equation at each of the four nodes {u^j}
of the cell Uij containing the image u(p) of the point p in the parametric
domain:

with:
304 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.28 Transmitter between two regular curvilinear 3-grids.

Notion of Transmitter
Geological surfaces such as faults, unconformities, and horizons introduce dis-
continuities in the topology and the properties of geological models. These
surfaces are generally open and orient able (e.g., see figures 2.34, 6.22, and
6.27) so that, on each of them, it is possible to
compute a global parameterization u;
build a 2-grid f2u defined by equation (6.87);
attach a pair of values {ip~(uij), <^ + (uij)} associated to the positive and neg-
ative sides of the surface at each node Uij 6 f2 u ; and
build a discrete model M2(lu, Nu, (f>,C<f,) where Nu is defined by equation
(6.88), while ip is such that

The discrete model A42(lu,-/Vu,y?, C^,) so denned is called a "transmitter"


and can be used for modeling discontinuities related to the topology and the
properties of the model. For example:
In seismic processing, the refraction of seismic rays is controlled by the dis-
continuities of the seismic velocity field across geological surfaces. This kind
of information can easily be modeled as a transmitter, where ip~(uij) and
tp+(uij) are defined as follows:

In reservoir characterization, the regions located on the two sides of geolog-


ical surfaces (horizons, faults, unconformities) are generally modeled as sets
of polyhedral 3-cells. It may be interesting to identify each pair of adjacent
cells {C~(\iij), C+(uij)} that have a face tangential to such a surface at lo-
cation u^. This kind of topological information can easily be modeled by a
transmitter, where ip~(\iij) and (p+(uij) are defined as follows:

Figure (6.28) shows an example of such a transmitter.


6.6. MODIFYING THE TOPOLOG 305

Figure 6.29 Swapping the common edge (x(o:i),x(a2)} of two adjacent trian-
gles of a triangulated
surface T(S) modifies the global beauty o f T ( S ) .

Note that the notion of transmitter can be extended to store properties specific
to the surface. For example, in the case of a fault, modeling the permeability
of the fault at any location u^- e Ou as an additional property may prove
interesting.
It is also possible to use the parametric domain of the transmitter as a
"blackboard" on which the non-manifold junctions with other surfaces can be
mapped as curves. This is particularly interesting for modeling Allan maps
(see [5]).

6.6 Modifying the topology


By definition (see page 246), a triangulated surface T(S] is no more than
a particular cellular partition of an unknown surface S sampled at a finite
set of points {x(ct) : a O} corresponding to the vertices of T(S}. A new
triangulated surface deduced from T(S) can be built in two different ways:
either the new triangulated surface is a new cellular partition of the same
surface S,
or the new triangulated surface is a cellular partition of a new surface whose
boundary topology differs from that of S.
The first approach involves the "beautifying" and "resampling" algorithms,
while the second approach corresponds to the "trimming" and "cut" algo-
rithms presented in this section.

6.6.1 Beautifying algorithms


Beauty of a triangulated surface
The equilateral triangle and the flat triangle with a degenerated edge are
generally considered as the "nicest" and the "ugliest" triangles, respectively,
that can be built. This suggests measuring the "beauty" b(T) of a triangle T
306 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.30 Examples of improvement of the topology of a triangulated surface


(A). The resulting "beautified" surface (B) preserves both the number and the
location of the vertices of the original surface. The resulting "beautified" surface
(C) preserves only the number of vertices of the original surface. The resulting
"resampled" surface (D) preserves only the geometry of the original surface.

as the ratio

where
r(T) is the radius of the circle tangent to the three edges of T; and
-R(T) is the radius of the circle passing by the three vertices of T.
It can be shown (see [46]) that the beauty criterion so denned can be computed
as follows, where di, a2, and 0:3 are the internal angles of T:

Moreover, for any triangle T, the beauty criterion 6(T) has the following
properties (see [46]):
b(T) stays in the range [0, ^];
the maximum | of b(T) is reached if T is equilateral; and
the minimum 0 of 6(T) is reached if T is flat.
This means that the global beauty of a triangulated surface B(T(S)}, defined
as the sum of the beauties of all its triangles, is finite and
6.6. MODIFYING THE TOPOLOGY 307

Algorithm #1
As suggested in figure (6.29), considering two adjacent triangles T and T*
of T(S) sharing a common edge, let cr(T\T*) and cr(T*|T) be the two new
triangles deduced from T and T* by "swapping" the common edge:

In general, the swapping operation so defined modifies the global beanty of


the triangulated surface T(<S). This suggests the following "beautifying algo-
rithm," whose convergence is ensured because, at each step of the iterative
process, the global beauty B(T(S)) increases and is upper bounded by the
value (i - |T(5)|):

// beautifier#l
let T*(S) be a copy of T(S)
do {
flag < false
for_all(TeT*(<S) ) {
let A(T) be the set of triangles adjacent to T
let T* be the triangle of A(T) such that
6(cr(T*|T)) = max b(a(t\T}}
tA(T)
if(6(a(T|T*)) + b(a(T*|r)) > 6(T) + &(T*)) {
replace T by <r(T|T*)
replace T* by <r(T*|T)
flag < rue
} // end: if
} // end: for_all
} while( flag ) // end: do

figure (6.30)-B gives an example of the result obtained with this algorithm
when applied to the triangulated surface shown in figure (6.30)-A.

Algorithm #2
It should be noted that the beautifying algorithm presented above preserves
the location of the vertices of the triangulated surface to be "beautified."
Obviously, relaxing this constraint would normally result in a nicer surface
T*(tS); this suggests the following algorithm derived from the above algorithm:

// beautifier#2
let TO* (S) be a copy of T(S)
let i = 0
do {
i < i + 1
308 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.31 Part (A) shows a parameterized triangulated surface T(<5) re-
sampled and transformed into the new triangulated surface T*(S) shown in part
(C). In the parametric domain T(D}, part (B) shows the map of the curvature of
T(<S), while part (D) shows the new triangulation T*(D*) associated with the new
triangulation T*(S) in part (C).

let T*(S) be a copy of 7i(S)


install Control-Thickness constraint on T*(S)
install Control-Nodes on the boundary of T* (S)
apply beautifier#l to T*(S}
run DSI on 7^(3)
}while( topology {T* (S}} ^ topology {7~*_ l (S)})

This program implicitly assumes that the Control-Thickness constraints ap-


plied to T*(S) stipulate that the "thickness" between T*(S) and 7^^1(S)
must remain equal to zero. Figure (6.30)-C gives an example of the result
obtained with this algorithm when applied to the triangulated surface shown
in figure (6.30)-A.
6.6. MODIFYING THE TOPOLOGY 309

6.6.2 Resampling algorithm


Notion of resampling
As suggested in figure (6.31)-A, let T(S] be a globally parameterized open
triangulated surface, and let T(D] be the associated triangulation in the para-
metric domain D defined by equations (6.60), and (6.64).
The possibility always exists to build a vectorial function x(u) interpolat-
ing the vertices of T(S] on D and to assume that this function corresponds
to a parametric representation of the unknown underlying surface S to be
modeled:

For example, x(u) could be


the piecewise linear function x, as denned in section (6.1.2) and interpolating,
in a linear way, the vertices of T(S];
the piecewise nonlinear function x, as defined in chapter 7 and interpolating,
in a curvilinear way, the vertices of T(S) thanks to a Gregory patchwork (see
section (7.3), page 336); or
a Kriging interpolator (see section (9.7), page 502).
The choice of such an interpolator x(u) immediately allows a new triangulated
surface T*(S] to be built as follows:
1. Choose a finite point set P fully contained in D.
2. Build the set of the edges corresponding to the boundary of D.
3. Build the set P* consisting of the set P plus the vertices of the edges of :

For the sake of consistency with previous notations, the points of P* are noted
as follows

where the {a*}'s are assumed to belong to a set of indexes f2*.


4. Using the algorithm presented on page 104, build the constrained Delaunay's
tessellation T>(P*\) of the parametric domain D.
5. Remove all the triangles of T>(P* \E] whose barycenters are outside D to obtain
a retriangulation T*(D) of the parametric domain D:

6. Build a new triangulation T* (S) of S consisting of the image of T* (D) defined


by x(-):

According to equation (6.90), the image x(u(a*)) of any point of P* belongs


to the unknown surface S, and the set of points {x(a*)} defined by

corresponds to the vertices of T* (S).


310 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

The new triangulated surface T*(S) so defined is called a "resampling" of


T(S}. For example, the nodes of the triangles in figure (6.31)-D constitute a
resampling of the triangulated surface shown in figure (6.31)-A.
In practice, this resampling method can easily be adapted to take proper-
ties of T(S] into account:
The density of the points of P in D may be chosen as a function of a
property of the initial surface T(S] such as, for example
the intensity of the curvature of T(S], and
the gradient of a physical property attached to T(S}.
Figures (6.30)-D and (6.31) give examples of a resampling performed in
function of the maximum curvature (see page 235) of the surfaces.
If the new triangulation T* (S] has to honor a polygonal curve L assumed
to be drawn on tS, then it suffices to proceed as follows:
build the image A of L in D:

if need be, clip A to the interior of the domain D:

add the edges of A to the initial set of edges :

add the vertices of A to P*:

Figure (6.32) shows an example where a resampling is performed in


function of the maximum curvature of the surface while honoring some
given curves drawn in bold.

Piecewise linear embedding x* associated with a resampling


In practice, the function x(u) is sampled at locations u(a*) corresponding to
the point set P* and x(u) may be approximated by a piecewise linear function
x*(u) interpolating x(u) linearly on each triangle of T*(D).
In this case, the image T* of each triangle DT* of T*(D) is a flat triangular
facet belonging to the new triangulated surface T*(S] such that

It should be noted that, the two piecewise linear functions x(u) and x*(u)
interpolating the vertices of T(D] and T*(D) linearly are, in general, two
different functions:
6.6. MODIFYING THE TOPOLOGY 311

Figure 6.32 Part (A) shows a parameterized triangulated surface T(S) resam-
pled and transformed into the new triangulated surface T*(S] shown in part (C).
In the parametric domain T(D), part (B) shows the map of the initial triangulation
o f T ( S ) , while part (D) shows the new triangulation T*(D*) associated with the
new triangulation T*(S] of the parametric domain producing the new triangulation
T*(<S) in part (C), that honors the four curves drawn in bold.

An example of a resampling algorithm


The new triangulated surface T* (<S) associated with the piecewise linear inter-
polator x*(u) defined above appears as a new approximation of the underlying
unknown surface <S. The associated new sampling P* may be optimized to
honor the two following constraints where E is a given threshold:

2) the number of vertices of T* (S) is minimum.

For this purpose, we propose using the following algorithm where the operator
T^n(P*\} is assumed to be the constrained Delaunay triangulation (see page
104) with all the triangles outside the parametric domain D removed:

// Resampling
let P* be the set of nodes of d(D)
flag + true
while( flag ) {
312 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES

Figure 6.33 Gluing an edge E(S) of a triangulated surface T(S) onto a trian-
gulated surface T(F} may require a resampling of T to obtain a new triangulation
of J- that honors the polygonal curve L(}-} corresponding to the projection of E(S)
on J-.

Figure (6.30)-D shows an example of resampling obtained with this algorithm


when applied to the triangulated surface shown in figure (6.30)-A. The func-
tion x(u) used in this example was a G1 Gregory patchwork (see section
(7.3)).

About curves
As already mentioned in the resampling algorithm presented above, the edges
of polygonal curves can be taken into account. Such a possibility is partic-
ularly interesting in the practical situation illustrated in figure (6.33). As
shown in this figure, let us consider the projection I/(^") of an edge E(S) of a
triangulated surface T(S) on a triangulated surface T(F}. If the surfaces S
and T have to be glued (see page 90) along the polygonal curves E(S] and
L(JF), then, in general, a resampling of T honoring L(F] has to be built, and
the above algorithm can be used for this purpose.

Trimming algorithm
It should be noted that the above resampling algorithm can easily be modified
to build a triangulation T(S/B] corresponding to a subset of S. Such an
operation is called a "trimming" of S and is defined by a given closed polygonal
curve B assumed to be contained in the parametric domain D and called a
"trimming curve." All that is required in this case is to change the set 8 of
segments used by the resampling algorithm as follows:
6.6. MODIFYING THE TOPOLOGY 313

With 8 defined in such a way, the resampling algorithm will generate a new
triangulated surface T*(<5*) corresponding to a subset <S* of S and having an
external boundary corresponding to the image of B in M3.

Extension algorithm
Let D+ be a given region of JR2 containing D. The possibility always exists
to build a function x + (u) denned on D+ and identical to the piecewise linear
interpolation x(u) on D:

For example, if D+ is bounded by a polygonal curve dD+, then the following


procedure can be adopted for building x+ (u) on D+:
build a triangulation T(D + ) identical to T(D) plus a set of triangles covering
the ring (D+ D) and honoring the edges of dD+;
build the discrete model .M 3 (f2 + , N+, x + ,C x +), where 7+ corresponds to the
nodes of T(>+) and where Cx+ consists of Control-Nodes installed on the
vertices of T(D), while N+ is induced by the edges of T(D + );
interpolate x+ on fi+ with the DSI method; and
interpolate x + (u) by x(u) linearly on each triangle of T(.D+).
The image of T(D + ) by the function x so defined is a triangulated surface
extending T (<!>). Note that the extension of T(S) so obtained can be trimmed
by any polygonal trimming curve B contained in D+. Moreover, it is easy to
implement a composite operation involving extensions and trimmings: for
this purpose, in the parametric domain it suffices to define a closed curve
representing the boundary of the new surface to be built.

6.6.3 Cut algorithm


Let us consider two triangulated surfaces26 T(S) and T'(.7r), and let r(S,Jr)
be the set of points of -ff?3, as defined by

From a theoretical point of view, F(S, J-) may consist of isolated points, pieces
of polygonal curves and pieces of isolated surfaces (patches):

26
For example, S corresponds to a geological surface cut by a fault F.
314 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES

Figure 6.34 A triangulated surface T(S} crossed by a second (transparent)


triangulated surface T(F}. The cut generates a new boundary on T(S] without
modifying its geometry. Installing a Boundary-on-Surface constraint specifying that
the new boundary should remain stuck on T(F} before running DSI on T(S} enables
the fault trace to be "opened."

In practice, the subsets Fo(S, J-} and ^(5, F] are discarded. "Cut operation"
denotes any resampling of <S resulting in a new triangulation T* (<S) honoring
Fi(S, J7) in the following sense:

The "cut algorithm" corresponding to this cut operation can be outlined as


follows:
1. Let "yi(S,F) be the empty set.
2. For each pair of triangles Ts G T(S} and T/ e T(F}, determine the intersec-
tion (Ts n T/). If Ts e T(<S) is a segment, then add it to the set 71(5, J7).
3. Transform the set of segments 71 (<S, T) into a set of polygonal curves FI (<5, F).
4. Retriangulate, locally or globally, the surface S to obtain the new triangulation
T*(S) honoring the edges of Fi(<S, J7).
5. Unsew the triangles of T*(S) along the edges of Fi(5,.F). This operation
is realized by removing the 2 links (see section (2.4.7)) between the darts
associated with the edges of ri(<5,.F).
In spite of its theoretical simplicity, implementing the cut algorithm so defined
is extremely complex. This practical complexity is induced by the fact that
the above operations (2), (3), and (4) are very sensitive to rounding numerical
errors, and a naive direct implementation of these operations is unacceptable.
A correct implementation must be based on logical geometric predicates tak-
ing care of the history of the vertices generated at step (2). The role of these
geometrical predicates is to guarantee that the same logical point computed
in two different ways results in one single vertex. A complete description of
such a complex system is outside the scope of this book; for more details, the
reader is referred to [109] and [74]. Figure (6.34) shows an example of a cut
operation corresponding to the intersection of a geological surface by a fault:
the new surface so obtained possesses a new boundary corresponding to the
fault trace.
6.7. CONCLUSIONS 315

6.7 Conclusions
A large part of this chapter has been dedicated to the presentation of DSI
constraints very specific to geological surfaces modeled as triangulated sur-
faces. Most of these constraints would be very difficult, or even impossible,
to implement at a reasonable cost with traditional methods based on Bezier,
Splines, or Nurbs surfaces (e.g., see [77]). Moreover, the possibility of glob-
ally parameterizing triangulated surfaces opens the door to a wide range of
applications in the realms of structural geology, geostatistics, and geophysics.
The only limitation of the linear triangulated surfaces model presented in this
chapter is the fact that the geometry of each triangle was represented as a flat
facet. In the next chapter we will see how to remove such a restriction.
It is also relevant to note that most of the methods presented for triangu-
lated surfaces can straightforwardly be extended to tetrahedralized volumes
and polygonal curves: in such cases, the tetrahedra (3-simplexes) of the vol-
umes and the edges (1-simplexes) of the curves play the same role as the
triangles (2-simplexes) of the triangulated surfaces. These methods can also
be extended to surfaces composed of polygonal facets or volumes made of
polyhedral cells, such as those shown in figures (2.18), and (2.25).
This page intentionally left blank
Chapter

7
Curvilinear
Triangulated Surfaces
Applications exist, for example, ray tracing in geophysics, where the piecewise
linear approximation of triangular facets proposed in the previous chapter may
not be sufficiently smooth. This chapter addresses this problem, proposing
practical solutions to obtain smooth curvilinear models of surfaces interpolat-
ing the vertices of a given triangulated surface.

7.1 Introduction
Initially, curvilinear models of surfaces were introduced in the industry for
modeling elements of car bodies such as the hood, the roof, or the doors.
All these elements being topologically equivalent to rectangles, in the early
days of CAD,1 it seemed natural to use parametric methods based on rect-
angular patches. However, as pointed out by Farin [76], for more complex
surfaces, such as those encountered in the interior of a car or in geosciences,
decomposition into rectangular patches is not a natural choice:
[for complex surfaces], rectangular patches do the job, although with
some difficulties, which arise mainly in the case of degenerate rectan-
gular patches. Triangular patches do not suffer from such degeneracies
and thus are better suited to describe complex geometries than are
rectangular patches ...
. . . If a completely new system is to be developed, such a system would
most likely profit from the additional flexibility offered by triangular
patches enough to justify a higher implementation cost.
1
Computer-Aided Design.

317
318 PTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.1 An example of Gregory patchwork smoothly interpolating the vertices


of the initial linear triangulated surface represented in figure (6.1).

This explains why the modeling of triangulated surfaces is currently one of


the most active fields of research in CAD.
Within the framework of this chapter, three different approaches are pro-
posed for building a smooth surface interpolating the vertices of a given tri-
angulated surface:
1. The first approach consists in approximating each triangle, individually, with
a smooth parametric curvilinear patch.
2. Approximating each triangle, individually, with a smooth curvilinear facet
may generate discontinuities along the edges shared by pairs of triangles.
Thanks to a method based on DSI, it will be shown that the parameters of
each individual curvilinear facet can be determined to ensure Gl continuity
along the edges of the triangles.
3. Finally, it will also be shown that a discrete approximation of a G2 surface
interpolating the vertices of the triangulated surface can be built. Such an
approximation is obtained by recursive subdivisions of the initial surface, and
the location of the new vertices so generated are computed thanks to the DSI
method.

7.2 Building a smooth curvilinear triangle


7.2.1 Preliminary definitions
Unit parametric domain DT of a triangle T
Let (u,v) be an orthonormal coordinate system of M2. By definition, "tri-
angle's unit parametric domain" or, more simply, "triangle's domain," is the
name given to the subset DT of points of M whose coordinates (u, v) are
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 319 319

Figure 7.2 Transforming the triangle's unit parametric domain DT of 1R2 (A)
into the triangular patch T(p 0 ,p 1 ,p 2 ) of M3 (B).

such that

As can be seen in figure (7.2)-A, the parametric domain DT is a triangle whose


vertices have as coordinates (0,0), (1,0), and (0,1), respectively.

Curvilinear triangular patch T(p 0 ,p 1 ,p 2 )


As shown in figures (7.2)-B, and (7.3), let p 0 , p l 5 and p2 be three differ-
ent points of JR3 and let T(p 0 ,p 1 ,p 2 ) be the image of the triangle's unit
parametric domain DT by an application x(w, v) from JR to 1R3 such that

The triangle r(p 0 ,p 1 ,p 2 ) so defined is said to be a regular curvilinear tri-


angular patch of IR3, or more simply a curvilinear triangle or a patch, if, and
only if:

The continuity of x(w, v) and its derivatives on DT ensures that the points p0,
Pi and p2 are uniquely defined and belong to the boundary of the curvilinear
triangle. Therefore, p0, p1? and p2 are called the "vertices" of T(p 0 ,p 1 ,p 2 ).
In practice, a curvilinear triangular patch is seldom isolated and is gener-
ally part of a triangulated surface such as the one shown in figure (7.1): the
320 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.3 Tangents and unit normal vector of a triangular patch T(p0, pl, p 2 )
embedded in iR3.

main goal of this chapter is to define x(u, v) in such a way that it joins its
neighbors as neatly as possible.

Edges of a triangular patch


The boundary of any triangular patch T(p 0 ,p 1 ,p 2 ) is composed of three
continuous curves E ( p Q ^ p l ) , J B(p 0 ,p 2 ), and T (p 1 ,p 2 ) such that

These curves are the images of the edges of the triangle's unit parametric
domain DT-

Therefore, E(pi, PJ) is called an edge of T(p0, p l 5 p 2 ). In practice, it is impor-


tant that the common edge of two adjacent curvilinear triangles belonging to
the same surface has only one embedding (geometry) to ensure G continuity
through this edge (see page 225).

Unit normal vector N(u, v)


According to equation (5.11) and due to the fourth property (7.2), the curvi-
linear patch T(p 0 ,p 1 ,p 2 ) has a unique unit normal vector N(u, v) at any
point x(w, v}. This unit normal vector is denned by the following formula
where a x b is the cross product of a and b:
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 321

Figure 7.4 Data available for interpolating an unknown triangular patch.

From now on, the normal vector at the three vertices p0, p1; and p2 of the
patch will be noted as N 0 , N x and N 2 , respectively:

For Gl continuity to be assured, it is necessary to honor the continuity of the


normal vectors through the common edge of two adjacent curvilinear triangles
belonging to the same smooth surface (see page 225).

7.2.2 Interpolating a triangular patch


Presentating the problem
As shown in figure (7.4), the aim is to interpolate an unknown triangular
patch about which only
1. the locations p0, p1; p2 of its three vertices, and
2. the unit normal vectors N 0 , N l 5 and N2 at its three vertices,
are known.
There is, a priori, an infinity of continuously differentiable functions x(u, v)
generating a triangular patch T(p0, p1? p 2 ) that respect these data. Hereafter,
only functions x(u,v) having the following general form will be considered:

The functions {wijk(u, v)} used in this equation are assumed to be given, while
the points {b;jfc} have to be determined as functions of the data (p 0 ,N 0 ),
(p^Nj), and (p 2 ,N 2 ).
322 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.5 An example of a curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its


associated Control-Net.

Convex hull property


By definition, x(it, v) will be said to satisfy the "convex hull' property if the
weighting functions w^k(u^v) verify the two following equations:

Control-Net
If the weighting functions u^. fc (w, v) satisfy the two equations (7.3), then
x(w, v) may be considered as the center of gravity of the points {b^-fc} weighted
by the values of these functions at point (u,v) G DT- As suggested in figure
(7.5), this implies that x(u, v) is imperatively located in the convex hull of
the set B of the points {b^-fc} for all (u,v) G DT- It can be concluded that
the patch T(p 0 ,p 1 ,p 2 ) is itself contained in the convex hull of B and, in a
certain sense, B can be considered to "control" the shape of T(p 0 ,p 1 ,p 2 ).
Therefore, the set B = {bijk} is called the "Control-Net" of T(p 0 ,p 1 ,p 2 ),
while each b^ is called a "Control-Point." Figure (7.5) shows an example of
patch T(p 0 ,p 1 ,p 2 ) and its associated Control-Net.

Unit tangent vectors T^


Let T^ be the unit tangent vector at point p^ on the edge E(p^ p ) oriented
positively from p^ to p^ as shown in figure (7.6). There is, a priori, an infinite
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 323

Figure 7.6 Unit tangent vectors T^ associated with normal vectors Nj and N^.

number of possibilities for choosing this tangent, which must respect only the
following constraint:2

From among all the possible vectors T^ respecting this constraint and as
suggested by Nielson (cf [167]). we propose choosing the vector defined by the
following formula:3

As can be seen, this formula assumes implicitly that (p^- pj is not colinear
to N^. In practice, this constraint is always assumed to be verified.

7.2.3 The cubic Bezier patch


Introduction
One idea for smoothly interpolating a triangle using a parametric patch con-
sists in considering a triangle as a rectangle with a degenerated edge. In doing
so, it is possible to use one of the tensor product methods classically used in
CAD (see [25, 26, 27, 76]). For example, a rectangular Bezier patch, defined as
follows where {B^()} are the so-called Bernstein polynomials, may be used:

Proceeding in this way, however, introduces anisotropy into the model: differ-
ent results are obtained depending on the edge chosen for the degeneration. In
2
The notation a b represents the dot product of two vectors a and b.
3
The notation a X b represents the cross product of two vectors a and b.
324 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

practice, building a smooth parametric representation of a curvilinear triangle


is a harder task, and tensor product methods can no longer be used to obtain
a perfectly symmetrical model relative to the three vertices of the triangle.
Barnhill [12], in the first article written on this topic, proposed extending the
Bernstein polynomials in a very natural way:
In the univariate case, the Bernstein polynomials Bf(u) are defined as
the terms of the binomial expansion of (u + w)n:

The Bezier approximation of a curve is then defined as a parametric


function x(u) that depends on (n + 1) Control-Points {bj : i G [0, n]}:

It is relevant to note that (u,w) can be considered as the barycentric


coordinates of a point on the unit domain segment [0,1].
Similarly, in the bivariate case, the Bernstein polynomials BAu,v] are
defined as the terms of the trinomial expansion of (u + v + w)n:

As illustrated in figure (7.5) where n = 3, the Bezier approximation of


a triangle is defined as a parametric function x(w, v] that depends on
{(n + 1) (n + 2)/2} Control-Points {bijk : i + j + k = n}\

Note that (u,v,w) may be considered as the barycentric coordinates


(see page 254) of a point on the triangle's unit parametric domain DT as
defined by equation (7.1). Moreover, for any (u,v,w) in this triangle's
7.2 BUILIDING A SMOOTH CURVILINEAR TRIANGLE 325

unit parametric domain, the blending functions (3jk(u,v,w) are such


that 4

These properties guarantee that x(w, v) = g(w, v, w) will be located in


the convex hull of the Control-Points bjjfc as long as (u,v,w) remains
in this triangle's unit parametric domain.
In fact, the parametric representation x(w, v) can also be viewed as a func-
tion g(u,v,w) of three not independent variables w, v, and w under the
constraint (u + v + w) = 1:

This perfectly symmetrical parametric representation of a curvilinear Bezier


triangular patch is at the origin of most of the methods proposed in the
literature for modeling curvilinear triangular patches. Prom now on, for the
sake of simplicity, this system of symmetrical notations will not be used, and
x(w, v) will be considered as the parametric representation of the triangular
patch to be modeled. This implies using a different, but equivalent, notation
for indexing the Control-Nodes. For example, in the case of a cubic Bezier
triangular patch, the "symmetrical " Control-Points shown in figure (7.5) will
be renumbered as indicated in figure (7.7).

Bezier Control-Net 83
The cubic Bezier Control-Net 83 is denned as the set of Control-Points (p0,
Pn P2> Poi Pio> Po2> P20' Pi2> P2i> Q> shown in figure (7.7) and defined as
follows:

The coefficients (3- are assumed to be denned as

The choice of the positive coefficient /3 and the function 0(-) will be discussed
later on (see page 328).
4
This is a direct consequence of the fact that the values {/3-k(u, v, w)} are the terms of
the trinomial expansion of (u + v + w):
326 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.7 An example of curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its


associated cubic Bezier Control-Net.

Definition of x(u, v)
By definition, the curvilinear patch T(p 0 ,p 1 ,p 2 ) based on the Control-Net
#3 and whose equation x(u, v) has the following form where w = (I u v)
is called "cubic Bezier patch:"

It is easy to verify that this patch interpolates the three vertices:

It is relevant to note that equation x(w, v} can also be written in the following
way where the relative influence of each pair (p^-,Pjj) appears more clearly:
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 327

Derivatives
The tangents in the u and v directions can be obtained by deriving the equa-
tion x(w, v) of the cubic Bezier patch:

The second-order derivatives can also be computed according to the following


formula:

Normals at the vertices p 0 , p 1? and p2


If the tangents at the vertices of T(p0, p x , p2) are chosen as follows

then it is easy to verify that the normal vector N(w. v} interpolates the normal
vectors N 0 , N1 and N2 at the three vertices of the patch:
328 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Nature of the edge E(p0,pl)


The edge E(p0, p1) corresponding to the boundary of the patch between the
points PO and pl is generated by the points x(u, v) for which the parameter
v is equal to zero:

Thus, the edge '(p0,p1) has an equation x(w) such that

Moreover, the derivatives on this edge are such that

Prom these expressions, it can be deduced that the edge J E(p 0 ,p 1 ) has the
following properties:
The equation x(u) = x(u, 0) depends solely on p0, p 1? N 0 , and Nj.
The tangent x u ('U,0) to the patch T(p 0 ,p 1 ,p 2 ) is identical to the tangent
x w (it) to the curve E(p0,pl) and depends solely on p 0 ,Pi, N 0 , and N!.
The tangent x(u, 0) to the patch T(p 0 ,p 1 ,p 2 ) depends not only on p0, p x ,
NO, and N l 5 but also on the central point q.
The two last properties imply that the normal vector N(w, 0) on the boundary
JE?(p 0 ,Pi) of the patch T(p 0 ,p 1 ,p 2 ) depends not only on p0, p1; N 0 , and N1;
but also on the central point q.

Shape of the patch T(p 0 ,p 1 ,p 2 )


Verifying that equation x(w, v} honors the convex hull property relative to B3
is possible. Due to the fact that r(p 0 ,p 1 ,p 2 ) interpolates the three vertices
p0, p l5 and p2 and is tangent to the unit vectors Tij = (3 (PJ p f ), how 83
"controls" the shape of the patch T(p0, p1? p 2 ) can be envisaged, as shown in
figure (7.7).
As a consequence of these properties of the Control-Net 83, it is concluded
that this Control-Net should be chosen in such a way that it looks like a
polyhedral approximation of the patch T(p 0 ,p 1 ,p 2 ). This suggests how to
choose the parameter (3 and the function 0(-) used to define the points p^
and q of the Control-Net; for example, the following choices yield generally
good results in practical applications:

and
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 329

Symmetry of equation x(w, v)


As can be seen, equation x(w, v) remains formally unchanged if the following
circular permutations of the indices (0,1,2) and the parameters (w,u,v) are
performed simultaneously:

and

Consequently, all that has been said about the edge E(p0, p x ) is also valid for
the two other edges of the patch.

7.2.4 Degenerated quartic Bezier patch


Degree elevation
Let x.s(u,v) be the cubic Bezier patch introduced in the previous section:

To increase the "flexibility" of x 3 (<u,i>), it is necessary to add Control-Nodes,


which can be done by considering q as a linear function of three new Control-
Points q0, qj, and q2:

Assuming, provisionally, that these three additional Control-Nodes are defined


by the three following equation

it is deduced that

which implies that

It can be concluded that the degree of X3(w, v} can be increased without chang-
ing the geometry of the patch as long as the conditions (7.5) are respected:
330 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.8 An example of a curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its


associated degenerated quartic Bezier Control-Net.

If the conditions (7.5) above are not respected, this equation is still valid, but
can no longer be considered as a cubic patch. In this case, no more simplifi-
cation occurs and ^(u,v) becomes an actual fourth-degree polynomial. This
forms the basis of the notion of degenerated quartic Bezier patch presented
in this section.

Bezier Control-Net B\
The degenerated quartic Bezier Control-Net B^ corresponds to the points
shown in figure (7.8) and is deduced from the cubic Control-Net 3% by replac-
ing the node q by the three nodes q 0 , ^, and q2 introduced above:

Definition of x(u, v)
Let us consider the following equation x(w, v) where w = (1 u v):

As can be seen, the polynomials used as weighting in this equation are of


degree 4, but there are no terms w 4 , u 4 , and w4, and x(w, v) can be considered
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 331

as a "degenerated" polynomial of degree 4. Therefore, the piece of surface


^(PO' Pi? P2) whose points x(u,v) are denned by the above equation is called
"degenerated quartic Bezier patch" based on B\.
It is easy to verify that

Comment
The degenerated quartic Bezier patch has been presented briefly to introduce
the notion of Gregory patch, which will be developed in the next section. In
practice, the degenerated quartic Bezier patch has the same behavior as the
cubic one relative to its Control-Net:
For the authorized values (it, v) 6 DT, the polynomial weighting coefficients
of the points belonging to the Control-Net B\ are positive and have a sum
equal to 1 so that the "convex hull" property is still honored.
The equation x(it) of the edge E(p0,p1) is strictly identical to the one ob-
tained in the case of the cubic Bezier patch and depends only on the Control-
Nodes p 0 , p01, p10, and P!.
The normal vector N(ii, v) on the edge E(p0, Pi) depends not only on (p0, N 0 )
and ( p i j N i ) , but also on the central points q0 and q x .
The equation x(w, v) remains formally unchanged when a circular permuta-
tion is performed simultaneously on the indices (0,1,2) and the parameters
(w,u,v).

7.2.5 Gregory patch


As shown in figure (7.11), the ultimate goal with triangular patches is to
assemble them into a patchwork to achieve a piecewise parametric represen-
tation of a triangulated surface such as the one shown in figure (7.1). This
raises two problems:
1. how to ensure that there is no gap between two adjacent triangular patches,
and
2. how to ensure that the normal vector N(M, v) will be continuous across the
common edge of any pair of adjacent triangles.
Problem (1) is relatively simple to solve, but problem (2) is quite complex
and is still an active field of research (see [47, 57, 75, 140, 167, 173, 225],...).
Among the many possible solutions, we will present one initially proposed by
Du and Schmitt [64, 65], based on an earlier technique developed by Gregory
[96, 97] and extended to Bezier patches by Chiyokura and Kimura [47].

The Gregory Control-Net Q


The Gregory Control-Net Q corresponds to the points represented in figure
(7.9) and deduced from the degenerated quartic Control-Net B% by replacing
332 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.9 An example of a curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its


associated Gregory Control-Net.

each of the nodes q0, q l 5 and q2 by a pair of two twin nodes:

In other words, the set Q is such that

Definition
Consider the equation x(u, v) of the degenerated quartic Bezier patch and
replace the three points q0, qj and q2 occurring in this equation by the three
points q 0 (w, i>), <iv(v,w), and q 2 (w;,w) defined as follows:
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 333

These modifications induce a new equation for x(w,i>), and the new patch so
obtained is called the "Gregory patch:"

For the authorized values (w, v) 6 DT, the (polynomial and fractional) weight-
ing coefficients of the points belonging to the Control-Net Q are positive and
have a sum equal to 1, so that the "convex hull" property is still honored.

Tangents x u (w,v) and xv(u,v]


The tangents in the u and v directions can be obtained by deriving the equa-
tion x(w, v) of the cubic Gregory patch:
334 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.10 Radial direction {(MO, 0), (0,1)}.

Taking into account the fact that w = I u v, we can easily compute the
derivatives of q 0 (w,-u), q 1 (v, w;), and q 2 (w, u} in the above formula:

Radial tangent x r (w, 0)


As shown in figure (7.10), let us consider the "radial" segment joining the
point of coordinate (uo,0) on the u axis of the triangle's DT to its opposite
vertex (0,1). The parametric equation of this radial segment is

We will call "radial tangent" of x(u, v) at (wo,0) the vector x r (wo,0), as


denned by

Let g(w, v, w) be the equation x(w, v) considered as a function of three vari-


ables (u,v,w}. It can always be written as follows:
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 335

Note that the partial derivatives in the above expression are such that

From these expressions and for any u = UQ, it can be deduced that

Nature of the edge '(p 0 ,p 1 )


The edge E(p0,pl) corresponding to the boundary of the patch between the
points PO and pl is generated by the points x(w, v) for which the parameter
v is equal to zero:

The edge E(p0,pl) has thus an equation x(w) such that

Moreover, the axial tangent x u (w, 0) and the radial tangent x r (w,0) on this
edge are such that

From these axial and radial tangents, the normal vector N(u, 0) along the
edge E^PO^) can be computed as follows:

From these expressions, it can be deduced that the edge '(p0,p1) has the
following interesting properties:
336 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.11 A patchwork composed of Gregory triangular patches and associated


network of Gregory Control-Points.

The equation x() of the edge E ( p 0 ^ p l ) is strictly identical to the one ob-
tained in the case of the cubic Bezier patch and the degenerated quartic Bezier
patch. In particular, this edge depends only on the Control-Points p0, p01,
Pio> and Po-
The normal vector N(w,i>) on the edge E(p0,pl) depends only on the nodes
directly linked to this edge by the links represented in figure (7.9). In par-
ticular, it can be noted that N(ti, v) does not depend on inner Control-Points
other than q01 and q10.
As a consequence, when considering the two adjacent patches T(p 0 ,p 1 ,p 2 )
and T(p 0 ,p 1 ,p 2 ), which share the common edge E(pQ,pl), figure (7.12)
shows that it should be possible (see [65]) to adjust the locations of the points
(q01,q10) and (qoi>qio) as functions of (p 2 ,N 2 ) and (p 2 ,N 2 ) to ensure the
continuity of the normal vector through the common edge -E^Po, P]_):

This is the origin of the method presented in the next section.

7.3 Gregory Gl patchwork


7.3.1 Introduction
Geometric continuity
As suggested in figure (7.11), let us consider a patchwork consisting of a set of
adjacent (triangular) patches. According to section (5.4.4), such a patchwork
is said to be "geometrically continuous" or, more simply, G continuous if the
following condition is respected:
For any pair of adjacent patches (triangles) T(p 0 ,p l 5 p 2 ) and T(p 0 ,p 1 ,p 2 ),
there is no gap along their common edge E(p0,p1); in other words, and as
7.3. GREGORY Gl PATCHWORK 337

Figure 7.12 Continuous junction between two adjacent Gregory patches.

suggested in figure (7.12), the following equation must be honored:

Moreover (see page 225), a G patchwork is said to be Gl continuous if the


additional following conditions are respected:
The equation x(it, v) of any (triangular) patch is continuously derivable rel-
ative to u and v, and the normal vector ~N(u,v) exists for any authorized
(u,v) G DT:

For any pair of adjacent patches (triangles) T(p 0 ,p 1 ,p 2 ) and T(p 0 ,p 1 ,p 2 ),


the normal vector to the patchwork is continuous across their common edge
^(Po'Pi); m other words, and as suggested in figure (7.12), the following
equation must be honored:

The problem to be solved


As shown in figure (7.11), from now on a patchwork composed of adjacent Gre-
gory triangular patches is under consideration and the problem to be solved
involves choosing the Control-Net for each patch to ensure Gl continuity.
For this purpose and, according to the properties of the boundaries of a
Gregory patch presented in section (7.2.5), for any edge E(p0,pl) shared by
two adjacent triangles, it is necessary to determine the location of 10 Control-
Points (see figure (7.12)):
338 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

6 boundary Gregory Control-Points

4 inner Gregory Control-Points

The difficulty arises from the two pairs of Gregory Control-Points {po2'Po2}
and {p12, Pi2J5 which are shared with other edges and induce cross constraints
with other adjacent triangles.
It can be observed in figure (7.12) that the normal vector N(w, 0) = N(u, 0)
is continuous through the common edge -E^Po, Pi) if, and only if, the common
axial tangent x u (w,0) and the twin radial tangents x r (w, 0) and x r (w, 0) are
coplanar for any u G [0,1]. This coplanarity is ensured if one can find three
weighting functions a(w), b(u), and c(u) such that

There are many possible choices for the unknown weighting functions a(it),
b(u), and c(u), and several have been studied by Du and Schmitt (see [64, 65]).
For simplicity's sake, linear functions have been chosen as follows:

This implies that, in addition to the determination of the 10 Gregory Control-


Points mentioned above, the continuity of the normal vector through the edge
E(p0, p^ requires the determination of the 4 additional coefficients 60, &i, CQ,
and ci of these linear weighting functions.
To simplify the computations, it is wise to replace (1 u} by w in b(u]
and c(u) and to multiply a(u) and c(u) by 1 = (u + w):

Using these (unknown) linear weighting functions, P(u] becomes a polyno-


mial, which can be developed as follows on the basis of the five monomials
{upwq :p + q = 4}:
7.3. GREGORY Gl PATCH WORK 339

where the vectors {Gi,..., GS} are defined as follows:

The polynomial P(u) defined by equation (7.8) is equal to zero for any u G
[0,1] if, and only if, each of its coefficients {Gi,..., G5} is equal to the null
vector:

These 5 linear vectorial equations were initially proposed by Du and Schmitt


[64, 65] for determining the unknown 10 Gregory Control-Points and the 4
weighting coefficients corresponding to the solution of our problem.

7.3.2 A solution based on DSI


This section proposes a solution based on the DSI algorithm. The resulting
method is slightly different from the one proposed by Du and Schmitt arid
has the following advantages:
Knowing an approximation of the normal vectors at the vertices of the
triangles is not required. Rather than building the Gregory Control-
Net to honor these constraints, the complete reverse of this strategy is
proposed:
1. compute, with DSI, a first approximation of the Gregory Control-Net,
and
2. deduce the normal vectors at the vertices from this first approximation.

All the "micro edges" of the Gregory Control-Net tend to be of the


same length (at least locally) and to be distributed regularly around
the Gregory Control-Nodes. As a side effect, this tends to stabilize the
system of constraints (7.9) and avoids having to consider special cases
corresponding to pathological situations where {62,63,04} could be
not linearly independent.
340 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Additional DSI constraints can be accounted for. As examples, the


patchwork can be constrained to

honor data points, and


have approximately continuous curvatures at the vertices of the trian-
gular patches.

In practice, the proposed method is split into four steps:

Step 1: Initializations
The first step consists of the following series of initializations:

Determine the location of the Gregory Control-Points {Pij} on the


boundary of the patchwork. Any method is acceptable to accomplish
this; however, if the patchwork S to be modeled has to be sewn to an-
other patchwork <5* along a common boundary B(tS,<5*), then the Gre-
gory Control-Points {p^-,p fc } along B(S, S*) must be identical. Placing
such a condition on the Gregory Control-Points of B(S,S*} guarantees
that the two resulting surfaces will join smoothly without any gap along
the sewing curve corresponding to B(S,S*).

Create a 2D global network5 similar to the one shown in figure (7.11)


and linking the vertices of all the triangles and their associated Gregory
Control-Points.
Build a discrete model .M 3 (Q,-/V,p,C v ) with the following characteris-
tics:

Q consists of the set of all the vertices and the Gregory Control-Points
for all the triangles of the patchwork.
N(a) is the set of nodes directly linked to a G fi in the global network.
<^(a) is a vector having three components ^(a), (py(a), and <pz(a) for
any a. e fl:

Ctp is the set of DSI constraints that is initialized to contain the following
DSI Control-Nodes:
* All the nodes corresponding to vertices PJ of the triangles are fixed
as DSI Control-Nodes.
* All the Gregory Control-Points {p^} located on the boundaries of
the patchwork are fixed as DSI Control-Nodes.

5
Note that many different 2D global networks can be created from the initial set of
vertices and Gregory Control-Points. However, experimental tests [197] have shown that
the network shown in figure (7.11) gives the best results.
7.3. GREGORY Gl PATCHWORK 341

Figure 7.13 A linear triangulated surface (A) consisting of an icosahedron


together with its Gregory Control-Net. Running DSI on the Control-Net yields a
smooth G surface: the resulting surface is represented "with" (B) and "without"
(C) its associated Control-Net.

Moreover, 0 is split into three subsets fii, }2 and O^ such that

Run the DSI algorithm on .M3(fi, TV, </?, C^} to determine the location of
all the free nodes corresponding to (17 f^i).
Figure (7.13) shows the result of step 1 in the case where the initial linear
triangulated surface consists of an icosahedron. Note in figure (7.13)-C that
the smooth surface so obtained is merely G, and there is no continuity of
the normal vectors through the boundaries of the triangles; also, the normal
vector is clearly discontinuous across the edges of the triangular patches.

Step 2: Determining the nodes p^


The initializations performed within the framework of step 1 produce a smooth
first approximation of the Gregory Control-Net of the patchwork. There is
no reason for this initial approximation to respect the constraints (7.9), but
it can be used to build a better approximation of Gregory Control-Points.
For this purpose, let us once again consider the edge E(pQ, Pi) of a given
triangle T(p 0 ,p 1 ,p 2 ). It is easy to check that the axial and radial tangents
have the following interesting property:

Setting the tangent planes to the surface at p0 and p1 as TP(p 0 ,No) and
TP(p l 5 Ni), respectively, we can deduce from these relations that
342 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.14 Step 2 of the construction of a Gregory patchwork yields a smooth


G surface that is Gl at the vertices of the triangles: the resulting surface is repre-
sented "with" (A) and "without" (B) its associated Control-Net.

Poi \ must be located on the plane TP(p0, NO)


P02 J

Pio \ must be located on the plane TP(p 1 ,Ni)


Pl2 J

For these constraints to be respected, it is proposed to proceed as follows:


For any node a\ G fii:
determine the unit normal vector N(ai) of the average plane of its ad-
jacent nodes {(3i 7V(o:i)}, and
for each node 0i e N(a\), add a DSI constraint to C(f> specifying that
<p(/3i) must lie in the plane TP(ip(cti), N(ai)).

Run the DSI algorithm on .M3(Q, TV, </?, C^} to determine the location of
all the free nodes belonging to (Q i7i), while taking into account the
newly inserted constraints. Due to the fact that the DSI constraints are
honored only in a least square sense, for any node OL\ G li, it should
be noted that the updated locations of the nodes {(3\ E N(a\}} do not
necessarily respect the constraints perfectly:
V?(/3i) must be located in the plane TP(<^(o:i),N(ai))
To avoid possible small errors, it is proposed to project each of these
nodes (p(fl\) onto their associated plane TP(<>(ai),N(ai)).
The set of nodes a% G 0 are now at their definitive location and can be
added as DSI Control-Nodes in the list Cv so that the current set of free
nodes becomes 0^-
Figure (7.14) shows the intermediate result arising from step 2 described
above: the resulting surface is clearly G1 continuous at the vertices, but is
still G continuous along the common edges shared by adjacent triangles.
7.3. GREGORY Gl PATCHWORKk 343

Step 3: Determining the coefficients bi and Q


So far, the constraints (7.9) specifying that G^ = 0 have not been taken into
account, so this is the goal of steps 3 and 4. Let us consider an edge E(p0, p1)
shared by two triangles T(p 0 ,p 1 ,p 2 ) and T(p 0 ,p 1 ,p 2 ), and let N0 and NI
be the unit normal vectors computed at step 2 at nodes a e fii and a\ e QI
corresponding to p0 and p^
If harmonic weightings for the {v(a,(3}} are used in the DSI algorithm,
then that algorithm will tend to spread the points p^ around each vertex p^
uniformly, implying that

Moreover, according to step 2, the unit vectors NO and NI have been built in
such a way that

and this implies that

It can be deduced from these relations that the constraints GI = 0 and


GS = 0 attached to the edge E(p0,pl') will be honored if bo, bi, CQ, and c\
are chosen as follows:6

Due to the fact that DSI tends to distribute the node p^- regularly around the
vertices p^ of the triangles, it can be observed that 60 and b\ are, in general,
such that

These coefficients depend on the edge E(p0, p x ), which leads to the following
implementation of step 3 of the proposed algorithm:
6
For example, the value bo is obtained in this way:
344 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

For each edge E(p0,p1):


determine the two nodes a? E Q\ and a\ G fii corresponding to 0 and
p
p l 5 respectively, and
- compute the coefficients bo (a?, ai), &i(a?,ai), co(ai,ai), andci(a?,ai).

Step 4: Determining the nodes q^


First, observe that the three following vectors Xi, X2, and X3 depend solely
on nodes and coefficients (6 J 5 c^) that have been determined and fixed during
the previous steps of the proposed algorithm:

By the end of step 3 above, the constraints GI = 0 and 65 = 0 are perfectly


honored, leaving the following three last constraints to be accounted for:

This system of three vectorial equations can be turned into a matrix equation
(^234) to isolate the three last unknown vectors of our problem:

As has already been pointed out, the coefficients 60 and 61 are generally
different and the rank of the 3 x 4 matrix above is 3. If one of the vectors
to be determined, say, q01, is already known, then equation ((^234) can be
rewritten as follows:

Assuming that, in actual fact, 60 7^ &i> the 3 x 3 matrix above can be inverted
to obtain the following (Q^) equation which then allows the remaining vec-
tors q01, q10, and q01 to be determined:
7.3. GREGORY Gl PATCHWORK 345

Figure 7.15 Final result for the Gregory patchwork "with" (A) and "without"
(B) the associated Control-Net after applying step 4. The resulting surface is now
G1 everywhere.

This suggests the following step 4 for the algorithm to determine the location
of the nodes a G f^ that correspond to the last Gregory Control-Points q01,
q01, q10, and q01 to be determined:

For any node a G f^, install a DSI constraint induced by equation


(^234)-

Run the DSI algorithm. This yields a smooth approximation of the


location of the nodes a O^. However, due to the fact that equation
(^234) can be taken into account only in a least square sense by the DSI
algorithm, it is necessary to apply the following correcting phase:

For each edge E ( p Q ^ p 1 ) :

determine the four nodes corresponding to q01, q01, q10, and q01, re-
spectively, and
update the location of q01, q10, and q10 according to equation (G^)-

figure (7.15) shows the final result obtained after step 4 described above: this
result is clearly a G1 smooth surface.

7.3.3 DSI constraints


This section presents the implementation details as to the DSI constraints
used at steps 2 and 4 of the algorithm proposed above:

Step 2: Turning <p(ay) e TP(p,N) into a DSI constraint


As shown in figure (7.12), consider a node ^(c^j) = p^ located on an edge
'(p 0 ,p 1 ), and let p be the vertex, p0 or p l 5 directly linked to </?(Q^). This
346 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

vertex p and its associated normal vector N define a pseudo-tangent plane


TP(p,N) on which <p(otij) must be located:
y>(a.ij} located on TP(p,N)
This condition is equivalent to the following linear equation:

This condition can be turned into a DSI (cross) constraint c = c(o!ij), as


denned by

Define 9c((p,aij) as follows:

When added to the set of constraints C^ of the discrete model A / f 3 (0, N, (p, C^),
the above DSI constraint induces terms 7c ( a ij) and r^(a^) in the DSI equa-
tion such that

Step 4: Turning 234 into DSI constraints


Let us consider the constraint 234 = G234(po,Pi) attached to the edge
E(p 0 ,p 1 ) of the Gregory network and let ^(p 0 ) Pi) be the associated sub-
set of fJ defined as follows (see figure (7.12)):

Using these notations, the matrix equation C?234(po,Pi), as defined by equa-


tions (7.10), becomes a system of constraints to be respected by (p:
7.3. GREGORY G1 PATCHWORK 347

Noting the components of the 3D vectors (p(ot) and Xj as {(pv(a) : v


(x,y,z)} and {XJ : v 6 ( x , y , z ) } , respectively, the system (7.13) can be
turned into three sets of DSI constraints {c^ c^^c^} that depend on the edge
(P 0 ;Pl)

Let us define 0^((p) as follows for all v e {x, y, z}:

0r(*0 = l - v l / ( t t o i ) + 6o-V I '(aoi) - X?


8%(<f>-) = l-^(dSi) + ^i-^Ki) + l-^O^ + oo-v^Ko) - X
03^) = l.^(c^0)+6i-^Ko) - X

When added to the set of constraints C^ of the discrete model Ai 3 (O, TV, </?, C^,),
the above three sets of DSI constraints induce the following aggregated terms
7c (Q) and TC(Q;) in the DSI equation:

, -* v J ^W = 2
(a = ctoi) =^> <
\ H(a) = {0r(>)+02(0 - 2-^(^0}

r <(a) = (6 0 ) 2 + (6i) 2
(a = aS1) = <^ r - (a) = 6 0 . { ^ ( ^ ) - fto-^aSi)}
I + 61-{^M - 61 -^Ki)}
348 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure (7.1) gives an example of a triangulated surface smoothly interpolated


by a Gregory patchwork.

7.3.4 Additional DSI constraints


In the previous section, a set of DSI constraints was presented that must
be used for defining the location of the nodes of the Gregory Control-Net of
all the triangles of the triangulated surface to be modeled. In addition to
these mandatory constraints, it is possible to account for optional additional
constraints.
In the previous section, a set of mandatory DSI constraints was presented
for denning the location of the Gregory Control-Net nodes of all the triangles
belonging to the triangulated surface to be modeled. In addition to these
mandatory constraints, it is also possible to account for optional additional
constraints, as is the subsequent example.

Interpolating a data point


Consider a triangle T(p 0 ,p 1 ,p 2 ) belonging to the triangulated surface to be
modeled. This paragraph addresses the problem of fitting the associated Gre-
gory patch in such a way that it interpolates a given data point p.
To simplify the presentation of a solution based on DSI, for each vertex
{pi : i = 0,1,2} of the triangle T(p 0 ,p 1 ,p 2 ), a subset O i (p 0 ,p 1 ,p 2 ) com-
posed of five nodes of O is defined as follows (see figure (7.12)):

Moreover, for simplicity's sake, the following notations will be used:


the barycentric coordinates (w,w, v) relative to the vertices p0, p x , and p2 of
T(p 0 ,p 1; p 2 ) are renamed (uo,Ui,U2):

the indices of the nodes a G Qj(p 0 ,p 1 ,p 2 ) and the coordinates Ui are num-
bered modulo 3:
7.3. GREGORY Gl PATCHWORK 349

Using these symmetrical notations, equation x(w, v) = S(UQ,U 1,112) of the


Gregory patch can be written as a function of (f>:

Let c be an index function of the following parameters

and let {^4c(a)} be the fifteen associated coefficients defined as follows:

With these notations, the Gregory patch equation can be written in a very
concise form:

Let us now consider the problem of constraining the Gregory patch to honor
the given data point p in such a way that

where (UQ, wi, 1^2) are given barycentric coordinates. In practice, if the linear
interpolation of the triangle T T (p 0 ,p 1 ,p 2 ) is close to the data point p, then
the barycentric coordinates of the projection of p on the plane corresponding
to this linear interpolation can be chosen for (UQ, 11,1,112)
The above constraint (7.14) can be turned into three independent DSI
constraints associated with the index c such that
350 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.16 An example of smooth triangulated surface obtained by applying


DSI to a recursive subdivision of the initial linear triangulated surface represented
in figure (6.1). (A) Initial mesh, (B) result after one subdivision, (C) result after
two subdivisions, and (D) limit surface after convergence (fiat shading).

Let us define 0"((p] as follows:

When added to the set of constraints Cv of the discrete model A^ 3 (O, JV, </?, C v ),
the above DSI constraint induces terms 7^ (CK) and r^(a) in the DSI equation
such that

7.4 Recursive subdivisions


Up to now, piecewise algebraic representations have been proposed for build-
ing a smooth triangulated surface. This section proposes a very different
approach, where a smooth surface is obtained as the limit of a series of piece-
wise linear triangulated surfaces generated by recursive subdivisions of the
initial surface's triangles (see figure (7.16)).

7.4.1 Introduction
Consider an open linear triangulated surface T(S), and let Q be the set of
its vertices. According to section (6.5), it is always possible to find at least
one global parameterization u = (w 1 , it2) of T(S) in 1R defined by its values
7.4. RECURSIVE SUBDIVISIONS 351

(u(a) : a f2} on 0, and each rectilinear flat triangle T of T(S) has an image
noted as DT in the parametric space IR2:

The global parameterization u is assumed to be linearly interpolated on each


triangle of T(S] from its values at the vertices, which guarantees that
for each triangle T of T(S), the domain DT is itself a rectilinear triangle in
the parametric domain, and
the set D = T(D} as defined by

is a flat triangulated surface in the parametric domain corresponding to the


image of T(<S):

In the following sections, a new method, designed to approximate a C2 para-


metric surface based on such a parameterization and interpolating the vertices
of T(S), is proposed.

Family H 2 (D,uO,0)
Let </> be a given discrete function denned by its values on Q:

By definition, H2(D, u|0,0) denotes the family of all the functions (p defined
on D and such that7

where J((f] is the functional8 defined as follows:

Using the family H 2 (-D,u|0, 0), it is straightforward to build a smooth C2


parametric surface interpolating the vertices (x(o;) : a G 7} of T(S). It
suffices to choose the components x x (a), xy(a), and xz(a) of the vector x(u)
7
The C2 continuity of ip is assumed to be achieved in the distribution sense (see [194]).
8
The symbol A</?(u) represents the Laplacian of y(u), as defined by
352 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

corresponding to the parametric representation of the surface to be modeled


as follows:

It can be checked that the C2 continuity of the components of x(u) implies


the G2 continuity of the resulting surface.
The following discussion will show that the interpolation so denned can be
approximated in a discrete way thanks to an algorithm based on DSI coupled
with a recursive subdivision of the initial triangles of T(S}.

Remark
It can easily be shown that 7i2(D, u|fi, 0) is not empty. Consider, for example,
the family of functions {</?[]} defined as follows

where the radial functions {ip[a,n](r}} are


assumed to be denned by

If, for each a E O, R(a) is a positive parameter chosen in such a way as to


o
represent the radius of an open 2-ball BR(a)(u(a)) (see page 29) centered on
u(a) and fully contained in the Voronoi region (see page 99) of u(a), then
</?[n], as defined by equation (7.18), belongs to the family 7i 2 (D,ufJ,0) for
any integer n > 1. Moreover, it should be noted that each function (p^ so
denned is Cn+l continuous.

7.4.2 Notations related to T(D) triangles


This section presents some notations and geometric results that will be used in
the next section for computing an approximation of A(>(u) based on a linear
approximation of (p on each triangle of T(D}.

Notations
For reasons of conciseness, in the rest of this chapter, any triangle of T(D)
having u(a), u(ai), and 11(0:2) for vertices is noted as DT(&, 01,0:2) or, more
simply, as DT'-

Moreover, the following notations are used:


|-Dr| is the area of DT(OL, ai, 0:2).
7.4. RECURSIVE SUBDIVISIONS 353

Figure 7.17 Construction of an element of surface D(oi) surrounding the node


a of a flat triangulated surface D = T(D) in the case where ct does not belong to
the boundary.

(0:1,0:2) is the edge {u(ai), 11(0:2)} of DT(Q:,Q:I, 0:2)-


D(a] is the set of triangles -Dr(o:, 01, 0:2) sharing the node a e f2.
D(a,0) is the set of triangles DT(OC, /3,/3*) sharing the edge E(a,0).
N(a) and N(a) are the neighborhood and the orbit of a, respectively (see
definitions (1.2), and (1.3)).
Each triangle DT T(D] is implicitly associated with local barycentric pa-
rameterization (M, v), introduced on page 251. The transformation from these
local coordinates (u,v) to the global coordinates u (ul,u2) is denned by

where u(a) = (ul(a), u2(a}) are the components of the global coordinates at
vertex a, while u and v are such that

According to equation (6.11), the metric tensor G associated with this local
parametric coordinate system is such that
354 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

The determinant of G is noted as g,

and it may be observed that the area DT(&I c*i, c^)! of the triangle DT((*, cti, 0:2)
is such that

Unit normal vector NT (a)


The height h of the triangle DT(CK, oti, 0:2) from the vertex u(a) onto the edge
^(01,0:2) is such that

As shown in figure (7.17), NT (a) represents the unit vector located in the
plane of DT(OL, a\, 0.2) and such that
NT(CK) is orthogonal to the edge E(a\,a.<2) of DT(G., 0:1, 012), and
NT(CK) is oriented outward relative to DT(&, cti, 0:2)-
It should be observed that /i and NT (a) are denned by the following equa-
tions:
NT(a) = N r ( a ) - U + N r ( a ) - V and h = NT(a) U = N T ( a ) - V
Multiplying (scalar product) the first equation above by U and then by V,
yields the two following equations

where N^(a) and N^(CK) represent the (contravariant) components of NT (a)


relative to the frame (U, V). It can be observed that

and this implies that equation (7.20) can be solved:

Taking into account equation (7.19), it can be concluded that the (contravari-
ant) components of NT (a) relative to the frame (U, V) are such that
7.4. RECURSIVE SUBDIVISIONS 355

Let W = (V U) be the vector corresponding to the edge of DT(a, 01, 02)


opposite to the vertex a and let (a, 01,02) be the angles of Z>r(o, 01,02)
corresponding to the vertices (0,0:1,0:2), respectively. It can be observed
that

^ = 2 |D T (a,ai,a 2 )| = ||U|| - ||W|| sin^)! = ||V|| ||W|| |sin(d 2 )| (7.23)


Taking into account equations (7.22), and (7.23) makes it possible to write
equation (7.21) in the following form:

Observing that the angles 01 and 02 always belong to [0, TT] so that their sine
is always positive, it can be concluded that

Non-unit normal vector nr(o)


For each triangle DT(OL, 01, 02) of T(D], it is useful to introduce the non-unit
vector nT(a) colinear to N^(o) and proportional to the length of its edge
"(01,02):

Using equation (7.19), it can be deduced that the (contravariant) components


(n^(o), n^(o)) of this vector relative to the (U, V) frame attached to T are
such that

If r(ai|T(o, 01,02)) represents the cotangent in parameter space of the


angle o^ at vertex a.i of the triangle T(o, 01, 02)

then the components (n^o:), n^(o)} are such that

7.4.3 Approximating Ay?(u) on D(a)


In this section, it is proposed to approximate A(^(u(o)) as the average value
of A(/?(u) on D(a):
356 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

For this purpose, first observe that

According to the Green-Gauss theorem9 [14], the flow <j>(a\ip) of gradt/? through
the boundary dD(a) of D(a) verifies the following equation

where N is the unit vector of JR2, orthogonal to dD(ot) and oriented positively
outward relative to D(a). It is proposed to proceed in two steps to evaluate
this integral:
first, evaluate the flow 4>(a, QI, Q.-2\(p) through the boundary {dD(a)r\DT(a, ai, 0:2)}
of each triangle DT(OL, ot\, 0:2) of -D(a), and
next, add up these flows </>(, ai, a^lv 7 ) for all the triangles of D(a) to obtain
0(a|>)>
In practice, depending on the position of a relative to the boundary of D(a),
two cases need to be considered.

Definition and evaluation of the flow (f)(a,ai,a.2\(p)


Let (f>(a,ai,a2\<p) be the flow of grad</? exiting Z>r(a:,ai, 0:2) through the
edge E (01,02) as defined by the following equation where N T (a) is the
unit normal vector orthogonal to E(a\, 0.2) oriented positively outward from
DT(a,ai,a2):

It can be observed that, due to the linear variation of (p on DT(G., ot\, 0:2) and
according to equation (6.12), the gradient grad</? is constant on DT(OL, i, 02}
and is such that

Taking into account equations (5.17), and (7.24), it can be deduced that the
scalar product of grad<p with the unit normal vector NT (a:) is such that

9
Let S be a piece of surface bounded by a closed curve dS having a unit normal vector
N oriented outward relative to S. For any 2D field of vectors W, the 2D version of the
Green-Gauss theorem states that the following relationship is true:
7.4. RECURSIVE SUBDIVISIONS 357

According to equation (7.30), the flow 0(a,a.i,a.2\(p) can then be computed


thanks to the following curvilinear integral on the edge E(oti,a2)'.

From equations (7.25), (7.31), and (7.32), it can easily be concluded that

(f>(a,ai,a2 <f>) = r(d 2 |T)-</?(ai) + r(di|T)-^(a 2 ) - {r(di|T) + r(a 2 |T)}-^(a)

where the coefficients {r(ai|T), r(a-2\T}} are those denned by equation (7.27).

o
Evaluating the flow <f)(a\(p): The case where a D
o
When a G D, according to equations (7.29), and (7.30), it can be observed
that

Taking into account equations (7.33), and (7.34), (j)(a\(p) can be written as

which makes it possible to conclude that


358 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Evaluating the flow (j>(a\(p}: The case where u(a) 3D


When a e dD, according to equations (7.29), and (7.30), it can be observed
that

where DT~ = DT(OL, a~, /3~) and DT+ = DT(OL, a+,(3+') are the two triangles
sharing the node a and having their edges E(a, a") and E(a, a+) located on
the boundary dD (see figure (7.18)).
Taking into account equations (7.33), and (7.35), it can be deduced that

This leads to the conclusion that the flux 0(a|</?) can be expressed as follows

where the "boundary correction" coefficients {B@(a)} are defined as follows:

Note that the above definition of the coefficients w(a,0) encompasses both
o
the case where u(a) e dD and the case where u(a) ).
7.4 RECURSIVE SUBDIVISIONS 359

Figure 7.18 Construction of an element of surface D(o) surrounding the node


a of a flat triangulated surface D = T(D) in the case where a belongs to the
boundary.

Conclusion
According to equations (7.28), and (7.29), it can be concluded that

where the weighting coefficients w(a,/3) are those defined by equation (7.36)
using the coefficients riT(f3} and Bf3(a), as defined by equations (7.27), and
(7.37), respectively:

As a consequence, as soon as D(a, f3}\ is small enough, A</?(u) can be approx-


imated as follows at point u = u(a):

7.4.44 Convergence toward a function of H2(D,u\l, 0


This section shows how equation (7.38), established above, can be used to
characterize the close relationship between the notions of Discrete Smooth
360 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.19 Regular recursive subdivision of a triangle.

Interpolation and the functions of the family H2(D, u|Q, 0).

Recursive subdivision algorithm


Let DT(OO, CKI, 02) be a triangle of T(D), and let OQ, o^ and o2 be the points
such that
a'0 midpoint of the edge J5(o:i, 0:2)
a'i = midpoint of the edge '(0:2,0:0)
a2 = midpoint of the edge E(ao,ai)
By definition and as suggested in figure (7.19), the triangle DT(OLQ, 0:1,0:2)
is said to be regularly split if it is decomposed into four adjacent triangles
defined as follows:

Consider now the following algorithm based on a recursive splitting of the


triangles of T(D}:
// Recursive subdivision algorithm
T(D[0]) < T(D]
ft[0] = set of vertices of T(D]
n < 0
while ( more iterations are needed ) {
1) T(D [n+1] ) < split regularly each triangle of T(D[n])
2) Q [n+1] = set of vertices of T(>[n+1])
3) n < (n + 1)
4) set <f[n] (a) = <j>(a) V a 6 ft[0]
[0]
5) fix all the nodes of ft as DSI Control-Nodes
6) apply DSI to p[n]
} II end: while
At each step of this recursive process, the existence and uniqueness of the DSI
solution guarantees that each solution (f>^ exists and is unique.
7.4. RECURSIVE SUBDIVISIONS 361

Figure 7.20 Construction of an element of surface A>(a) surrounding the node


a of a flat triangulated surface D = T(D).

This raises the following fundamental question related to the series of


functions <^ n J(u) defined on D and interpolating linearly the values of y?W on
each triangle D^:
How do we choose the weighting coefficients {v(a,(3}} used to define
the roughness in the DSI method above to be sure that
the limit of (p^ exists, and
this limit is identical to a function <p* belonging to H 2 (D, u|fi, 0) ?
The next sections aim to answer this question.

Convergence of the global roughness R(<pW) toward J((p)

For each triangle D[f (a, ttl, a 2 ) of T(>M), let D (a, a x , a 2 |a) be the quad-
rangle covering one-third of D%] (a, ai,a2) and having its vertices (q.a(a, QI 2)
z = 0,3} defined as follows (see figure (7.20)):

Let AL>N( a ) be the subset of D^(a), as defined by


362 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

It can be observed that

As a consequence and according to equations (7.38), (7.39), and (7.40), it can


be seen that Ac/9(11(0:)) is such that

Similarly and due to equations (7.41), the functional J((p] defined by equation
(7.17) can be obtained as the following limit:

Consequently, J(tp) can also be written as follows:

Let us now assume that the DSI method used in the recursive subdivision
algorithm presented above is based on the following weightings:

The associated local roughness R((p^\a] denned by equation (4.7) is

According to equation (4.8), the global roughness R((p^) whose minimum


corresponds to the DSI solution for (f>^ is defined by

Assuming that the stiffness function //(a) used in the definition of the global
roughness is constant and equal to one-third everywhere on fi^l, and tak-
ing into account the conditions (7.16)-2 and (7.16)-3, it can be checked that
R((?W) is such that

Consequently, when at the limit, whether minimizing J((p) or minimizing the


global roughness R((f>^} is equivalent.
7.4. RECURSIVE SUBDIVISIONS 363

Convergence of the recursive subdivision algorithm


To come back to the fundamental question raised on page 361 and related
to the convergence of the series (p^ generated by the recursive subdivision
algorithm, let us consider the function (p\-n\u) defined on D and interpolating
linearly the values of (p^ on each triangle D^ :
Due to the existence and uniqueness of the solution of the DSI equation, <p^
exists and is unique for any integer n. The formal proof of the convergence
of the series of functions {<^'n'} is still an open problem. It can be observed
experimentally, however, that </^n' always converges toward a function <p*
denned on D:

Practically speaking, it seems reasonable to conjecture that this convergence


is actually true.
If it is assumed that the limit (7.45) actually exists, then, according to equa-
tion (7.44), it can be deduced that (p* belongs to H2(D, u|fi, </>):

As a consequence, if the limit (f>* exists, then if* is a C2 function10 interpo-


lating the values (0(a)} attached to the set f2 of the vertices of T(D}.

Recursive construction of the geometry of a C2 surface


The recursive subdivision algorithm based on DSI presented above can easily
be used to build a smooth C2 surface interpolating the vertices of a linear
triangulated surface embedded, for example, in 3D space. For this purpose and
as already mentioned, at each step n of the recursive process this algorithm has
merely to be applied respectively and independently to the three components
xx(a), x y (a), andx^a) of the vectors {x(o:) : a 6 7^} defining the geometry
of the surface to be modeled.
As shown in figure (7.16), this discrete approach is very efficient and can
reasonably compete with the parametric Gregory patchwork method pre-
sented in section (7.3) and illustrated in figure (7.1). Moreover, it should
be noted that the C2 continuity of a parametric surface implies its G2 con-
tinuity. As a consequence, at the limit, the recursive subdivision algorithm
presented above tends to generate a G2 surface.
A classic test for subdivision algorithms consists in generating a "mon-
key saddle" surface [229] corresponding to a blending surface that smoothly
connects six planes radiating in different directions. As can be seen in figure
(7.21), the surface generated using the above subdivision algorithm yields an
excellent result with no undulations.
10
More precisely, a distribution (see [194]).
364 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.21 Tie "monkey saddle" test case generates a blending surface that
smoothly connects six planes. (A) Initial mesh with small cubes representing (fixed)
Control-Nodes corresponding the six initial planes. (B) Result after applying DSI
to part (A). (C) Result after one subdivision. (D) Limit surface after convergence
(Gat shading).

7.4.5 Miscellaneous
On the origin of "harmonic" weightings {v(a,(3}}
If all the triangles DT(O., 0:1,0:2) surrounding the node a are equilateral, then
all the angles are equal to Tr/3 and this implies that the coefficients r(&i\T)
defined by equation (7.27) are all such that

Without loss of generality, it can be assumed that all the triangles have an
area equal to 4/3 so that equations (7.39), and (7.42) imply that the weighting
coefficients must be such that

where A(a,/3) represents the number of triangles sharing the edge E(a,0)
which can be only equal to 1 or 2. Two cases have to be considered:
7.4. RECURSIVE SUBDIVISIONS 365

Figure 7.22 Examples of neighborhoods N(a) when a is located on the boundary


of domain D.

If a is an internal vertex, then Bl3(a), is equal to zero, A(a,/3) is equal


to 2, and the coefficients {v(a,(3)} are identical to the harmonic weightings
introduced on page 149:

If a belongs to the boundary, then A(a,/3) is equal to 1 while Bl3(a) does


not vanish. In this case, as shown in figure (7.22), the actual value of v(a,/3)
depends on the number of a's neighbors. For example:
in the case of figure (7.22)-A:

in the case of figure (7.22)-B:


366 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

in the case of figure (7.22)-C:

in the case of figure (7.22)-D:

In the case where a belongs to the boundary, the "boundary correction"


B@(a) of the coefficients { v ( a , f i ) } can easily be understood. In this case, a
is not located at the center of AD (a). Consequently, it no longer makes sense
to minimize the discrepancy between (p{ot) and the average value of (f> on the
orbit N(a) of node a: most of the time, the weights of the neighboring nodes
not located on the boundary vanish. As a consequence, from the DSI point
of view, any point a belonging to the boundary of the surface is considered
more as a node on a curve rather than a node on a surface.
In practice, using such a boundary correction makes it possible to avoid
some artifacts that could otherwise arise on the boundary of <S when interpo-
lating (p with DSI.

Using parameterization for controlling anisotropy


The parameterization u = (u1, u2) associated with a surface is not unique. As
a consequence, one can envision denning this parameterization to capture a
priori information related to the structure of the variations of (p. In particular,
if (f> is known to be anisotropic along some curves drawn on the surface, then
it is wise to build a parameterization such that
one of the parametric directions, let's say u1, is aligned with the main direction
of anisotropy (see page 297), and
the gradients of u1 and u2 are chosen to be proportional to the magnitude of
the anisotropy in these two directions (see page 258).
Note that this approach enables curvilinear directions of anisotropy to be
taken into account.

Exponential map weightings {v(a, (3)}


Most of the time, one would like to avoid the burden of building a param-
eterization of the surface T(S) holding the property </? to be modeled. In
this case, assume that the image u(A<S(a)) of any subset A<5(o:) of S sur-
rounding a node a is approximately equal to the projection of AtS(o;) on the
tangent plane at this location. The cotangent of the angles 9(a) surrounding
each node a can then be evaluated in this tangent plane, and the weightings
{ v ( a , f l ) } can be computed without actually building a parameterization of
the surface. It should be noted that such an approach can be used even if the
7.4. RECURSIVE SUBDIVISIONS 367

Figure 7.23 Evaluation of the DSI weighting coefficient v(a,/3) in the case
where a is an internal node: v(a,0) {cotg(0+(a,/3) + cotg(0~ (a, /3)}/-\/\D(a)\.

surface to be modeled is closed: consequently, the recursive subdivision algo-


rithm presented above for open surfaces can also be applied to the modeling
of smooth closed surfaces.
For the sake of simplicity and to avoid some degenerated cases that can
arise when the tangent plane is not correctly estimated, the angles 9(a) sur-
rounding the node a on the surface T(S] can also be computed directly in the
3D space. However, in the case of an internal node a, generally these angles
do not add up to 27T, and the actual angles 9(a) in the parametric domain
have to be evaluated as follows, where {6^(a)} represents the set of all the
angles sharing the vertex a in the 3D embedding space:

More generally, 0(a) can be evaluated as follows

where /3(a) is assumed to be adjusted to the shape of the boundary at node


a when a is a boundary node.
Assuming that all the angles 9(ot) surrounding a node a are equal, it is
even possible to simplify the determination of these angles: in this case, it
suffices to assume that these angles are defined by
368 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES

Figure 7.24 Modeling variable sharpness creases. (A) Initial mesh representing
a cube. (B) Limit surface without crease. (C, D) The edges of the top and bottom
faces have been set as increasing sharp creases. (E) The edges of the top and bottom
faces have been set as infinitely sharp creases. (F) Limit surface obtained for another
set of edges tagged as infinitely sharp creases.

where |AT0(o;)| is the number of nodes surrounding the node a.


Whatever the technique used for determining the angles of the triangles
DT((X, ai, a<2) in the parametric domain, the DSI weighting coefficients v(a, /3)
can then easily be determined. For example, as suggested in figure (7.23), if
a is an internal node, then

In the above equation, $~(a,/3) and $ + (a,/3) represent the angles opposite
to the edge E(a,(3], while |-D(a;)| represents the sum of the area of all the
triangles surrounding the node a.
In differential geometry [61], the local mapping of a surface on its tangent
plane is called "exponential map." For this reason, it is proposed to call
"exponential map weightings" the coefficients {v(a,/3}} defined by equation
(7.47).

Modeling creases of variable sharpness


As illustrated in figure (7.24), it is easy to model creases of variable sharpness
by modulating the {v(a, (3)} coefficients used to define the local DSI roughness
at node a (see equations (4.7), and (7.43)). A crease is defined to be a set of
vertices C connected by a set of edges of the initial triangulation, defining a
polygonal curve on the surface to be modeled. Each crease is provided with
an associated nonnegative coefficient called the "sharpness factor," and the
new coefficients {^(a,/?)} to be applied to a vertex a when introducing a
7.5. CONCLUSIONS 369

crease C have then to be defined as follows (see [132]):

7.5 Conclusions
In this chapter it has been demonstrated that, from a theoretical point of
view, it is possible to build a smooth G1 triangulated surface consisting of a
patchwork of parametric curvilinear Gregory triangles. Compared to linear
triangles (see section (6.1.2)), curvilinear triangles on average require nine
additional Control-Points. As can be imagined, the number of additional
Control-Points needed to ensure a G2 continuity would be considerably higher,
making the use of such an approach in real applications unreasonable.
An interesting alternative to these parametric models of curvilinear trian-
gulated surfaces consists in subdividing recursively linear triangles into smaller
triangles whose geometry is computed to approximate a smooth G2 solution.
As shown in figure (7.16), such an approach is very efficient and can reasonably
compete with parametric methods. Moreover, the rich set of DSI constraints
described in chapter 6 is still applicable and is important to consider from a
practical point of view.
This page intentionally left blank
Chapter

8
Elements of
Structural Geology
Until now in this book, surfaces and volumes have been considered from a
static point of view without taking into account the way they were generated.
As a consequence, most of the modeling techniques presented in the previous
chapters have a wide scope of applications that goes far beyond the limited
domain of the geosciences and that potentially can be applied to the modeling
of any natural object. In geology, faults and horizons have evolved differently
through geological time: this chapter will show that these different cinematic
behaviors have a strong influence on their shape and properties.

8.1 Geometry of faults and horizons


8.1.1 Modeling faults
In the modeling process of the subsurface, horizons and faults are both mod-
eled as triangulated surfaces. However, it is easy to see that any one surface
does not necessarily represent a real fault surface because the two fault blocks
on both sides of the fault surface have to slide one on the other while keeping
contact. Assuming that fault blocks are rigid and remain in contact during
the faulting process implies that the fault surface must necessarily belong to
a specific kind of surface [128, 216]. For example, planes, spheres, cylinders
and surfaces of revolution are admissible examples of fault surfaces, while an
egg-box surface is not. More generally, even though the pair of fault blocks
adjacent to a fault surface does not remain rigid during the faulting process,
it is easy to understand that the geometry of the associated fault must obey

371
372 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.1 Displacement of fault blocks along a fault surface F: the fault
surface is tangent everywhere to a field of unit fault-throw directions (t(x) : x f}
attached to F and defining the local direction of the displacement. The fault-throw
directions and the associated fault-striae are drawn in white in part (A). The schema
in part (B) shows that, in the case of a ruled surface, t(x) is parallel to the direction
of minimum absolute normal curvature.

certain laws to allow the adjacent fault blocks to slide on each other.
This section begins by presenting an intrinsic property of faults and then
shows how this characterization can be used to build a DSI constraint specific
to faults. For the sake of simplicity, the fault T to be modeled is assumed to
be approximated by a triangulated surface T^) associated with a discrete
model A^3(ri, JV, x,C x ), where (x(a) : a G 17} corresponds to the locations of
the vertices of T(J7) in the 3D space.

Fault characterization
As suggested in figure (8.1), let us assume that the two fault blocks on both
sides of a fault J- have slid along F. The direction of such a relative displace-
ment can be modeled as a field of unit fault-throw directions t(x) defined at
each point x on J-. Geologists can sometimes observe curves, called "fault-
striae," engraved on F and tangential everywhere to these throw vectors (see
figure (8.1)-A).
In the specific case where F is a ruled surface with undulations similar to
those represented in figure (8.1)-B, it is clear that these undulations directly
control the fault-throw directions t(x). More precisely, in this particular case,
at any location x G J- where the undulations are sufficient for inducing prin-
cipal curvatures1 ki (x) and k% (x) such that

it can be observed that t(x) must be constant and parallel to the direction
1
See page 213: it is assumed that |fci(x)| < |fc2(x)|.
8.1. GEOMETRY OF FAULTS AND HORIZONS 373

tram (x) f minimum absolute normal curvature2 as defined by

In the general case where f is not necessarily a ruled surface, let us consider
the subset F(X) of T denned as a function of the threshold A > 0 as follows:

To allow adjacent fault blocks separated by F to slide on each other, it can


reasonably be conjectured that, at each location x 6 ^(A), the fault-throw
direction t(x) must be parallel to the direction of the minimum absolute
normal curvature t min (x) as defined by equation (8.2). Accordingly, at any
location x G .F(A), it is proposed to define the notion of fault-throw direction
as follows:

In the following, to remove the ambiguity introduced by the multiplying factor


(1), t(x) is assumed to be chosen in such a way that its z component t z (x)
is positive:

Let N(x) be the unit normal vector to T at location x J-. It can be observed
that the projection projp(v) of the vertical unit vector v = [0,0,1]* on the
tangent plane of f at location x is such that

In practice, fault-throw directions are seldom horizontal. Using a second


threshold 9 G [0, Tr/2], this observation leads us to introduce the subset ,F(A, 0)
of .F, defined as follows:

In other words, fault-throw directions t(x) that make an angle greater than
9 with projf(v} are excluded from ^-"(A, 0).

Filtering the field of fault-throw directions


In practice, geological faults are modeled from seismic data, which are known
to be of poor quality in the neighborhood of faults. As a consequence, the
geometry of faults is generally not very precise [127] and the field of the fault-
throw directions defined above must be filtered to reduce the influence of the
modeling errors. For this purpose, the following procedure is proposed:
Build a discrete model _M 3 (O,7V, t,C^) associated with the same nodes
as.M 3 (ft,Ar,x,Cx).
For each node a G 0:
2
It is assumed that ti(x) corresponds to fci(x) while t2(x) corresponds to /C2(x).
374 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.2 An example of computed fault-throw directions and fault-striae


on a given fault J-: (A) Initial set J-(X, 9} of directions of minimum curvature.
(B) Filtered fault-throw directions. (C) Fault-throw direction extracted from the
earthquake focal mechanism. (D) Computed fault-striae. In this example, theta
was taken equal to Tr/2.

use the algorithm described on page 228 for estimating the principal cur-
vatures /ci(x(a)) and fc2(x(a)) and their associated directions ti(x(a))
and t2(x(a));
if x(a) JF(A, 0), then add a fuzzy Control-Node constraint c = C(OL) to
C- specifying that t(a) should be equal to the vector denned by equations
(8.2), (8.4), and (8.5) with a certainty factor wc as defined by

In the above definition of wc, <p(\x ) is assumed to be a positive increasing


function of \x that vanishes for \x = 0.

Run DSI on Ai 3 (ft, TV, t, Ct)

The modulation of the certainty factor in function of the absolute difference


|fci(x(o:)) /c 2 (x(a))| allows consideration of the fact that, when ki(x.(o)) is
close to A/2(x(a)), the direction t(a) can no longer be considered as defining
the fault-throw direction.
In practice, it can be observed experimentally that this filtering algorithm
is very efficient and generally produces results consistent with geological ob-
servations as long as the fault model is not too far from its correct geometry.
8.1. GEOMETRY OF FAULTS AND HORIZONS 375

Figure (8.2) shows an example of fault-throw directions filtered using this


method: the surface represented in this figure corresponds to the "North-
Ridge" fault in Los Angeles, and the model built with gOcad was provided
by the Structural Geology group in Princeton. A strong similarity between
figure (8.2)-B showing the computed fault-throw directions and figure (8.2)-C
corresponding to a direct determination of these vectors by structural geolo-
gists (courtesy of S. Carena) using the earthquakes focal mechanism3 can be
observed.
Note that the vectors displayed in figure (8.2)-A look erratic compared to
the result of their interpolation displayed in figure (8.2)-B. This smoothing
effect is mainly due to the fact that the inital vectors in figure (8.2)-A are
weighted by certainty factors wc as defined by equation (8.7).

Practical remarks
Computed fault-throw directions cannot be used in a blind way without con-
sideration of the context, and the geologist has to decide whether these direc-
tions are relevant; for example:
Due to measurement errors, the fault model F may be too far from its cor-
rect geometry and then produce an inconsistent set of fault-throw directions
?(\,Q\
If the fault is induced by a rotation of faults blocks, then the fault is a spherical
surface. In such a case, directions of curvatures are undetermined and the
fault-throw directions cannot be deduced from the analysis of these curvatures.
When the fault-throw directions cannot be estimated, it is always possi-
ble for the geologist to choose interactively a small set of unit vectors
(t(ai), 1(0:2)5 } tangent to the fault F and to substitute this set to J-(\, 9}
in the filtering procedure described above with a high value for the associated
certainty factors.
It is important to note that fault-throw directions can sometimes be de-
duced from the observation of the fault network. For example, if a fault inter-
sects another fault, it is wise to install a constraint specifying that, along this
intersection, the fault-throw direction must be aligned with the intersection.

Computed fault-throw striae


For each fault F, the fault-throw striae can be represented as a family of
contour lines of a function (p defined on T. To achieve this, <p must be chosen
so that its gradient remains tangential to the fault-throw direction t(x) at
any point x of the fault. The following procedure is proposed:
Build a discrete model .A/11 (17, JV, (p,Cy) associated with the same nodes as
.M 3 (ft,JV,x,C x ).
Build an initial approximation of </? in such a way that its isovalues are ap-
proximately tangent to the field of fault-throw direction t(x) at any point x
of the fault. For example, one can proceed as follows:
3
The original source of the earthquakes focal mechanism is the Southern California
Earthquake Center: //www.scecdc.scec.org/ .
376 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.3 Improving the geometry of a fau7t surface: (A) initial surface and (B)
final surface honoring the filtered fault-throw directions displayed in figure (8.2)-B.

use a global parameterization (ul,u2) of the fault (see algorithm on


page 296) such that grad(w1) is approximately oriented according to
the average fault-throw direction, and then
initialize <p in such a way that (p = u2.
For each triangle T = T(x(ao),x(a:i),x(a2)) of T(F), determine an aver-
age fault-throw direction tr in the plane containing T and add to dp a DSI
constraint specifying that grader must be parallel to IT x NT (see page 259),
Run DSI on Ml (2, N, (p, Cv).
Figure (8.2)-D shows an example of fault striae computed according to the
algorithm proposed above.

Intrinsic DSI constraint for faults


As mentioned above, the data defining the geometry of a fault T are often
imprecise and, for this reason, the fault-throw directions must be filtered. As
a result of this filtering, the field of fault-throw directions (t(x) : x F} is no
longer tangential to the fault nor orthogonal to the unit normal vector N(o;)
at location x = x(a).
Consequently, the initial geometry of the fault T has to be modified slightly
to become tangential to the field of vectors t(x): the simplest way to achieve
this is to change the unit normal vector N(a?) slightly at each location x(a)
on F. Assuming that ||t(a) x N(o;) x t(a)|| is different from zero, it can be
observed that the vector N*(a) defined by

is the unit vector both orthogonal to t(a) and closest to N(o;). This observa-
tion suggests the following procedure for improving the shape of a triangulated
surface T(F] used to model a fault F:
Build a discrete model A4 3 (r2, TV, x, Cx) corresponding to the geometry
ofT(.F).
8.1. GEOMETRY OF FAULTS AND HORIZONS 377

For each node a fi, compute the vector N*(a) defined by (8.8) and
then

add a fuzzy Control-Normal-Vector DSI constraint c'(a) to Cx specifying


that T(J-} must be orthogonal to N*(a) at location x(a) (see page 265);
add a fuzzy Control-Straightline DSI constraint c"(oi) to Cx specifying
that a can move only on the straight line passing by the point x(a) and
parallel to the direction N*(a) (see page 264).

RunDSIonM 3 (ft,7V,x,Cx).
Figure (8.3) shows an example of how filtered fault-throw directions can be
used for improving the geometry of a fault surface T(^): after applying the
above algorithm, the normal vectors to T(F) tend to become consistent with
the computed fault striae.
It should be noted that a technique to align the minimum absolute normal
curvature directions with specified directions will be presented in the next sec-
tion. If need be, this technique can be combined with the procedure proposed
above.

8.1.2 Modeling horizons


In sedimentary geology, at the time of deposition, horizons are assumed to be
approximately horizontal and are thus approximately developable (see defi-
nition on page 221). Due to tectonic events occurring throughout geological
time, such horizons are deformed, and their shapes, as they can be observed
today, appear as folded and faulted versions of their initial horizontal devel-
opable shapes. If plastic deformations occurred during the tectonic events,
the resulting surface for a given horizon <S is no longer "strictly" developable.
However, in practice, folded horizons remain approximately developable and
their direction of minimum curvature is coincident with their (curvilinear)
axis. For example, if we consider the two surfaces represented in figures (8.4)-
A and (8.4)-B respectively and having similar boundaries, it can be observed
that the saddle shaped surface in figure (8.4)-A is far from being developable
while the anticline represented in figure (8.4)-B can be easily unfolded (devel-
oped) on a plane.
The "basic" DSI harmonic weighting coefficients { v ( a , f l } } introduced on
page 149 and used for modeling most of the surfaces of this book are generally
quite sufficient for interpolating the geometry of geological horizon. However,
as shown in this section, when the (curvilinear) axis of a fold is known, it is
possible to use anisotropic weighting coefficients {v(a,0}}, which take into
account such structural information.

Taking into account the axis of a fold


Consider a folded horizon <S approximated by a triangulated surface T(S)
represented by a discrete model ,M3(0, TV, x,C x )- Let us assume that
378 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.4 Tutorial example showing the DSI interpolation of two triangulated
surfaces (horizons) corresponding to an anticline whose boundaries, fixed as Con-
trol-Nodes, are similar. Part (A) corresponds to the result obtained with harmonic
weighting coefficients {v(a,(3)}, while part (B) corresponds to the result obtained
with the axial anisotropic weightings associated with a constant direction repre-
sented by a bold arrow.

a first approximation of the geometry {x(a) : a (E 0} of T(S} using the DSI


method based, for example, on the harmonic weighting coefficients {i>(a,/5)}
presented on page 149 has previously been obtained;
a field of unit vectors {t(a) : a e 17} approximately parallel to the axis of
the fold is assumed to be given.
To improve the geometry of T(<S), the following two-step algorithm is pro-
posed:
1. For each node a e 17 of the discrete model, compute new coefficients {v(a, /3)}
similar to the "axial anisotropic weightings" presented on page 151 and defined
as follows:

In this definition, e is assumed to be a given small positive real constant4


while cosine(a,/3 x, t) represents the cosine of the angle between the vector
(x(a) x(/3)) and the local direction t(a) of the fold axis at location x(a):

2. Everything else being equal, compute a new approximation of the geometry


(x(a) : a e 17} of the horizon using the DSI method based on the new
anisotropic weighting coefficients {v(a,(3)} defined above.
Let us try now to interpret the effect of the above algorithm and to show
why it tends to produce a developable surface whose direction of minimum
absolute normal curvature is approximately aligned with t(a) at each node
a G 0. For the sake of simplicity, consider the case where a node a has only
4
For example, one can choose e 0.1.
8.2. MODELING STRATIFIED MEDIA 379

four neighbors /3^, (3^ , ^, and /?Q~ whose locations after step 1 of the above
algorithm are assumed to be such that

Such an initial geometry will generate the following anisotropic weighting


coefficients {v(a,/3)} at step 1 of the above algorithm:

At step 2 of the above algorithm, using these anisotropc weightings and min-
imizing the DSI local roughness R(x\a) will tend to move the node a to the
center of gravity of its neighbors /?f and j3^. Consequently, the nodes a, /3f,
and J3^ tend to become aligned, and the normal curvature in the direction
t(ct) tends to vanish. In practice, it can be observed that the direction of
absolute minimum curvature tends to become aligned with t(o:); this implies
that the Gaussian curvature K at node a will also tend to vanish. As a con-
sequence, according to the property (5.58), the surface will tend to become
developable.

A tutorial example
Figures (8.4)-A and (8.4)-B show a tutorial example where a surface is con-
strained only by Control-Nodes located on its boundary. Using the DSI algo-
rithm based on the harmonic weightings {v(a,(3}} generates the surface (A).
If the axis of the fold is specified (bold arrow), then the cosine weightings gen-
erate the surface (B) whose shape is more acceptable than (A) for a geological
anticline.

8.2 Modeling stratified media


As suggested in figure (8.5), the exploration of sedimentary stratified struc-
tures in the subsurface is based on two sources of information:
the seismic data, which are used to observe and model the main horizons
bounding "macro layers";
the well-markers, which allow us to identify the presence of internal horizons
not actually "seen" on the seismic images and splitting the macro layers into
"micro layers."
Assuming that the top and bottom horizons5 of a macro layer are given, this
section addresses the problem of building the internal horizons corresponding
to a series of well-markers. For this purpose, a solution based on a "morphing"
technique (see [32, 121]) coupled with DSI is proposed.
5
The top and bottom horizons of a layer are also called the "hanging-wall" and "foot-
wall" of the layer, respectively.
380 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.5 Cross section of a "macro" layer bounded by two horizons SQ


and Si (bold lines) actually "seen"on the seismic images and containing a series of
internal horizons {Si} (white lines) identified by well-markers (white points) that
correspond to the intersection of the wells with these intermediary horizons. "Ghost"
well-markers that correspond to points of the well-paths not intersecting an internal
horizon are represented as black points.

8.2.1 Simple morphing


In computer science literature (e.g, see [121]), any continuous transformation
of a "source" object OQ into a "target" object O\ is called a "morphing"
or a "metamorphosis." For example, let us assume that the source object
OQ = T(So) is a triangulated surface whose geometry is represented by a
discrete model .M3(O, N, x 0 ,Cx 0 ) and which has to be transformed into a
given target surface6 Si. Such morphing requires building a vectorial function
m defined on Q such that

The vectorial function m so defined is called a "morphing" function and can


be represented by a discrete model A4 3 (fi, TV, m, Cm) based on the same graph
G(M,N) as the geometry of T(S0).
In practice, as suggested in figures (8.6) and (8.7), the morphing function
m is built as follows:
For each node at, e fJ belonging to the boundary of T(<So):
determine, on <Si, the point y(ctb) "geologically associated" with x(at,)
such that y(ctb) should be equal to (xo(ab) + m(o!6));
add to Cm a control-vector7 specifying that m(a&) should be equal to
(y(ab)-xo(orb)).
6
7
Note that Si does not have to be a triangulated surface.
If need be, it is also possible to add control-vectors m not located on the boundary of
SQ and joining an internal point of SQ to a point on Si.
8.2. MODELING STRATIFIED MEDIA 381

Figure 8.6 Cross section showing how morphing vectors attached to the nodes
of T(So) bridge the top and bottom surfaces (Si) and (So) of a layer. The morphing
vectors bridging the boundaries or tangent to the fault traces are assumed to be given
and set as "control-vectors" (bold vectors), while the other vectors are continuously
interpolated using DSL A well-marker (white point) is projected onto (So) (black
point) in the opposite direction to that of the morphing vectors.

Interpolate m with DSI; as a consequence, all the points as defined by


(x 0 (a) + m(o!)) will be approximately located on Si for any a e Q.

Apply postprocessing to m so that all the points (xo(a) + m(a)) get


strictly located on Si for any a G Jl.

The morphing function m so defined can be used to build a family of trian-


gulated surfaces {T(St) : t G [0,1]} having a geometry x t , as defined by

As shown in figure (8.5), these surfaces split the layer bounded by the two
initial surfaces SQ and Si in a "proportional" stratigraphic style.8

8.2.2 Generalized morphing


In addition to the discrete models _M 3 (0, N, xo,Cx 0 ) and M^(l, TV, m,C m )
introduced above, let us consider a third discrete model Mn($l, N, p,Cv)
where (p is an n-dimensional vectorial function called a "relative thickness
function" and defined at the same nodes as x0 and m:

8
Traditionally, there are three main styles: on-lap, off-lap, and proportional.
382 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.7 3D example showing how morphing vectors bridge the top and bottom
surfaces of a layer. The morphing vectors bridging the boundaries or tangent to the
fault traces are assumed to be given and set as "control-vectors" while the other
vectors are continuously interpolated using DSL

This function is assumed to honor the two following intrinsic constraints be-
longing to Cv:

By convention and to simplify the notations, <p is also defined as being the
null function on J7:

Let { T ( S f l ) : i 0, ...,n} be the family of (n + 1) triangulated surfaces


having the same topology as T(<So) and whose geometry x^ is defined by

It is clear that, thanks to the intrinsic constraints (8.9), the triangulated


surfaces (T(<S?1)} so defined have the following important properties:
T ( S f l ) is strictly comprised between T(<So) and <Si in the direction defined
by m.
T(So1) is identical to the triangulated surface T(<So).
T(<S1) is identical to a triangulation T(iSi) of Si.
In other words, (pl(o) appears as the relative thickness at location a between
T ( S f l l ] and T^S?1) in the direction m(a):
8.2. MODELING STRATIFIED MEDIA 383

Equation (8.10) suggests that (f>(ot) can be used for modeling both the local
variations of the thickness and the stratification style of a series of n micro
layers inside a macro layer bounded by T(So) and S(S\).
Prom a DSI point of view, it can be observed that the intrinsic constraints
(8.9) to be honored by the relative thickness function (p are identical in form
to the intrinsic constraints (10.8) presented on page 540 for controlling the
behavior of Membership Functions.

8.2.3 Fitting well-markers


Let us imagine that the internal horizons {T(Sfl) : i = 1,..., (n 1)} defined
above have to fit a series of markers observed on wells and consisting of points
IPzfc(f) such that9

IP*CO = Ah intersection of T(Sl) with the well W fc

As suggested in figure (8.6), for each well-marker IPf (f), it is always possible
to find a point pf(^) in a triangle T = T(x 0 (ao),x 0 (ai),xo(a;2)) of T(S0)
such that
pf() has local barycentric coordinates10 (u,v) in T:

pf() is the projection of IP^(^) onto T(So) in the direction mr(u,v), as


denned by

Let <^T(U,V) be the local linear interpolation of (p on T, as defined by

For T(S1} to pass by IPf (), the local interpolation (pr(u, v] of (p on T must
honor the following constraint:

This constraint is equivalent to the DSI constraint c, which depends on the


following parameters

9
Note that the same well can intersect the same internal horizon several times.
10
See definition (6.15).
384 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

and as defined by

where ac is a normalizing factor, as defined by

Let us define 9c((p) as follows:

When added to the set of constraints C^ of the discrete model Mn (fi, JV, </?, Cv},
for each v < i, this constraint induces terms 7^ (a) and r^(a|(/?) in the local
form of the DSI equation such that

Figure (8.8) gives a real case example of the application of the method de-
scribed above.

8.2.4 Fitting ghost well-markers


In the case of a reservoir bounded by the top and bottom horizons T(Si) and
So, a well Wfc may not intersect a given internal horizon T(S1). Such an
event can be interpreted as a piece of information on the position of T(Sfl)
relative to W fc : in the direction (m), the horizon T(<Sfl) is "below" all the
points on the path of W fc .
To take this kind of information into account, the following procedure is
proposed:
1. As suggested in figure (8.5), build a series of "ghost" well-markers (IP^^) :
I 1,2,...} corresponding to a regular sampling of the path of Wk.
2. For each ghost well-marker IPf (i), introduce an inequality constraint on the
relative thickness function specifying that
8.2. MODELING STRATIFIED MEDIA 385

Figure 8.8 An example of a macro layer split by a series of internal horizons


fitting well-markers. The cross section corresponding to the intersection with a
vertical plane is represented in figure (8.9).

As with real well-markers, for each ghost well-marker JPi (^), the barycentric
coordinates (u, v) of the projection of IP^ (I) on a triangle T of T(So] in a
direction defined by m can be found. Constraint (8.17) is then equivalent to
the DSI inequality constraint c, which depends on the following parameters

and is defined by

where the coefficients A" (a) and bc are the exact opposite of the coefficients
defined by equation (8.15):

It has already be seen in section (4.5) how such an inequality constraint can
be taken into account by the DSI iterative algorithm. In practice, at each
iteration of DSI, it is necessary to execute the following sequence of operations
corresponding to the most internal loop of the algorithm presented on page
172:
386 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.9 Examples of cross sections of the faulted layer represented in fig-
ure (8.8) where the relative thickness function is assumed to be continuous (A) or
discontinuous (B) across the faults.

/ /- Morphing algorithm
for( i = I ; i < n ; i + + )
{
find c = c(i,~S>i(l},m,T,u,v]
compute A = A*c tp bc
if A < 0, then </?"(a) <- ^"(a) - A Avc(o) Vv
}

It can be observed that the above value A is identical to {O c ((p)} where Oc((p)
is the parameter defined by equation (8.16).

8.2.5 Syndepositional versus postdepositional faults


One of the two following strategies can be used for interpolating the relative
thickness function (p on the nodes of T(<$o):

either C1-continuity constraints (see section (6.4)) are installed for restoring
the continuity of the thicknesses across the fault traces affecting T(So), which
is equivalent to saying that the faults have cut the layer after the sedimentation
process (postdepositional faults);

or such constraints are not installed, which is equivalent to saying that the
faults have been active during the sedimentation process (syndepositional
faults).

The cross sections created in the model in figure (8.8) and presented in figure
(8.9) show how these strategies can in fact dramatically change the shape of
the internal horizons.
8.2. MODELING STRATIFIED MEDIA 387

Figure 8.10 In the case of an "on-lap" sedimentary style between a horizon SQ


and an unconformity Si, it is necessary to build a "ghost" horizon <Si more or less
parallel to So and located outside the layer bounded by So and Si. Initially, So was
horizontal, but, here the layer is assumed to have been folded by a tectonic event
before the unconformity corresponding to Si occurred.

8.2.6 On-lap and off-lap sedimentary styles


On-lap style
Up to now, there has been an implicit assumption that the internal horizons
were distributed between SQ and Si according to a "proportional" sedimentary
style. Such a hypothesis can be justified geologically as follows:

SQ corresponds, for example, to the bottom of the sea, which is


assumed to be more or less horizontal at the time of sedimentation,
and the sediments stack more or less parallel to SQ generating the
internal horizons and, finally, the macro horizon Si.

However, as shown in figure (8.10), it may be that an erosion event has partly
removed the sediments resulting in a replacement of Si by an unconformity
S^ not parallel to SQ and intersecting the internal horizons. In such a case
and as suggested in figure (8.10), the following procedure is proposed:

1. Build a field of vectors m*(o:) joining SQ to S* using the same protocol


as the one used in section (8.2.1) for building the morphing vectors
m(a); these vectors are attached to the nodes a e 0 of the triangulated
surface T($o).
388 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.11 In the case of an "off-lap" sedimentary style between a top horizon
(So and a bottom unconformity <Sjf, one can use a modeling technique similar to the
one used for modeling an on-lap style (see figure (8.10)). Initially, So was horizontal,
but, in this picture, the layer is assumed to have been slightly folded by a tectonic
event.

2. Determine the maximum length M of the vectors m*(a):

3. Build the field of vectors m(a) colinear to the vectors m*(ct:) such that

4. Use the generalized morphing technique presented in section (8.2.2) for


building internal horizons between <S0 and Si.

5. Remove the part(s) of the internal horizons not located between <S0 and
$i. This operation can be realized in two different ways:

either each internal horizon T(51) is actually built and then physically
cut by <Si using the "cut" algorithm presented in section (6.6.3);
or the following postprocessing is applied to if>(oi) for any a fi:

As a result of this postprocessing, those parts of each internal horizon


T(Sfl) located "above" <Si in the direction m(o;) are scratched on <Si.
8.2. MODELING STRATIFIED MEDIA 389

Off-lap style
The on-lap sedimentary style presented above was justified by the fact that the
bottom of the sea at the time of sedimentation was sub-horizontal. As shown
in figure (8.11), there are cases where this hypothesis is untrue and the sedi-
mentation progrades on a preexisting relief corresponding to an unconformity
on which the sediments stack more or less horizontally.
Such a sedimentation style is called the "off-lap" style and, as suggested in
figure (8.11), the same modeling technique as the one used for modeling the
on-lap style can be used: the roles of SQ and Si have merely to be permuted.

8.2.7 7 Building a 3-grid by extrusion of a 2-grid


Any regular or irregular 2-grid denned on the bottom horizon of a layer can
be transformed into a (regular or irregular) 3-grid by extrusion along the
morphing vectors that bridge the top and bottom horizons of the layer. For
that purpose, it is sufficient to proceed as follows for each 2-cell C2 located
on the bottom horizon:
Determine the location on the bottom horizon of the vertices {x^ : i
1,2,..., N(C2}} of C2 and interpolate the associated morphing vector m(xi)
and the local relative thickness function v?(xj) at these locations.
For each integer j belonging to the range {0, n}, build the 2-cell C2(j) whose
vertices Xi(j') are defined by

For each pair of 2-cells (C 2 (j), C2(j 1)), build an associated cylindrical 3-cell
C3(j) whose top and bottom are identical to C2(j 1) and C 2 ( j ) , respectively.
The process so defined for transforming a 2-grid into a 3-grid is called "ex-
trusion". Such a process can be applied whether the initial 2-grid is regular
or irregular. On page 133, figure (3.23) shows an example of irregular 3-grid
built by extrusion of an irregular 2-grid.

8.2.8 8 Curvilinear morphing


So far, for the sake of simplicity, the concept of morphing was based on a family
of morphing vectors attached to the nodes of a triangulated surface T(So). In
practice, these vectors can be replaced by a family of curves {m(s|o:) : a 6 f2}
joining the nodes of the bottom surface T(So) to the top surface Si and such
that s represents the curvilinear abscissa on these curves oriented from T(So)
to Si.
If the curves {m(s|o;) : a e 0} so defined are given, then the concept of
morphing introduced in the previous sections can be adapted as follows to
define a Curvilinear morphing:
interpret each curve m(s a) as a "morphing curve," and note m(si\a) the
intersection of this curve with the ith sub-horizon T(5j01);
390 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

interpret the component <pl(a) of the relative thickness function as the pro-
portion of the curve m(s|a) comprised between the sub-horizons T(S11) and
T^01):

Proceeding this way allows the node XJ(Q) of the sub-horizon T(Sfl) to be
denned as follows:

On page 122, figure (3.17) shows an example of a regular 3-grids built by


curvilinear extrusion of a regular 2-grid.

8.3 Merging seismic data with well data


Most of the time, a first draft S* of an (unknown) geological horizon 5 is
modeled from seismic data. It is necessary to merge this first draft with well
data to obtain a better approximation S** closer to S.
As suggested in figure (8.12), "well-markers" {wi,w 2 ,...} correspond-
ing to the intersections of the well-paths with the actual horizon <S provide
sparse, but accurate, information on the shape of <S. Conversely, the seismic
data provide dense information on the shape of S] however, in general, such
information is biased due to errors in the modeling of seismic velocities used
for building S*. Therefore, in general, S* does not honor the well-markers; to
each marker Wj can be associated a "discrepancy" vector dj, as defined by
dj = Wi w*
In the above definition, w* is the point of S* that should be coincident with
Wi if there were no error. If the seismic information was coherent with the
well-markers, the discrepancy vectors {dj} should all be equal to zero. Unfor-
tunately, as suggested in figure (8.12), this is generally not the case, so it is
necessary to look for a technique to reconcile these two sources of data. For
this purpose, it is assumed below that
S* is approximated by a triangulated surface T(<S*);
the geometry of S* is denned by the set of vectors (x*(a) : a G 1} corre-
sponding to the location of the vertices of T(S*).

8.3.1 A first approach


Determining the observed discrepancies {dj}
Assuming that S* is not too far from the actual horizon S implies that the
discrepancies d(a) for all the nodes of <S* must be small. In particular, each
observed discrepancy dj must be as small as possible, implying that we should
have11
is minimal
11
This implication is a direct consequence of the orthogonal projection theorem [141].
8.3. MERGING SEISMIC DATA WITH WELL DATA 391

Figure 8.12 Cross section showing the discrepancies {di} observed between a
seismic horizon <S* and a series of well-markers {Wj}.

^=>- w* = point of S* closest from Wj


<=> di orthogonal to <S*
Adopting this model for the direction of the discrepancy makes it easy to
compute the observed discrepancies {dj} thanks to the following algorithm:

let P(S*) be a dense set of points covering S*


for_all( well-marker Wi ) {
look for w* P(S*) such that
||wi-w*|| = min w * e p (< s*) ||wi - w*||
compute di = (wi w*)
}
The model proposed above for determining the observed discrepancies {d^}
has the advantage of being simple, but it does not take into account the origin
of the discrepancies. If need be, as proposed in [49], it is possible to adapt the
above algorithm to take into account cases where the direction of d; depends
both on the geometry of S* and on the model describing the variations of the
seismic velocity used for building the initial surface <S*.

Removing the discrepancies


The discrepancies between <S* and <S can be removed easily once the discrep-
ancy d(a) is known at each node a of the initial triangulated surface T(S*).
In this case, it suffices to build an improved solution T(e>**) whose vertices
have a location x**(a) deduced as follows from the location x*(a) of each
node a of T(5*):
392 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

The three components of the discrepancy are considered as fuzzy Control-


Properties to be interpolated from the initial observed discrepancies. For this
purpose, two different techniques can be used:
The first technique consists of attaching each observed discrepancy di to its
associated point Wj and interpolating these discrepancies, with DSI on T(S*)
directly.
Most of the time, T(S*} is not unique and, in fact, a series {Tj(S*}} of
triangulated surfaces needs to be reconciled with the well data. In such a
case, the full set of discrepancies observed on the series {7}(<S*)} must be
globally interpolated with DSI on a regular 3-grid covering the studied domain.
For each node QLJ of a particular surface T, ($*), the associated discrepancy
d(aj) can then be interpolated from values of the discrepancy attached to the
neighboring nodes of the 3-grid.

8.3.2 A second approach


Let us assume that the surface to be modeled is embedded in a domain of the
3D space covered by a 3D seismic survey. The basic idea behind the method
proposed in this section is that the seismic data provide the correct shape of
the horizons while the well data provide the correct location of these horizons.
From the 3D seismic survey, and for any location x in the studied domain,
it is possible to build a field of vectors n(x) approximately orthogonal to the
geological horizons. It makes sense to use this field of vectors for controlling
the shape of the triangulated surface T(<S*) corresponding to the horizon to be
modeled. In practice, the discrete model A'f 3 (0, N, x,C x ) associated12 with
T(S] can be constrained in such a way that
for each well-marker Wj, a "Control-Node" or a "fuzzy Control-Point" con-
straint (see page 263) specifying that T(S*} must interpolate Wj is added to
Cx;
for each node a fJ, a "Control-Parallelism" constraint (see page 268) speci-
fying that

is added to Cx-
This modeling technique is particularly efficient. At the extreme, as shown in
figure (6.9), it is even possible to model an anticline when only one well-marker
is given.

8.4 Deformation analysis


The analysis of the deformations of geological surfaces and volumes through-
out geological time plays a central role in structural geology. This section
shows, in a concise and unified way, how to characterize these deformations
using a differential geometry approach. Applications of such a characteriza-
tion will be presented in sections (8.5) and (8.6).
12
See definition, page 246.
8.4. DEFORMATION ANALYSIS 393

Figure 8.13 Displacement and deformations of a region 71 through time.

8.4.1 Notations
By definition, a parametric representation of a volume V or, more simply, a
parametric volume, is the name given to any continuously twice differentiable
mapping x from a 3D parametric domain D onto V:

As can be seen, this definition generalizes the definitions (5.1) and (5.10) given
for parametric curves and surfaces. For the sake of generality, these definitions
can be unified by introducing an n-dimensional parameter u belonging to an n-
dimensional parametric domain D and by defining a parametric representation
x(u) of an n-dimensional region 7 as follows:

In geological applications, K belongs to the 3D space and x(u) has three


components that can be noted in any of the following ways:

We will assume that x is twice continuously derivable relative to u1. Further-


more, we will use the following notations similar to those used in chapter 5
for parametric curves and surfaces:

In practice,
if n = 1, then 7 is a parametric curve;
if n = 2, then ~R, is a parametric surface;
if n = 3, then JL is a parametric volume.
394 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Thanks to these unified notations, no distinction is made below between


curves, surfaces and volumes. As shown in figure (8.13), we consider a con-
tinuum of material points that, at initial time t = 0 fills the region 7[o] and,
at final time t fills the region 'R,. To describe the motion of a point x, we
consider the frame (Ui,..., U n ), which moves through time with the medium
and is defined as follows:

The components {guiuj} of the metric tensor associated with 7 are stored in
an (n x n) symmetric matrix G, as defined by

Similarly, the components {(g^u^lo}} f the metric tensor associated with


7[o] are stored in an (n x n) symmetric matrix G^ and are defined by

The coordinates of any point of 7 relative to this frame do not change through
time so that the vector cbcjo] observed at initial time t = 0 is transformed into
a vector cbc at time t such that

As will be shown in the next sections, by comparing | dx[o]|| and | dx. |, the
deformation of the region 7 through time can be characterized.

8.4.2 Strain tensor and notion of dilatation


As shown in figure (8.13), a pair of twin regions 7[0] and 71 corresponds to the
same set of points before and after deformation. As can be seen in this figure,
any infinitesimal step dx[0] G 7[o] is transformed into a twin step dx e 7.
According to equations (8.19), (8.20) and (8.21), it should be noted that
the (contravariant) components {du1} of these vectors are the same, but their
lengths may be different:

In the mechanics of continuous media (e.g., see [205, 198]), "covariant Strain
tensor" is the name given to the (twice covariant) tensor whose components
8.4. DEFORMATION ANALYSIS 395

{uiuj} relative to the frame {Ui,..., U n } are stored in the (n x n) symmetric


matrix , as defined by13

Using this definition of , it may be noted that the variations of the square
length of the segment having (contravariant) components {du1} is such that

It is also interesting to evaluate the variation of the (Lebesgue) measure of


the region element G?7[o] when transformed into dTZ. As with equation (5.19),
it can be shown that

By definition, one calls "dilatation" the coefficient 9 as defined by

Prom equations (8.24), it is easy to show that the coefficient 0 so defined can
be deduced from the metric tensors G^ and G as follows:

In practice, as shown in figure (8.22) this parameter can be displayed in 7 to


point out the variations of the deformations.

8.4.3 Principal strains


Any vector W located in the region 72. can be written as

Let us now consider a unit vector W in the region 72.; according to (8.27) and
(8.19), such a vector is characterized by

If the increment dx. is chosen as being colinear to W

13
Note that the coefficient | used in the definition of S plays no role in this book a
introduced to be consistent with traditional notations used in the mechanics of continuous
media.
396 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

then the strain A(W) in the direction W between the initial state 7[oj and
the final state 7 is denned by

Prom equations (8.23) and (8.28), it can be seen that (8.29) is equivalent to
the following system of equations:

According to the Lagrange multiplier technique [141, 90, 163], the extremum
values of A(W) honoring equations (8.30) are those for which the derivatives
of the following function C(W, A) vanish:

From equations (8.30) and using the vectorial derivations rules (4.26), it can
be deduced that the optimum values of A(W.) must honor the following equa-
tion:

In other words, the optimum directions of W are characterized by the follow-


ing equation:

Introducing the (n x n) matrix S as defined by

it can be noted that equation (8.31) can also be written as follows:

Prom equations (8.31), (8.32), and (8.33), it can be deduced that W = W (i)
corresponds14 to an optimum of A(W) if, and only if, his associated column
matrix W^ is an eigen direction of S:

Combining this equation with system (8.30) makes it possible to see that the
eigen value A^) associated with the eigen direction W^ is equal to the value
of such an optimum:

From equations (8.33) and (8.34), the following conclusions can be made:
14
Subscripts in parentheses are used to avoid confusion with (covariant) indices of the
components of vectors.
8.4. DEFORMATION ANALYSIS 397

The function A(W) has n extrema corresponding to the unit vectors (W(i)}
colinear to the vectors (D^)} associated with the n eigen directions {D^} of
S as follows:

The eigen values (A(j) : i = l,...,n} of S associated with the directions


(W(i) : i = 1,..., n} are such that

From equations (8.36) and (8.29), it can be easily verified that the eigen values
{X(i)} defined above are such that

By definition, these eigen values (A(^) : i = 1,.. .,n} are called the "principal
strains" and the associated unit vectors {W(^ : i = 1,.. .,n} are called the
"principal strain directions." It will be shown in the next section that the
vectors {W(^} so defined are orthogonal.
The "elongations" {e^} associated with these directions are defined by

From equations (8.36) and (8.37) and from the definition (8.29) of A(W W ),
it can be checked that these elongations are such that

Note that, from definition (8.38), it can be deduced easily that

Moreover, it can be deduced from equation (8.37) that the elongations so


defined are such that

8.4.4 Orthogonality of the principal strain directions


It can be observed that the principal strain directions are intrinsic properties
independent of the parameterization of *R, or 7[0]. Consequently, without loss
of generality, it can always be assumed that

and, according to equation (8.32), the matrix S then reduces to


398 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.14 After deformation, a small sphere of the initial region 72. [o] is
transformed into an ellipsoid whose axes {V(i),..., V( n )} in the deformed region 72,
correspond to the principal strain directions ( W ^ ) , . . . , W(n)}.

Note that S so defined is now symmetrical and, as a consequence, it is well


known [14, 209] that its eigen directions (-D(i)} defined by equation (8.35) are
such that

Prom equations (8.35) and (8.42), it can be deduced that

As a consequence, it can be concluded that the vectors |D(j)} are orthogonal,


and this implies that the principal strain directions are also orthogonal:

If we note (W^,..., W"^} the components of the principal direction W(^)


relative to the frame {Ui,..., Un} in the deformed region 72., then it can be
checked that the directions {(W(j))[0]} defined in 72.[o] as follows

are the only directions to remain orthogonal through time.

8.4.5 Deformation of a small sphere d7l[^


Consider a small sphere d72.[o] of radius dxjo] = TO m the initial region 72.[o]
As suggested in figure (8.14), after deformation this sphere becomes an ellip-
soid whose principal axes {V(i),..., V( n )} are colinear to the principal strain
directions and have a length determined by the equations (8.39) and (8.40):

In practical applications and as illustrated in figure (8.23), it may be useful to


display these vectors at selected points of 72. to indicate the main directions
of deformation together with the amplitude of these deformations.
8.4. DEFORMATION ANALYSIS 399

Moreover, from equation (8.32), it can be noted that

Taking into account the fact that {(1 2A(^) : i = 1,.. .,n} are the eigen
values of (/ 25'), the above equation can be rewritten as follows:

Prom equations (8.24) and (8.39), it can be deduce that

Comparing the above equation with equation (8.43) allows us to conclude


that

8.4.6 Practical remarks


In the general case, S as defined by equation (8.32) is a non-symmetrical
matrix. Prom a numerical analysis point of view, it is well known that it
is easier to compute eigen values and eigen vectors for a symmetrical matrix
than for a non-symmetrical matrix. Taking into account the fact that principal
strain directions and elongations are intrinsic properties independent of the
parameterization of 7 or 7[o], from a practical point of view and without loss
of generality, we can always proceed as follows:
As explained in section (8.5.1), in the case where n = 2 it is convenient to
choose a parameterization of 7[o] such that G[o] = / In such a case, the
matrix S becomes symmetrical:

As explained in section (8.6.7), in the case where n = 3 it is convenient to


choose a parameterization of "R, such that G = I. In such a case, the matrix
S also becomes symmetrical:

It should also be noted that, in practical applications, the elongations {&(i)}


are generally all close to zero. This implies that the vectors (V^)} defined
by equation (8.43) and characterizing the deformation of a small sphere are
all approximately the same length. As a consequence, the image of a small
sphere of radius TO is close to a sphere with the same radius so that, from a
graphical point of view, the vectors {V^} may be inadequate for visualizing
the deformations. For this reason, for graphical purposes, as shown in figure
400 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

(8.23), we suggest replacing the vectors {V(j)} by vectors {V^\} defined as


follows:

In this definition of V*^, the exponent m is a given "magnifying factor"


that must be chosen greater than 1 to increase the contrasts between the
deformations corresponding to the principal strain directions.

8.4.7 Eulerian and Lagrangean strain tensors


The components of S can be viewed as the components15 of the tensor
relative to the local frame {Ui,...,U n } attached to the current deformed
region 7. Therefore, this tensor is called the "Eulerian Strain Tensor" and
corresponds to a measure of the deformations from the point of view of the
deformed region 71.
It should be noted that it is also possible to adopt the point of view of the
undeformed region 7[o], which leads to the following definitions of A(W[0])
and 5[oj:

The components of S[0] so defined can be viewed as the components of the


strain tensor relative to the frame {(Ui)[ 0 ],..., (U n )[ 0 ])} attached to 7[0].
This tensor is called the "Lagrangean Strain Tensor" and corresponds to a
measure of the deformations from the point of view of the undeformed region
%)]

8.4.8 Invariants of the strain tensor


According to the definition (8.19), at any point of the studied domain 71, the
strain tensor is fully defined by a set of (n (n+1)/2 independent components
f 1 3 .
(^
U U

The components {Suiuj} of the strain tensor so defined depend strongly on the
coordinate system (w 1 ,..., un} and thus cannot be used directly to characterize
the deformations of the studied region 7. For example, let us consider a linear
15
Note that these components are once covariant and once contravariant.
8.4. DEFORMATION ANALYSIS 401

transformation of these coordinates into a new system (w' 1 ,..., u'n) such that

where A is an invertible n x n square matrix. According to the rules of


transformation of (covariant) tensors [190, 205], the components of the strain
tensor are transformed into new components such that

Now consider the polynomials P(x) and P'(x) defined as follows:

Prom equations (8.47) and (8.48), we can write

In other words, P(x) is a characteristic of the strain tensor independent of


any linear transformation of the coordinate system (w 1 ,..., un}. Note that
P(x] can always be written as follows:

It can be shown that, whatever the value of n:

The invariance of P(x) implies that the coefficients ( V i , . . . , Vn} are indepen-
dent of the coordinate system: for this reason, these coefficients are called the
"invariants" of the strain tensor S.
Note that, in practical applications, the studied region 71 is either a surface
(n = 2) or a volume (n = 3). In these particular cases,
if n = 2, then the invariants Vi and V-2 are fully determined by equations
(8.51);
if n = 3, then the invariants Vi and Vs are fully determined by equations
(8.51) while the invariant V^ is such that
402 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

The rest of this chapter shows how to approximate the field of strain ten-
sors everywhere in the region 7i. In a certain sense, the invariants of these
strain tensors can be considered as "structural attributes" characterizing
the deformation of the region 71. From a practical point of view, it may be
interesting to correlate these structural attributes statistically to geological
properties such as, for example, permeability.

8.4.9 Displacements in continuous media


As suggested in figure (8.13), let v be the "displacement vector" of X[Q] defined
as follows:

Deriving this vector with respect to ul allows us to write the following impli-
cations:

Consequently, according to equation (8.22), the components of the strain ten-


sor and the derivatives of the vector v are linked by the following differential
equation:

8.4.10 An important case


Let us now consider the particular case where the topological dimension n of
the region 71 is equal to the dimension of the embedding space. In this case,
for simplicity's sake and without loss of generality, it is always possible to
choose the parameterization u(x) identical to the vector x itself:

This implies that

where the vectors b^ are defined as follows:


8.4. DEFORMATION ANALYSIS 403

Let {vk} be the (contravariant) components of v in the frame {bj}:

On differentiating with respect to ul = x l , we obtain

This implies that equation (8.54) takes the following form:

In view of the fact that the vectors {bj} constitute an orthonormal frame, it
can be concluded that, in this frame, the components of the strain tensor can
be determined thanks to the following fundamental equation:

8.4.11 Minimum-Deformation principle


Prom a historical point of view, the law of "least action" is certainly the
first general principle that has been proposed to describe the behavior of
our physical world. In 1744, the French scientist Pierre-Louis Moreau de
Maupertuis proposed this principle for the very first time and published it in
1746 in a famous article entitled, "The laws of motion and of rest deduced
from a metaphysical principle" [38]. This "metaphysical principle" relies on
the assumption that nature always operates with greatest economy:
If some changes occurs in nature, then the amount of action nec-
essary to perform this change is always as small as possible.
Several examples follows:
In a homogeneous medium, light always travels according the shortest path.
Soap films always have minimum area.
The geometry of the DNA molecule, which corresponds to a double helix, is
an example of a surface with minimal area.
Small crystals grow to minimize their free surface energy.
Mechanical systems always tend to minimize their potential energy.
Dozen of other examples can be observed, and interested readers are referred
to a fascinating book entitled "The Parsimonious Universe" and published in
1996 by S. Hildebrandt and A. Tromba [106].
404 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.15 Vertical cross section showing the evolution of an overturned fold
throughout geological time t. Note that the region A has no deformation between
the initial state (t = 0) and the current state (t = 1) in spite of the fact that its
intermediate state (t = 0.5) is clearly severely deformed.

The rest of this chapter is devoted to the unfolding of geological hori-


zons and layers, and we propose applying the Maupertuis' principle to such
a problem. In a nutshell, the data and the goal of the unfolding problem can
be sketched as follows:
The data consist of

a complete knowledge of the current geometry of the geological objects


in their folded state, and
limited information concerning the geometry of these geological objects
in their unfolded state.

The problem consists of determining the complete geometry of geolog-


ical objects in their unfolded state.
Prom a mathematical point of view, this problem has an infinite number of
solutions, only one of which corresponds to the actual solution chosen by
mother nature. According to the Maupertuis' principle, this actual solution
should minimize the deformations. In practice, this is equivalent to saying
that the magnitude of the components of the strain tensor must be minimum
everywhere:

This suggests calling equations (8.58), the "Minimum-Deformation princi-


ple".
8.5. UNFOLDING A HORIZON 405

It should be noted, however, that the Minimum-Deformation principle is


not a panacea. If the current state 7 can be deduced by a displacement from
the initial state 7[0], then the Minimum-Deformation principle will generate
a solution where the strain tensor vanishes everywhere even if severe deforma-
tions occurred throughout geological time between these two states. In other
words:
The Minimum-Deformation principle is unable to characterize the
real trajectory of geological terrains throughout geological time:
it only characterizes the deformations between the current (final)
state and the initial state of the studied geological objects.
This is not a simple theoretical remark. For example, as suggested in figure
(8.15), consider the evolution of the region A of an overturned fold throughout
geological time:
the initial state at geological time (t = 0) was horizontal and flat;
the intermediary state at geological time (t = 0.5) was severely folded; and
the current state at geological time (t = 1) is still horizontal and flat.
In such a case, according to the Minimum-Deformation principle, the interme-
diary state is ignored, and it will be concluded that the strain tensor vanishes
in the region A. This may be a serious concern if one wishes to correlate
the strain tensor to a physical property, like the permeability of the terrains,
depending on all the deformations that occurred throughout geological time.

8.5 Unfolding a horizon


In sedimentary geology, due to the gravitational origin of the deposition of
sedimentary layers, it is generally assumed that horizons were approximately
flat surfaces at geological deposition time t = 0 before the folding and faulting
processes occurred as a result of successive tectonic events. Accordingly, the
current shape of horizons can be viewed as a record of such tectonic events,
from which the field of the resulting deformations can be computed. For this
purpose, a hypothesis must be advanced concerning the folding mechanism
between the initial unfolded state H^ of a horizon at geological time t 0
and its current folded/faulted version H = H^ at today's current normalized
geological time t = I. Generally, structural geologists distinguish between two
main types of such mechanisms (e.g., see [236, 95, 20, 187, 192]):
The first type of unfolding mechanism, called "simple shear" [89, 230] is
illustrated in figure (8.19). Simple shear involves assuming that H[0] can be
obtained by projecting H = H[i] onto a given "unfolding" horizontal plane
IA according to a given field of projection directions. Note that, as pointed
out by Moretti et al. [164, 191], simple shear is valid only for unconsolidated
material affected by syndepositional deformations.
The second type of unfolding mechanism, called "flexural slip" [211] is illus-
trated in figure (8.16). Flexural Slip consists in assuming that H[Q] must be,
as far as possible, isometric to H and located in a given "unfolding" horizontal
plane U.
406 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

In both cases, the deformations of the horizon can be quantified by analyzing,


from a differential geometry point of view, how the metric properties (areas,
angles, distances) are transformed between the folded and the unfolded states.
The simplest way to analyze the deformations is to study how the metric
tensor associated with a given parameterization u attached to the horizon H
evolves between the geological times t = 0 and t = 1: this is precisely the goal
of this section.
For simplicity's sake, the horizon H = H^ observed at current geologi-
cal time t = I and its unfolded version H^ at depositional time t = 0 are
assumed to be approximated by triangulated surfaces T(H] and T(H^), re-
spectively. These triangulated surfaces are associated with the discrete models
A^ 3 (fi, N, x, Cx) and .M3(0, A/", X[0], Cx [0] ), which share the same set of nodes
0 and the same topology but have distinct functions x(a) = x^^a) and
X[Q] (a) defining the location of each node a (7 in the 3D space at current
time t = I and at initial time t = 0, respectively.
Thanks to the functions x(a) and X[ 0 ](a), the field of "restoration vectors"
r(a) illustrated in figures (8.16) and (8.21) can then be introduced and defined
on 0 as follows:

These vectors can be linearly interpolated on each triangle and it is relevant


to note that they are the opposite of the displacement vectors v(a) introduced
on page 402:

As will be seen in the next paragraph, the unfolding techniques proposed in


this book rely on the determination of a parameterization u(x) of the horizon
H = _H"[i] to be unfolded/unfaulted. Such a parameterization is also assumed
to be represented by a discrete model ,M 2 (fJ, AT, u,Cu) that shares the same
set of nodes and the same topology as the two discrete models introduced
above.

8.5.1 Unfolding techniques


Paleo-geographic coordinates paradigm
As shown in figure (8.16), let H = H^ be a folded/faulted horizon at current
geological time t = 1. Taking into account the scale of the domain under study,
it is assumed that H was horizontal at deposition time t = 0 and consisted
of a region H[0-\ of a given horizontal plane U referred to as the "unfolding
plane." This unfolding plane U is assumed to be at altitude z = zu and can
be interpreted in different ways, depending on the geological context and the
value of zu. For example,
if zu is greater than zero, then IA may correspond to a paleo-flood plain;
if zu is equal to zero, then U may correspond to the delta of a paleo-river;
if zu is negative, then IA corresponds to the bottom of the paleo-sea.
8.5. UNFOLDING A HORIZON 407

Figure 8.16 An example of the unfolding/unfaulting of a triangulated surface


based on a global parameterization using isometric DSI constraints: the area of the
surface is preserved with a relative precision of 10~2. The isoparametric curves are
represented by thin lines. (Data courtesy of Elf)

However U is interpreted, this horizontal plane can always be identified with


a part of the surface of the earth at deposition time t 0. Accordingly,
it is only natural to attach to 1i an arbitrary paleo-geographic coordinate
system in such a way that any point u U. can be identified with its two
paleo-geographic coordinates (ul,u2):

As suggested in figure (8.16), during the folding/faulting process, each point


u e f/"[o] is transformed into a point x(u) e H^, with the following interpre-
tation:
the unfolding plane U is interpreted as a 2D parametric space;
the part of U corresponding to H^ is interpreted as a parametric domain D;
the function x(u) is interpreted as a parametric representation of the horizon
H[i] at current geological time t = 1:

The paleo-geographic coordinate system (ul,u2) can be freely and arbitrarily


chosen and for the sake of simplicity, this system is assumed below to be
rectilinear and orthonormal. Accordingly, the metric tensor (7[0] associated
with the local parameterization induced by the paleo-geographic coordinates
408 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

is thus a unit tensor:

From this paleo-geographic coordinates paradigm, it can be concluded that the


problem of unfolding/unfaulting a horizon H = H[^ comes down to the search
for a particular parameterization u(x) of H where the parametric domain D
is identified with the unfolded/unfaulted version H^ of H:

In practice, the discrete model M2(Q, N, u,C u ) is used for computing this
parameterization at the nodes of the triangulated surface T(H). For this
purpose, it is necessary to add two sets of DSI constraints to Cu'-
A first set of constraints has to be installed to preserve the continuity of the
components w1 and w2 of u across the fault traces. These constraints corre-
spond to the C and Cl pseudo-continuity constraints presented in sections
(6.4.2) and (6.4.3).
A second set of constraints must also be installed to define the type of unfold-
ing mechanism. These constraints will be presented in the following sections.
It should be noted that to install the C and Cl pseudo-continuity constraints
mentioned above requires choosing a point-to-point association between each
pair of twin fault traces (see section (6.3.1)). The resulting parameterization
u is strongly dependent on these associations, and special care must be taken
to avoid introducing irrelevant distortions. In practice, one or several of the
following approaches can be used to build such associations:
The computed fault-throw directions and fault striae defined on pages 373
and 375 can be used to identify twin pairs of points.
An automatic algorithm based on the geometry and topology of the fault
traces can also be used to identify pairs of points.
Finally, an interactive approach can be used for editing the automatic associ-
ations generated by the two approaches first proposed.
One may also choose not to link twin fault traces with C and Cl pseudo-
continuity constraints. In such a case, gaps and overlaps may appear in the
unfolded state of these fault traces, which can be interpreted as inconsistencies
in the geometry of the associated fault in the current folded state.

Isometric-mapping-based method
Except where there is a specific genetic reason (see comment on page 411), it
makes sense to assume that the horizon H = H^ to be unfolded/unfaulted
should preserve its metric properties (areas, angles, and lengths) as far as
possible throughout geological time. Taking into account the fact that H^
was assumed to be a part of the unfolding plane U, this implies that H = H^
must be isometric to a plane. In other words, the parameterization u(x) of
8.5. UNFOLDING A HORIZON 409

Figure 8.17 One more example of unfolding/unfaulting of a triangulated surface


based on a global parameterization using isometric DSI constraints: the surface
area is preserved with a relative precision of 10~3. The isoparametric curves are
represented by thin lines in the exploded view (EAEG-overthrust model [6]).

H corresponding to the above paleo-geographic coordinates paradigm must


generate for H a metric tensor G, approximately equal to the unit tensor:

This is typically an isometric constraint for the parameterization u. It has


been shown in section (6.5.2) how such a constraint can be honored when u is
interpolated on the triangulated surface T(H} with the DSI algorithm based
on the discrete model .M 2 (f2, TV, u,C u )- In practice, the technique presented
in section (6.5) is particularly well adapted to the unfolding problem, and, as
shown in figures (8.16) and (8.17), yields excellent results.
Figures (8.17) and (8.18) show that the unfolding/unfaulting method so
defined is applicable even in cases where the initial surface cannot be projected
simply onto a horizontal plane, that is, without overlaps and/or gaps.

Projection based method


Let {-ftJ!] : i = 1, -, m} be a partition of H = H^ into a series of m polygonal
patches; for example,
as suggested by Rouby et al. [187], each patch Hl^ may consist of a subset of
triangles of T(H] corresponding to a fault block;
as suggested by Gratier et al. [95], each patch Hfa may be reduced to a single
triangle ofT(H).
410 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.18 An example of a severely folded surface that cannot be projected


onto a plane without generating overlaps. The unfolding method based on a global
parameterization using isometric DSI constraints can still be applied and the surface
area is preserved with a relative precision of 10~5.

Each patch HI, is rotated around its center of gravity to get as horizontal
as possible and then projected onto the horizontal unfolding plane U. The
boundary dH^ of each patch HI-, is associated with a set of sampling points
{x^ ( i , j ) : j = 1,..., n}, and the image of each point X[i] (i, j) in the unfolding
plane U is noted as X[o**](i,jf):

The projection of the patches on U may induce overlaps and/or gaps, and cor-
rection techniques have been proposed [95, 187] for minimizing such inconsis-
tencies. After applying these corrections, each point X[ 0 **](i, j) is transformed
into a point X[ 0 *](,j) making it possible to define the following transforma-
tion:

For each point X[i](i, j } belonging to the curve dHfa, the value of the param-
eter u is then defined as follows

where x?Qi,,(i,j) and xQi,,(i,j) are the current geographic coordinates of the
point X[o*](i,j) at current geological time t = 1.
It is then easy to interpolate the vectorial function u = (ul,u2) on the
discrete model M2(fl, N, u, Cu) as follows:
For each point X[i](i,j) T(H), add a fuzzy Control-Property constraint (see
page 256) to Cu specifying that, at this location, the parameter u should be
equal to the value denned by (8.65).
8.5. UNFOLDING A HORIZON 411

For each triangle T e T(H), add a Constant-Gradient constraint (see page


261) to Cu specifying that u should have, approximately, a constant gradient
on T and its adjacent triangles.
RunDSIon M 2 (17,]V,u,Cu).
The parameter u can then be linearly interpolated on each triangle T, as
indicated in section (6.1.3).

Unfolding
Let us assume that a parameterization u(x) of H = H[^ has been obtained
by any one of the methods presented above. The flat surface #[o*] embedded
in the 3D space and defined by

appears as an unfolded/unfaulted version of H located in the horizontal plane


ZY at the given altitude z = zu. In practice, as shown in figure (8.20), the sur-
face #[o*] must be translated and rotated in the unfolding plane U to become
coincident with the presumed location of the initial unfolded/unfaulted ver-
sion _ff[0] of H. Section (8.5.2) shows how to determine such a displacement
in an optimal way.

Comment: The case of listric faults


A "listric fault" or "syndepositional fault" is a particular case of faults where
one of the two associated fault blocks continued to move during the deposi-
tional time lag. For example, in the cross section represented in figure (8.19),
the sediments are assumed to come from the left-hand side of the listric fault,
and the two fault blocks behave as follows:
Few sediments are assumed to be deposited on the right-hand side of the fault,
and they deposit according to horizontal layers with a constant thickness; for
this reason, we propose calling this fault block the "neutral fault block."
On the contrary, the opposite fault block (the right one in figure (8.19)) is
sliding downward during the sedimentation process and the sediments are
filling the gap with a vertical speed that is a decreasing function of the distance
to the fault; for this reason, we propose calling this fault block the "active
fault block."
Due to the so-called "roll-over" geological mechanism [235, 213], in the active
fault block it can be observed that
the layers have a thickness that is a decreasing function of the distance to the
fault;
the area of the horizons is reduced throughout geological time by a factor that
is a decreasing function of the distance to the fault;
412 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.19 Vertical cross section showing the two steps of the 2D simple-shear
mechanism in the case of a listric fault: the top horizon is projected onto U according
to a given direction of shearing s and then translated to remove gaps.

far away from the fault, the active fault block tends to have a behavior similar
to the one of the neutral fault block, and the horizons tend to have a constant
area throughout geological time.
In such a case and as illustrated in figure (8.19), the unfolding mechanism,
called "simple-shear" is well defined in a 2D cross section of a vertical plane
Xi and can be split into the following two steps:
1. Choose a given shearing direction16 s and, for each point X[i](i,j) be-
longing to the intersection H\^(Xi) of H^ with the cross section Xi,
proceed as follows:
draw the straight line A(x[i](,_;'),s) passing through X[i](i,j) and par-
allel to s;
define the image X[0**](i, j) as the intersection of A(x[i](i, < 7'), s) with the
unfolding plane U.

2. Translate globally the set of points {x[o**](i, j) : j = 1,..., n} by a vector


ti chosen to minimize gaps and overlaps, and define the set {x[0*](i, j)}
16
This direction, which depends on geomechanical characteristics of the terrains, can be
chosen freely or it can be determined numerically using an optimization method such as
the one proposed by Kerr et al. [122].
8.5. UNFOLDING A HORIZON 413

as follows:

It is clear that, according to this unfolding mechanism, in the active fault


block the area of the horizon H = H^ to be unfolded differs locally from the
area of #[o]- However, it can be observed that, even in such a case, when far
away from the listric faults, the metric properties of the horizon H are still
preserved in the active fault block. At this point, it is useful to recall the
respective roles of the three isometric constraints (6.80):
the two first isometric constraints (6.80)-1 and (6.80)-2 are used to preserve
the area of H and the lenght of segments drawn on H during the restoration
process;
the third isometric constraint (6.80)-3 is used to preserve the angles drawn on
H during the restoration process.
Consequently, this suggests that we continue to use the method based on
isometric-mapping, with the following modifications whose purpose is to allow
the area of the horizon H to vary in the active fault block:
at each node a of the horizon H to be unfolded, define a function A(a) taking
its values in the range [0,1] and measuring the aptitude of the area of H to
vary locally throughout geological time;
choose a "basic" certainty factor WQ used for weighting the isometric con-
straints (6.80);
use the certainty factor 073(0:) defined as follows to weight the isometric con-
straint (6.80)-3 at node a:

use the certainty factor w\,i(a] defined as follows to weight the isometric
constraints (6.80)-1 and (6.80)-2 at node a:

Proceeding that way allows the distortions to be minimized everywhere while


taking into account the fact that the area of the unfolded horizon may not be
constant close to the listric fault in the active fault block.

A propos of the Minimum-Deformation principle


According to equations (8.62) and (8.64), the horizon unfolding method based
on the isometric-mapping technique presented on page 408 takes into account
the two following constraints explicitly:
The metric tensor G[0] of the unfolded horizon H^ is strictly equal to the
unit tensor:

The metric tensor G of the folded horizon H is as close as possible to the unit
tensor:
414 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.20 Displacing the unfolded horizon T(H[0*]) in the unfolding plane U
up to its optimal position T(H^}.

In other words, according to the definition (8.22) of the strain tensor , the
method based on isometric-mapping tends to generate an unfolded version of
H such that

In this regard, we can say that the horizon unfolding method based on isometric-
mapping technique explicitly conforms to the Minimum-Deformation prin-
ciple (8.58) presented in section (8.4.11).

8.5.2 Deformation analysis


Displacements
As mentioned above, the horizon T(#[0*]) defined by equation (8.66) must
be displaced to become coincident with the presumed location T(H^) of this
horizon at geological deposition time. From a mathematical point of view,
any displacement T>(t,R) can be split, in a unique way, into a translation t
followed by a rotation R:

The simplest technique for determining t and R is to proceed as suggested in


figure (8.20):
Choose a series of points { I P i , . . . , IPn} belonging to T(H); for example, these
points may be chosen along the lines corresponding to the intersection of the
horizon with the faults or, more simply, on the boundary of the horizon (e.g.,
see figure (8.20)).
For each point IPi, interpolate the parameter u(lPi) and use this interpolation
to set up the associated point q^ belonging to T(H[0*]) and the point PJ in
8.5. UNFOLDING A HORIZON 415

the plane z zu, as defined by

Note that pi is no more than the vertical projection of D?i onto the unfolding
plane Li.
Determine t and R to minimize the following criterion J~(t, 7?), where >(t, R)o
QJ represents the image of q^ by the displacement T>(t, R):

As an exercise, it is verifiable that the translation t and the rotation R min-


imizing the criterion J(t, R} defined by the above equation (8.67) can be
determined as follows:
The translation vector t is such that

where p represents the center of gravity of the points {p 1; .. ,,p n }, while q


represents the center of gravity of the points {q 1 ,..., qn}.
The center of the rotation R is coincident with p and the angle 9 of the
rotation in the unfolding plane ti is such that

where A and B are defined by

The integer k in equation (8.68) is assumed to be either equal to 0 or 1 and


these two values correspond to the maximum and the minimum of J~(t,R),
respectively; in practice, only the value corresponding to the minimum of
^7(t, R) must be retained.
The restoration vector r(x) is then defined at any location x on T(H] as
follows:

As illustrated in figure (8.21), the field of restoration vectors so defined de-


pends strongly on the "fixed" region defined by the set of points (IPi,..., TPn}
chosen on T(H) and clearly shows how the surface has moved relative to this
fixed region.
416 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.21 Top view of the field of restoration vectors associated with the
unfolding of the horizon represented in figure (8.16). The fixed points correspond
to the vertices of the triangle represented in grey: depending on the location of
this fixed set of points, the field of restoration vectors looks very different. (Data
courtesy of Elf)

Figure 8.22 Top view showing the variations of the dilatation of the horizon
represented in figure (8.16). The magnitude of these dilatations, defined by equation
(8.25), are color coded in grey scale. (Data courtesy of Elf)

Strains
It should be noted that the translations and the rotation used by P(t,J?)
to transform T(H^) into T(H^) correspond to a rigid displacement that
8.5. UNFOLDING A HORIZON 417

Figure 8.23 Top view showing the principal strain directions of the horizon
represented in figure (8.16) and defined by equation (8.43). The length contrasts of
these vectors are magnified by an arbitrary factor and reflect the deformations of
a circle stuck on the unfolded horizon. In a better color coded representation the
directions corresponding to positive elongations e^ should be represented in red
while the others should be represented in blue. (Data courtesy of Elf)

generates no deformation. If {x(o:o),x(a!i),x(a;2)} represents the location of


the vertices of the current triangle T of T(H] and if the following notations
are used

then, according to equations (6.25) and (6.30), the metric tensor GT associ-
ated with the global parameterization u(-) on T is such that

According to the definition (8.22) and from equations (8.62) and (8.69), it is
easy to estimate the strain tensor on each triangle T G T(H\ as follows:

According to equations (8.26) and (8.35), the above estimation of makes


it possible to compute the dilatation coefficient 9 and the principal strain
directions (W^)} for each triangle T G T(H}. It is interesting to observe the
following:
418 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

The dilatation coefficient OT depends only on the determinant of GT and is


defined by

The components of the principal strain directions in the (Ur, VT) frame asso-
ciated with the triangle T can be computed easily thanks to equation (6.26):

To analyze the deformations and as shown in figures (8.22) and (8.23), the
dilatation coefficient and the principal strain directions modulated by the
elongations defined by equation (8.38) can be mapped on T(H}.

Strains versus curvatures: A paradox


The intuition may suggest that the principal normal curvatures of a surface
should be linked with the strain tensor of this surface. Unfortunately, as
demonstrated below, this is not true at all:
Consider a flat surface <S[o] that is bent without plastic deformation to obtain
a new shape S. In this case, the strain tensor of S vanishes while its principal
normal curvatures do not vanish.
Consider a flat square surface <S[oj that is transformed (with plastic deforma-
tions) into a flat rectangular surface S. In this case, the strain tensor of S
does not vanish while its principal normal curvatures vanish.
However, it is important to note that this paradox is due to the fact that
we are considering the 2D strain tensor of a surface and not the 3D strain
tensor of the volume bounded by this surface. For example, if the surface 5[o]
corresponds to the top horizon of a flat geological layer which is transformed
into a folded surface S after some tectonic event, then it can be shown (e.g.,
see Sokomikoff [204], p 198 and 212) that the components of the 3D strain
tensor within the layer are actually functions the principal normal curvatures
of the top horizon.

8.6 Unfolding a stack of layers


8.6.1 Introduction
One of the most challenging issues in numerical structural geology is the
"balanced" unfolding/unfaulting of a stack of sedimentary layers. In practice,
this step is required as a "preprocessing" by a number of applications such as,
for example, sedimentary process and fluid-flow modeling. As shown in figure
(8.24), the goal is to "restore" the stack of layers in such a way that
8.6. UNFOLDING A STACK OF LAYERS 419

Figure 8.24 Vertical cross section showing the unfolding mechanism for a stack
of layers. The constraints consist of a given field of restoration vectors r(x[i](a))
associated with the uppermost horizon H\\ in addition to the Mass-Preservation
and the Minimum-Deformation constraints, which specify that the mass of terrains
must remain constant while the layers must be deformed as little as possible.

the horizon H^ corresponding to the hanging wall of the top layer is trans-
formed into an unfolded/unfaulted surface H[Q] located in a horizontal plane
U at altitude zu, as it was assumed to be at the time of deposition before
being deformed by a tectonic event;
the terrains located below H^ follow the movement of H[i] toward ff[0] in a
piecewise continuous way;
the faults, if any, are the only discontinuities in the displacement of the terrains
located below H[i].
In other words, for any particle a located at point x(a) = X[1](o:) in the
3D studied domain, we want to go backward through geological time from
the current position X[i](a;), which corresponds to the current normalized
geological time t = 1, to the "initial" position X[ 0 ](a) at time t = 0 of the
deposition of H[^:

X[i] (a) = current position of a


X[t] (a) == position of a at time t G [0,1]
X[0] (a) = initial position of a at deposition time

By definition, the vectors r(x[i](o;)), denned as follows at any point X[i](a)


of the current 3D geological domain to be restored, are called "restoration
vectors:"
420 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

As soon as the restoration vectors are known at any location X[ 1 ](a), it is easy
to restore all the terrains as follows:

For the sake of simplicity and without loss of generality, as in section (8.5), it
is assumed here that geological time has been scaled in such a way that
the current position of terrains corresponds to geological time t = 1, and
the initial position of terrains at the time of deposition of H[\] corresponds to
geological time t 0.
We propose to consider the terrains to be restored as a compressible viscous
fluid where each particle a moves backward from the current location X[ X ] (a)
to location X[ 0 ](a) during the restoration time lag Ai = 1 so that, according
to the Taylor series expansion formula (see page 147), we can write

Consequently, from equations (8.70) and (8.71), it can be concluded that


the opposite of the restoration vector r(x^](a)) can be viewed as a first-order
approximation of the velocity of the terrain particle a at geological time t = 1:

It will be shown below how this analogy to viscous fluid mechanics can be
used for determining the field of restoration vectors r(x[!](o:)).

Notion of balanced restoration


"Balanced" restoration [53] means that the mass of terrains has to remain
constant throughout geological time. This is equivalent to saying that the ve-
locity cbc[t](a)/cft of the terrain particles must honor the well-known "equation
of continuity"17

where p(x[f] (a)) is the density of the terrains at location x^] (a) and geological
time t. Potentially, this partial differential equation has an infinite number
17
For a complete presentation of the continuity equation, the reader is referred to
[190, 206], for example. If the components of any vector V of the 3D space relative to
an orthonormal system of coordinates ( x , y , z ) are noted as (V x , Vy, V z ), then it will be
recalled that div(V) can be expressed as follows:
8.6. UNFOLDING A STACK OF LAYERS 421

Figure 8.25 Vertical cross section showing the iterative "back-stripping" algo-
rithm: after flattening the top horizon, the top layer is removed.

of solutions; therefore, to ensure the uniqueness of the field of restoration


vectors r(xj 1 ]), we propose introducing the three following constraints, at the
very least:
1) the field of restoration vectors is given on the
hanging wall H[i] of the top layer;
2) the Minimum-Deformation principle defined by
equations (8.58) has to be honored;
3) the mass of the terrains has to be preserved.

In practice, a given horizontal plane U is assumed to contain the unfolded


state H[0] of the hanging wall H^ of the top layer and any one of the methods
presented in section (8.5) can be used for constructing H^. As illustrated in
figure (8.16), the restoration vectors r(x[!]) at any location X[ij H^ on the
top horizon corresponding to the above constraint (8.74)-l can then easily be
deduced as follows from the location of its image X[0] G H^:

Back-stripping algorithm
In practice, as suggested in figure (8.25), the unfolding of a stack of layers is
performed iteratively in three steps:
1. unfold the top horizon;
2. unfold the stack of layers to follow the movement of the top horizon;
3. remove the top layer (stripping) and go back to step (1) until all the top
horizons have been unfolded.
422 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

This iterative algorithm, called "back-stripping," allows the unfolding mech-


anism to be broken down into a series of time steps {At^\ A t ^ 2 ) , . . . , At^},
all assumed to be normalized and to have a span equal to (1).
Let r^ be the field of restoration vectors determined at time step At^.
It should be noted that time step A^1) allows the top horizon H[^ to be
flattened, but the underlying layers are still affected by residual deformations,
which have to be evaluated at subsequent time steps. Consequently, if the
stack of horizons is such that
H^1' is the uppermost horizon
H^ is immediately below H^

H(i} is immediately below H(i~V

then
the deformation of the layer {H^l\H^} is characterized by the field of
restoration vectors r = r^ 1 ';
the deformation of the layer {H^2\ H^3'} is characterized by the field of
restoration vectors r = (r^ + r1-2-*);
...
the deformation of the layer {H(-l~l\ H^} is characterized by the field of
restoration vectors

8.6.2 Restoration method based on DSI


Nine steps are proposed for interpolating the field of restoration vectors while
taking into account the three constraints (8.74):

1. Cover the studied domain with a regular orthogonal rectilinear 3-grid


(see section (3.4) and figures (8.26) and (8.28)). The size of the grid cells
is chosen in such a way that the problem to be solved can reasonably
reduce to the determination of the restoration vector r(a) on the set 7
of the vertices of the grid. In practice and for simplicity's sake
the (x, y, z) coordinate system is identified with the (w, t>, w) axis of the
grids:

the z = w axis is oriented upward.

2. Build a discrete model ,M 3 (f2, N, x, Cx) where

is the current location of node a 0, of the grid at geological time t = 1,


while (3 N(a) if, and only if, |x(a),x(/5)} is an edge of the grid not
cut by a fault. Note that the neighborhoods TV (a) so defined honor the
discontinuities introduced by the faults, if any (see figure (8.28)).
8.6. UNFOLDING A STACK OF LAYERS 423

Figure 8.26 Computing the field of restoration vectors at the nodes of a regular
linear 3-grid covering the region to be restored. For the sake of clarity, only a vertical
cross section is shown.

3. Build a second discrete model Ai3($7, N,r,Cr) where r(a) is the vector
r(x[!](a)) at location x^a) = x(o;):

Note that Q and the neighborhood operator N are the same as those of
the model A4 3 (O, TV, x,Cx) denned above.

4. Sample the top horizon H^ at a series of points (h[i](i) : i = 1,..., m}


where the restoration vectors r (h[i] ()) are assumed to be known. Next,
for each point h[1](i) located in a 3-cell of the grid, add three fuzzy
Control-Property constraints (see page 186) to CY thus specifying that
the three components of the restoration vector need to be equal to the
respective components of r(h[i](i)) at this location.
5. Add a "Minimum-Deformation" DSI constraint to Cr to specify that
the components of the strain tensor have to be as close as possible to
zero. However, to allow large displacements along the faults, this type
of constraint must not be installed for cells cut by faults.

6. Add a "Mass-Preservation" DSI constraint to Cr to specify that the


continuity equation (8.73) has to be honored at any node a 6 fJ.

7. If need be, some additional DSI constraints can be added to CY.

8. Run DSI on the model .M3(f2, N,r,C r ).


9. The final step involves using the values {r(a) : a 6 1} to interpolate
r(x[j]) at any point X[i] to be restored in the studied domain K = "R^
424 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.27 Barycentric interpolation of the restoration vector at a location x


within a regular linear 3-grid. For the sake of clarity, in this figure all the restoration
vectors are assumed to be parallel to a vertical plane and only a vertical cross section
is shown.

and to apply the following backward transformation:

The only theoretical difficulty is in building the DSI constraints corresponding


to steps 5 and 6; this problem is addressed in sections (8.6.4), and (8.6.5).

Some practical implementation details (1)


Let x = X[i] be a given point in the region 72, = T^[i] to be restored, and let
C(x[i]) be the cell containing x^] and belonging to the regular linear 3-grid
used to compute the field of restoration vectors.
As suggested in figure (8.27), let (u,v,w) be the local normalized coordi-
nates (see section (3.4.3)) of x^] relative to the local frame associated with
the edges of the cell (^(x^]):

According to equation (3.16), the barycentric interpolation r(u,v,w) of the


restoration vector at location x^] is defined as follows:

In this definition of r(w, v,w), it is implicitly assumed that the nodes of the
3-cell C(x[i]) are numbered in such a way that
8.6. UNFOLDING A STACK OF LAYERS 425

Figure 8.28 Vertical cross section showing how geometrical inconsistencies


can be avoided by removing the grid cells and the triangles of the horizons in the
neighborhood of faults.

Using this barycentric interpolation (8.76) of r allows any point x^] 6 *R,\i\ to
be easily restored according to the following four-step procedure:
1. determine the 3-cell C(x.[i]) containing X[ij;
2. compute the local normalized coordinates (u, v, w) of X[i] relative to the local
frame associated with the edges of C(x[i]);
3. compute r(u,v,w) according to equation (8.76);
4. restore X[i] as follows:

Some practical implementation details (2)


As shown in figure (8.28), two types of geometrical inconsistencies may arise
in the neighborhood of faults:

A horizon may not meet the fault surface exactly, thus generating some
gaps between its boundary and the fault. This kind of inconsistency has
no effect on the interpolation of the field of restoration vectors and can
be completely ignored.
426 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

A horizon may go a short way beyond the fault, thus generating over-
laps with the fault. This kind of inconsistency may induce dramatic
errors when interpolating the field of restoration vectors on triangles
corresponding to such an overlap:

should such a problem arise for the top horizon #[1], then sampling
points h[i] (i) located on inconsistent boundary triangles will induce erro-
neous Control-Property constraints at step 4 of the proposed restoration
algorithm;
should such a problem arise for any one of the horizons, then the vertices
of the inconsistent boundary triangles will not be correctly restored at
step nine of the proposed restoration algorithm.

A practical solution to help avoid such inconsistencies is suggested in figure


(8.28) and involves proceeding as follows where all the horizons {H*} to be
restored are assumed to be modeled as triangulated surfaces {T(H1}}:

At step 4 of the proposed restoration algorithm, remove all the sam-


pling points located in one or several rings of boundary triangles in the
neighborhood of faults from the top horizon Hl = H^.

For each horizon T(H1} to be restored, split the final step of the pro-
posed restoration algorithm into the following substeps:

build a discrete model M3(ll, AP,x, Cx) where x models the ge-
ometry of T(H1} at current geological time t = 1 while N* models
its topology;
build a twin discrete model A/t3(O% 7V" z ,r,Cr) where r models the
restoration vector on T(Hl);
for each vertex x(ctz) ofT(H'1) not located in the neighborhood of
a fault,
* determine the cell C(x(at)) of the regular rectilinear 3-grid that
contains x(a l ) and use the barycentric interpolation (8.76) for com-
puting the restoration vector r(al) at this location;
* add to Cr a Control-Node DSI constraint specifying that r(al) is
known;
- run the DSI algorithm on .M 3 (fT, JV%r,C r ) for computing r(al)
for all a1 6 fT located on the neighborhood of a fault;
- for each vertex x(a z ) of T(Hl), apply the restoration transforma-
tion:

It is relevant to note that this method for avoiding side effects in the neigh-
borhood of faults does not depend on the fact that the objects to be unfolded
are surfaces. As a consequence, this method can easily be extended to the
restoration of any object described by a discrete model Ai 3 (0 r , -/V%x,C x ).
8.6. UNFOLDING A STACK OF LAYERS 427

8.6.3 Derivatives of the restoration vectors


As already mentioned, it can be observed that the restoration vector r is the
exact opposite of the displacement vector v introduced in section (8.4):

Taking into account this remark, equations (8.57) and (8.73) clearly show that
derivatives of the field of restoration vectors directly control both the compo-
nents of the strain tensor and the continuity equation. As a consequence, the
Minimum-Deformation and Mass-Preservation DSI constraints mentioned in
section (8.6.2) should make direct use of these derivatives. For this reason and
prior to studying these constraints, it is important to show how the derivatives
of r can be evaluated numerically: this is precisely the goal of this section.

Notations
For the sake of simplicity, in the next sections the parameterization u(x) of
the folded region K is assumed to be identical to the vector x itself:

Moreover, depending on the context, components (x^x^x 3 ) and (r^r^r 3 )


of the vectors x and r will be noted (x, y, z) and (r x , r y , r*), respectively:

Let us consider a node a of the regular 3-grid used for estimating the field of
restoration vectors. As suggested in figure (8.29), if, starting from ct, a step
is performed in the positive direction of the x axis, then a new node a~ is
generally reached except, possibly, if a is located on the boundary of the grid.
Conversely, if we perform a step in the negative direction of the x axis, then
we generally reach a new node a~. Similarly, moving one step in the negative
and positive directions of the y and z axes allows new pairs of nodes (a~, <x+)
and (a~,ct^~) to be reached.
More generally, if we do not follow the directions of these steps, then it
we can say that a 3-cell C = C(a) of the grid is fully identified by one of its
vertices a and three of its direct neighbors (a, a^, acz}. As suggested in figure
(8.29), the four remaining vertices of such a 3-cell are referred to as o^y, a 2 ,
otyZ, and acxyz, respectively. If the vertices (a,o^,o^) are reached from a
by doing (positive or negative) steps (A, A^, A^) in the (x,y,z) directions,
respectively, then the remaining vertices of C = C(a) can be reached as
follows from a:
ofxy is reached by doing steps A and A;
atxz is reached by doing steps A^ and A^;
OLcyz is reached by doing steps A^ and A^; and
428 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Figure 8.29 Numbering conventions of the vertices of a 3-cell C = C(a)


surrounding a node a of a regular rectilinear 3-grid whose edges are assumed to be
aligned with the ( x , y , z ) coordinate axes.

OixyZ is reached by doing steps A, A, and A.


Note that each node a of the grid is surrounded by, at most, 8 of such 3-cells
C(o). It should be observed that some of these 3-cells may have their edges
intersected by faults. It is convenient to note 7(a) and l^J (a) the sets of
3-cells C(a) such that

Moreover, for the sake of consistency with previous notations introduced


throughout this book, the number of 3-cells contained in these sets 7?.(a)
and 72/(o:) will be referred to as \Jt(a) and |72/(o:)|, respectively.

Evaluating derivatives at the center of a 3-cell


Using the notations introduced above makes it easy to evaluate derivatives of
the restoration vector r(x) at the center of a 3-cell C(a), as follows:
8.6. UNFOLDING A STACK OF LAYERS 429

Evaluating derivatives at a node of the grid


Taking into account equations (8.80), (8.81), (8.82), and (8.83) allows the
derivatives of r(x) to be evaluated at any node a and in any direction d G
{x, y, z} as follows:

8.6.4 Mass-Preservation constraint


Whatever the restoration method used for unfolding the layers, the mass of
terrains18 has to remain constant. This constitutes the fundamental principle
that any 3D restoration method has to conform to and corresponds to the
continuity equation (8.73). In the following it will be shown how this equation
can be turned into a DSI constraint.
For simplicity's sake, it is implicitly assumed that the tectonic deforma-
tions are not so severe and that the acceleration 5 2 X[ t ](a)/'dt 2 can be ignored.
Accordingly, the continuity equation (8.73) can be reduced to the following,
simpler equation:

In the oil and gas industry, the top horizon is generally moderately folded,
making it feasible to use this approximation. However, in severely folded
geological structures, the acceleration <92X[t](a)/<9t2 cannot be ignored and
the solution obtained when using the equation (8.85) can only be considered
as a first-order approximation.

Approximating the continuity equation


Due to the compaction induced by the pressure19 of terrains, during the sed-
iment burial and diagenesis process the porosity 0(d) decreases with depth
d. In practice, the following empirical porosity/depth model of Magara is
proposed [143, 196, 122]:

where </>o is the initial porosity at depth d = 0 and A is the porosity decay
length20 as defined by

18
The volume may change due to compaction.
19
From a strict physical point of view, the porosity evolution versus depth depends on
the actual pore pressure and not only on the pressure due to burial.
20
In this definition of A, the constant e is assumed to be equal to exp(I) = 2.718281828....
430 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Such a variation of the porosity induces a variation of p(x.^(a)) as a function


of the depth d (zu xfn(a)) where zu represents the z-coordinate21 of the
horizontal unfolding plane 14:

For the sake of simplicity, po is assumed to be a constant independent of a:


this hypothesis allows po to be eliminated from the final equation (8.93), and
its actual value can thus be ignored. According to equation (8.72), it can be
observed that, at geological time t = 1, the derivative dx.LJdt can be roughly
approximated by

Denning p'(x[t](a)) as

and taking into account the fact that the geological time step At is equal to
(-1) between the states x^a) and X[0](a), it can be deduced from (8.88) and
(8.89) that

The continuity equation (8.85) at geological time t I can then be rewritten


as follows:

It can be observed that

Consequently, from equations (8.89), (8.90), and (8.91), at geological time


t = 1, the continuity equation (8.85) can be approximated by

Finally, introducing the function p,(x.^(a)) defined by

it can be concluded that the continuity equation (8.85) is approximately equiv-


alent to

21
It is assumed that the z axis is oriented positively upward.
8.6. UNFOLDING A STACK OF LAYERS 431

Defining Coni(r, //|a, C)


Using notations introduced in section (8.6.3), for any 3-cell C(oi), the value
D(r\a,C) is defined as follows as a function of derivatives of r computed at
the center of C = C(a):

In other words, D(r\a,C) is equal to four times the approximation of the


divergence of r at the center of the 3-cell C:

Prom equations (8.81), (8.82), and (8.83) we deduce that

Let fj,(a,C} be the value of the function //, denned by equation (8.92) at the
center of the 3-cell C(a). By definition, the function Cont(r, JJL a, C} is defined
as follows for any 3-cell C(a) of the grid:

Taking into account equation (8.95) clearly shows that Cont(r,(j,\a,C) is ap-
proximately equal to four times the left-hand side of the equation of continuity
(8.93). As a consequence, the mass of terrains will be preserved if the following
constraint is honored for any 3-cell C(a) of the grid:

This constraint is linear relative to components of the restoration vectors at


vertices of the 3-cell C(oi) and can thus be easily turned into a DSI constraint:
this is precisely the goal of the next section.
432 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

DSI constraint
Let d, dy, d^+, dc~, and ac be coefficients such that

and let {Av,c-,(j3} : (3 6 fJ} be associated coefficients denned as follows:

Note that the square of coefficients {A^c\(fi)} so denned sum up to 1:

Using these coefficients, it can be checked that

In other words, the constraint (8.98) is equivalent to the following normalized


DSI constraint:

The index K(C) in the above equation represents the DSI constraint associ-
ated with the 3-cell C(a) where the continuity equation is evaluated. Ac-
cording to equations (4.49), each non-null coefficient {^(c\(/3)} induces a
series of three pairs of terms {^ (c) (/?),f* (c) (/3|r)}, {^ (c) (/3),f^ (c) (/5|r)} and
{^( c )(^)'f^(c)(^l r )} occurring in the local form of the DSI equation. For
example, the terms related to the node a of the 3-cell C(a) take the following
form:

Theoretically, terms associated with other non-null coefficients { A ^ , , ( @ ) }


should also be denned in a similar way. However, from a practical point of
8.6. UNFOLDING A STACK OF LAYERS 433

view, this is not at all necessary: it can be verified that the same result can be
obtained by replacing all these terms by the following terms {7^* (/3}, F^* (J3 r)}
deduced from those defined by the equation (8.101) and where K* = K*( xy , a)
represents a composite DSI constraint:

8.6.5 Minimum-Deformation constraint


According to the Minimum-Deformation principle introduced in section (8.4.11),
the field of restoration vectors r(x) must minimize the components of the six
independent components of the strain tensor 8:

For the sake of simplicity, notations introduced in section (8.6.3) are used, and
it is convenient to specify that the above equation should be honored only at
the center of any 3-cell C(a) of the regular rectilinear 3-grid not cut by a
fault. According to equation (8.57) and constraints (8.103), it is equivalent
to say that, for any 3-cell C*(a), we should have

In practice, second-order terms in the above constraints are, generally, an


order of magnitude lower than those of first-order terms. As a consequence,
these second-order terms can be neglected: the above equations reduce to
the six following equations, which are linear relative to components of the
restoration vector r:

The next sections show how these equations can be turned into DSI con-
straints.

Defining "XiXj (r|a, C)


According to the numerical technique introduced in section (8.6.3), it is always
possible to evaluate derivatives of the restoration vector r at the center of any
3-cell. Let -E^ox^ (r a, C) be the function defined as follows at the center of a
3-cell C(a):
434 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

According to equation (8.104), it is clear that E-^i-^j and ^x*xj evaluated at


the center of C(oi) are linked by the following relationship:

Using approximations (8.81), (8.82), and (8.83), it is easy to evaluate these


values E^i^j. For simplicity's sake and according to notations (8.79), in the
following, the components (x^x^x 3 ) and (r^r^r 3 ) of the vectors x and r
will be noted (x, y, z) and (r x , ry, r z ), respectively, so that, for any 3-cell C(a)
we can write

The other terms Exz, Eyz, Exx, Eyy, and Ezz can be defined in a similar
way:
8.6. UNFOLDING A STACK OF LAYERS 435

DSI constraints
As a tutorial example, let us address the problem of building a DSI constraint
to minimize the component i^x2 = xy of the strain tensor. According
to equation (8.105), at the center of the cell C(ot), this is equivalent to the
following constraint:

Let d^,^.
^ I ^ y
d!f,/
y/'Ly
. and cr,,y be coefficients such that

and let {A^cJ/3) : (3 )} be associated coefficients defined as follows:

Note that the square of coefficients {A^,CJ(3}} so defined sum to 1:

Using these coefficients, it can be verified that

In other words, the constraint (8.112) is equivalent to the following normalized


DSI constraint:

It should be noted that the index (C f ) in equation (8.114) represents the DSI
constraint and depends on the 3-cell C = C(a) where the component xy of
the strain tensor is estimated. According to equations (4.49), to each non-null
436 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

coefficient {Av,-,(f3}} corresponds two pairs of terms (7^(c)(/3), r^/^(/3|r)} and


i^Cc)(^)' (c)(^l r )} that occur in the local form of the DSI equation. For
example, terms related to the node a of the 3-cell C(a) take the following
form:

The terms associated with other non-null coefficients {Av,^(f3}} should also
be denned in a similar way. However, from a practical point of view, this is
not at all necessary: the same result can be obtained by replacing all these
terms by the terms {7^(/?),r^(/3|r)} and {7^(/3),r^(/?|r)} deduced from
those defined by equation (8.115) and where K* = K*(xy,a} represents a
composite DSI constraint:

The minimization of the other independent components xz, yz, xx, yy,
and zz of the strain tensor can be achieved in a similar way.

Comment
A slight, but important, difference should be noted between pairs of terms
{7^*, r^*} defined by equation (8.102) and those defined by equations (8.116):
In the case of the Mass-Preservation constraint, the sum is performed on the
whole set Tl(a) of cells surrounding the node a even in the neighborhood
of faults. This is necessary to avoid gaps and overlaps, which could occur
between fault blocks along the faults.
In the case of the Minimum-Deformation constraint, the sum is restricted
to the set 72/ (a) of cells surrounding the node a and not cut but a fault.
Such a restriction is necessary to allow large deformations to occur in the
neighborhood of faults.

8.6.6 Other possible DSI constraints


As usual with DSI, the more constraints there are, the more the solution gen-
erated by DSI has a chance of being "geologically" admissible. Potentially
there is nothing to limit the choice of such additional constraints except com-
mon sense. In this section, as an example, we present a few such additional
constraints, which can be used in combination with the Mass-Preservation
and the Structural constraints presented in the previous sections.
8.6. UNFOLDING A STACK OF LAYERS 437

Pin-Point constraint
The simplest additional soft constraint that one can think of introducing is to
specify that a given point x(a) called "Pin-Point" has to keep one (or several)
of its coordinates {xt/(a) : v x, y or z} fixed during the restoration process.
Such a constraint is equivalent to installing a fuzzy Control-Point constraint
(see section (4.7)) specifying that the corresponding component r I/ (a) of the
restoration vector at location x(a) is equal to zero.
Note that the notion of "Pin-Line" introduced by Dahlstrom [53] can be
modeled as series of Pin-Points.

Tangent-to-Fault constraint
Consider a node a il located in the neighborhood of a fault T and charac-
terized by the fact that an edge (a, (3) incident to a is cut by F. Let Njr(a)
be the average normal to F in the neighborhood of a. In the case where the
restoration vector r(o;) is small, it is sometimes possible to assume that this
vector must be approximately tangent to T\ this is equivalent to saying that
the following constraint c = c(a, J-} should be honored:

Assuming that N^(a) is a unit vector, it can be observed that such a con-
straint can be turned into the following normalized DSI constraint:

where the coefficients {A^((3)} and bc are defined by

According to equations (4.49), it can be concluded that the associated terms


7^ (a) and F^(a|r) occurring in the local form of the DSI equation are such
that

In the case where the fault-throw direction t(a) at node a is known (see
page 372), in equations (8.117) and (8.118) it may be wise to replace the unit
normal vector N^a) by the vector N^-(a) defined as follows:
438 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Rigid-Region-Translation constraint
Sometimes, geologists may identify regions of the model that have been merely
translated, by an unknown vector, without any deformation through geolog-
ical time. For each such region R C 0, the rigid translation assumption
induces the following constraints on the field of restoration vectors:
constant
or, equivalently

It is relevant to note that each of these constraints can, in turn, be transformed


into the following normalized DSI constraint c = c(y, a, R] defined by

where A"(0) and bc are such that

As one can easily check that \\AC\\ = 1, this implies that the DSI constraint
so defined is actually normalized.
According to equation (4.51), it can be concluded that the terms ^(a) and
r^(a|r), occurring in the DSI equation (4.46) at node a e R and associated
with the constraint c = c(i>, ce, R), are such that

Observed-Strain constraint
There are situations [7] where geologists can evaluate an approximated value
XiX:/ (a) of a component of the strain tensor at a given node a. Using the
notations introduced in section (8.6.3) and (8.6.5), implies that the field of
restoration vectors should honor the following constraint for all the 3-cells
C = C(a] surrounding a and not cut by a fault:

If we note # X i X j (r\a,C) the function of r defined as follows


8.6. UNFOLDING A STACK OF LAYERS 439

then the constraint (8.119) can be rewritten as

For example, in the case where xz = x and x j = y, which is similar to the


case of the Minimum-Deformation constraint introduced in section (8.6.5), the
above constraint generates pairs of terms {7( c )(/3)>r^/x(/3|r)} and {7w c )(/?) ?
r^/ c )(/? r)} occurring in the local form of the DSI equation:

Summing these terms for all 3-cells surrounding the node a and not cut
by a fault generates the following composite terms and

8.6.7 Deformation analysis


Let us now assume that the deformed region is associated with the parametric
coordinate system defined by equation (8.78). According to equation (8.57),
the components of the strain tensor at the center of a 3-cell are

The numerical approximations (8.81), (8.82) and (8.83) allow each component
Z-x.i-x.3 (oi) of the strain tensor (ot) to be computed numerically at each node
a of the 3-grid as follows:

Note that the parameterization denned by equation (8.78) implies that the
metric tensor of the deformed region 'R, is constant and equal to the unit
tensor:

Consequently, from equation (8.32), it can be concluded that

According to equations (8.35), (8.39) and (8.44), the principal strain direc-
tions (W(i), W( 2 ), W(3)}, their associated elongations {e^), e( 2 ),e( 3 )}, and
the dilation coefficient 6 can thus be determined easily.
440 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

Comment
It is generally admitted that some deformations, especially extensional, induce
fractures that in turn tend to change the permeability in the reservoirs. From
a practical point of view, this observation can be used in two different ways:
It can reasonably be conjectured that the invariants of the strain tensor (see
page 400) are correlated22 with the permeability. This suggests that these
invariants could be used as "secondary" functions for estimating the perme-
ability with the Colocated CoKriging method presented in section (9.7.4).
The fractures induced by the deformations can be observed on well logs but
are invisible in the seismic images. These subseismic fractures are generally
modeled as elliptical pieces of planes simulated at random in the domain being
studied. Let us assume that elongations (e(i), 6( 2 ), 6(3)} associated with the
principal strain directions (W(i), W(2), W($)} are sorted as follows:

To improve the orientation and the shape of these ellipses, their two main
axes may be chosen as proportional to the two first principal strain directions
{W(i), W(2)} modulated by their associated elongations (e(i),e( 2 )}.

8.6.8 A test example


figure (8.30) shows an example of a 3D balanced restoration obtained with
the method presented above. In this example,
the initial geological model at current geological time t = 1 is the one presented
in the left-hand side of figure (8.17),
the unfolding of the top horizon was performed with the isometric parame-
terization method described in section (8.5) and shown in the upper half of
figure (8.17), and
the Mass-Preservation and Minimum-Deformation constraints were used with-
out taking into account the decompaction.
This example clearly shows that the proposed method yields consistent results,
leading us to conclude that the current model is probably geometrically cor-
rect except, possibly, at one location pinpointed in figure (8.30). As mentioned
above, to allow an objective testing of the efficiency of the Mass-Preservation
constraint, compaction/decompaction was not taken into account. It is inter-
esting to note that both the area of the horizons and the volume of the layers
were preserved after restoration with a relative variation of 10~2.

Comment
The geometric model used in this example is a synthetic model called the
"EAEG-model"23 which was realized by IFF using gOcad software [6]. In
22
Note that such a correlation is positive if there is no cementation of the micro fractures
induced by the deformation, otherwise it will be negative.
23
EAEG is the acronym for "European Association of Exploration Geophysicists," while
IFF is the acronym for "Institut Francais du Petrole."
8.7. CONCLUSIONS 441

Figure 8.30 Solid view showing an example of a 3D balanced restoration where


the top horizon is unfolded with the isometric parameterization method. The initial
model corresponds to the left-hand side fault block of the example presented in
figure (8.17).

practice, for building this model, a series of balanced 2D parallel vertical


cross sections were first generated using a forward modeling technique. Using
gOcad, these synthetic cross sections were next transformed into fault and
horizon triangulated surfaces, which in turn were used to build the model
represented in the left-hand side of figure (8.17).

8.7 Conclusions
Contrary to most of the methods presented in the rest of this book, the
methods presented in this chapter are very specific to geology and, more
precisely, to the structural geology of stratified media.
Because numerical structural geology is a wide field of active research,
this chapter can be considered as no more than a brief introduction limited
442 CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY

to some examples of important problems associated with sedimentary layers.


Once again, DSI and the discrete modeling approach proposed in this book
provide efficient tools that can be very useful even in complex cases.
Chapter

9
Stochastic Modeling
Important economic decisions are often made based on models of the subsur-
face. However, due to the sparse and unprecise data, these models cannot
be considered fully reliable, and the impact of uncertainties should be inte-
grated into the decision-making process. As shown in this chapter, stochastic
methods provide a useful framework for assessing the uncertainties attached
to these models.

9.1 Simulation versus interpolation


One common problem in the geosciences is that the set of information avail-
able is not enough to assess the local complexity of the entities1 to be modeled.
In areas far away from the data points, any interpolation method honoring
these data would produce one single smooth solution that does not reproduce
possible high-frequency variations of the actual phenomenon; this is a conse-
quence of the Shannon theorem [15], which can be approximately formulated
as follows:
If a function has neighboring extrema, located at a relative dis-
tance d from each other, then an interpolation method can repro-
duce these extrema only if the data spacing is less than or equal
to d/2.
This implies that, in regions away from the data points, the corresponding
"most probable" solution can have only a "smooth behavior," which is typ-
1
In practice, these "entities" represent the geometry and the physical properties of the
geological object.

443
444 CHAPTER 9. STOCHASTIC MODELING

Figure 9.1 For each equiprobable solution S(u, a>), the functional "R,i generates
a response rj(u;), and the frequency of a given value TI for this response is equal to
fi(n}.

ically very different from the actual behavior of the entities to be modeled.

As a consequence, it could be hazardous to make economic decisions based


on a single and artificially smooth solution, even if this solution is the "most
probable" one. In practice, economic decisions are based on the values of a
series of nonlinear functionals {T^i,??^,...}, which transform any particular
solution S into a series of real numbers {ri, r2,...}:

For example, in decisions related to the management of an oil reservoir, the


following functionals, where S represents one particular reservoir model, may
be considered (see figure (9.1)):
The time r\ Tl\ (S) of the first arrival of water (breakthrough) at a well
location.
The total volume of oil r2 = 72.2 (<$) produced after one year of production,
These values {ri,r2,...} can be evaluated using a flow simulator fed with
parameters (porosities, permeabilities) included in the model <S. To avoid
catastrophic decisions, Journel [119] suggests proceeding as follows:
1. Generate a series of equiprobable elementary statistical events:2

2
See section (9.2.1).
9.2. PROBABILITIES IN A NUTSHELL 445

2. Generate an associated series of equiprobable solutions, all honoring the


data:

In the above solutions {S(u, u;)}, (u e D} is assumed to be a set of points


attached to the object to be modeled (see figure (9.1)).
3. Compute the associated series of responses ri(u) = 72-i(S(-,u;)):

4. For a given functional 7i, in general the responses are not distributed uni-
formly, and the series {rj(u;i), ^(0*2),...} can be used to build an estimate of
the frequency fi(ri) of a given response r*.
The frequency distributions {/i(ri), fafa), } thus obtained can be used to
assess the risks associated with any decision: the distribution f i f a ) represents
a measure of the uncertainty related to the functional 7t^.
This decision-making strategy is relevant only if it is possible to produce
a series of equiprobable solutions <S(u, u^-) called simulations honoring the
two following fundamental constraints:
Each simulation S(u,u}j) honors all the data.
Each simulation S(u,u>j) has a local behavior deemed compatible with an a
priori knowledge of the "style" of local variations for the entity to be modeled.

In this approach, each solution <S(u, u/j) appears as a realization of a random


model <S(u,a;) also called a "stochastic simulator"3 or, more simply, a "sim-
ulator." Despite the many possible stochastic methods [215, 58, 94, 45] that
can be used for building such random models, they are of practical interest
only if they can produce a large number of equiprobable solutions at low CPU
and memory cost.

9.2 Probabilities in a nutshell


This section briefly introduces the minimum notions of probability required
for an understanding of the models presented in the next sections. For an
extensive presentation of the probability theory, the reader is referred to
[78, 101, 139]. For simplicity's sake, mathematical details such as "measura-
bility" or "integrability" of functions or "completeness" of <j-algebras will not
be addressed. In other words, it will be assumed that all the necessary sub-
tle mathematical conditions needed for ensuring the validity of the concepts
presented in this chapter are implicitly honored if not explicitly mentioned.

9.2.1 1 Notion of Probabilized Space


In probability theory, a Probabilized Space consists of any triplet (15, A, P}
where:
3
These "stochastic" simulators should not be confused with "flow" simulators used in
the oil and gas industry.
446 CHAPTER 9. STOCHASTIC MODELING

O is the set4 of all the elementary statistical events uj corresponding, for ex-
ample, to experiments that may be performed in the context of the problem
to be considered.
A is a a-algebra on IS, that is a family of subsets of 13 stable for the union and
the intersection:

Any subset A belonging to A is called an event.


IP is a, probability denned on A that is an application from A to [0,1] such
that

The two following notations are traditionally used for the probability of an
event A A:

For any pair (A, B) of parts of A such that IP(B] ^ 0, the probability of A
"conditioned" by B is noted as JP(A\B} and defined as follows:

This conditional probability JP(A\B} represents the probability that any event
u) belongs to A when it is already known that uj belongs to B.

9.2.2 Notion of a Random Variable


An application Z from 13 to the real parametric space 1R is said to be a
Random Variable, (RV), relative to (15, A, P} if, and only if, for any interval
]a, b] of IR there is an event A(a, b] A such that

The notion of expected value E(Z), also called the mean, is defined as the
average (if it exists) of the values of Z on 15 weighted by the probability
distribution JP:

4
Traditionally, in books dedicated to probability theory, this set is noted as 7. In this
book, it was decided to note it as 13 to avoid confusion with the set of nodes 1 used in the
Discrete Smooth Interpolation theory (see section (1.2)).
9.2. PROBABILITIES IN A NUTSHELL 447

Figure 9.2 An example of a one-dimensional cdf function Fz(z) and its associ-
ated pdf function fz (z).

Note that, in the case where 13 is a finite set of elementary statistical events,
the above Lebesgue integral degenerates into a finite sum:

The mean value mz and the variance <r| of Z (when they exist) are then
defined as

By definition, the square root o~z of a\ is called a "standard deviation" of Z,


and it is said that

For any RV Z, there is a Cumulative Distribution Function (cdf) sometimes


called the "law" of Z, defined on TR as

From the definition of JP, it is easy to infer the following properties for any
cdf:

When FZ(Z) is derivable relative to z, its derivative

is a nonnegative function called the Probability Distribution Function (pdf)


of Z. Figure (9.2) shows an example of cdf and its associated pdf.
It can be shown that, for any function5 g ( z ) , the following formula called
the formula of transfer is valid:

5
Strictly speaking, any A-measumble function, see [101].
448 CHAPTER 9. STOCHASTIC MODELING

This implies that, if f z ( z ) exists, the mean mz and the variance a\ can be
computed according to the following formulae:

If FZ(Z) is not derivable, then a formula similar to equations (9.6) and (9.7)
can be obtained using the Stieljes-Lebesgue integrals (see [15]):

The most simple example of RV is the (binary) indicator Random Variable


Z = I A associated with an event A of A defined as

The following straightforward relation always holds for any indicator RV I A '

Moreover, it can be shown that any RV Z can be approximated by a weighted


sum of indicator Random Variables:

In this sum, {zi} represents a series of real values, while the events {Ai} are
assumed to realize a partition of 13.

9.2.3 Some useful examples of RV's


Uniform Random Variable
Let [a, b] be an interval on JR. An RV Z is said to be "uniform" on [a, b] if its
cdf is such that

It can be checked that the associated pdf f z ( z ) is such that


9.2. PROBABILITIES IN A NUTSHELL 449

This RV is fully defined by the two parameters a and b or, equivalently, by its
mean and variance, which are

The inverse function U~l(p\a, b) is a linear function of p G [0,1]:

Moreover, the cdf FX (z) of any continuous Random Variable X can be roughly
approximated as follows by a uniform law having the same mean mx and the
same variance a\ as X:

Similarly, the inverse function Fxl(p) can be roughly approximated by

Gaussian Random Variable


Let m be a real number and a2 be a positive real number. An RV Z is said
to be "Gaussian" or "normal" if its cdf is such that

The associated pdf fz(z) is

This RV is fully defined by its mean and its variance

Useful precise numerical approximations of Fz(z] and F^l(p) can be found


in [1].

Degenerated Random Variable


Let m be a real number. An RV Z is said to be "degenerated" if its cdf is a
Heaviside function, as denned by

Note that the degenerated cdf Ti.(z\m) can be viewed as the limit of a normal
cdf J\f(z\m, cr2) when the variance cr2 tends toward zero:

It can also be viewed as the limit of the uniform cdf U(z\a, b) when a and b
tend simultaneously toward m:
450 CHAPTER 9. STOCHASTIC MODELING

9.2.4 Score-transform theorem


A famous theorem called the score-transform theorem states that the two
following relationships are always true:
For any RV X, the transform U = Fx(X) is such that

where U(u\0,1) is the uniform cdf on [0,1]. The RV U = F X ( X ) so denned is


called the uniform transform of the RV X.
Conversely, if U is an RV uniformly distributed on [0,1], then, for any contin-
uous cdf F, the following implication is true:

From equations (9.16) and (9.17), the "score-transform formula" can be de-
duced in a straightforward way:

Proof
According to equation (9.5):

Applications
The property (9.17)
9.2. PROBABILITIES IN A NUTSHELL 451

is of particular interest in simulation when an RV Z having a given


cdf F(z] has to be generated. In such a case, using a random number
generator able to simulate a uniform RV U allows Z to be defined as
Z = F^1 (U). For an example of the use of this property, refer to section
(9.6).
More generally, the score-transform formula shows that any RV X can
be transformed into a RV Z having any type of predefined continuous
cdf F. For an example of the use of this property, refer to section (9.3.5).

9.2.5 Notion of a vectorial Random Variable


The case of a pair (Zi, Z%} of Random Variables
Consider a pair of RV's (Zi,Z 2 ). These two RV's can be considered as the
components of a column matrix or vector Z:

Such an application from U to JR is called a "bivariate" RV. When they exist,


the mean value mz and the covariance matrix [Czz] are defined as

In the matrix [Czz], each term Cz.z. is called the covariance of the pair
(Zi, Zj] and is defined by

Note that the variance cr|. defined by equation (9.4) is such that

The notion of cumulative distribution function is generalized to M2 by the


following formula:

From the definition (9.1) of JP, it can be shown that any bivariate cdf
z zF
has the following properties:

When FZiZ2(zi,Z2) is derivable, its derivative


452 CHAPTER 9. STOCHASTIC MODELING

is a nonnegative function called the Probability Distribution Function (pdf)


of the vector Z. The above definitions imply the following relations where
fz (z\) and fz (22) are called the "marginal" pdf functions relative to z\ and
2, respectively:

Similarly to the one dimensional case, it can be shown that, for any function
9(zi, zz], the following formula of transfer is valid:

Generalization
Let us consider a family {Zi,Z%,..., ZN} composed of N RV's indexed by an
integer index i G [1, N]. These RV's can be considered as the components of
a column matrix Z:

Such an application Z from 13 to MN is called a vectorial RV. When they


exist, the mean value mz and the covariance matrix [Czz] are denned by

Note that [Czz] is symmetrical because CZiZ. = Cz.z.. Moreover, any linear
combination of the components of Z is a (scalar) RV Y which can be written
as

It can easily be checked that the variance dy of that linear combination is


then a quadratic form:

This implies that any covariance matrix [Czz] is always semipositive definite.

Multivariate Gaussian Random Variable


By definition, a Random Variable Z = [Zi,..., ZN]* with a mean value mz
and a covariance matrix [Czz] is said to be a "multivariate Gaussian" variable
if its pdf fz(z) is defined by
9.2. PROBABILITIES IN A NUTSHELL 453

In practice, multivariate Gaussian Random Variables are characterized by the


following properties:
any submatrix of Z is also a multivariate Gaussian Random Variable;
any linear combination of the components of Z is a one-dimensional Gaussian
Random Variable;
the components of Z are independent6 if, and only if, [Czz] is diagonal, that
is, CziZj = 0 for all i ^ j ; and
for any partition of Z into two submatrices Z [X, Y], the conditional
distribution7 f y / x ( y \ x ) of Y when X = x is fixed is multivariate Gaussian.

9.2.6 Notion of independence


Definitions
Two events Ai and Aj are said to be .^-independent or, more simply
independent, if the following relation holds true:

According to equation (9.2), the independence of Ai and Aj can also be


defined as follows:
{Ai independent of A j }

By definition, two RV's Zi and Zj are said to be independent if the


events Ai and Aj

are independent for any a$ G 1R and any a,j G M.

Characterization of independent RV's


Let us first observe that

As a consequence, the following characteristic property can be deduced from


the definition of the independence of two RV's:
{ Zi independent of Zj }
6
7
See section (9.2.6).
See [139, 78, 159] for a formal definition of the notion of conditional distribution.
454 CHAPTER 9. STOCHASTIC MODELING

If FZ^J (zii zj) is derivable relative to Zi and Zj, then it can be deduced that,
for any pair (zi, Zj\ the following properties also hold true:
{ Zi independent of Zj }
Moreover, if Zi 1^ and Zj = IA^ are two indicator Random Variables (see
definition (9.9)), then the following property is a straightforward consequence
of the definitions (9.3) and (9.21):
{ Zi independent of Zj
From equation (9.10), it can be deduced that this property is also true in the
general case where Zi and/or Zj are not indicator Random Variables.

Transformation of independent RV's


The following property is true for any pair {gi(z),gj(z)} of ordinary functions:8

{ Zi independent of Zj } <=> { i(Zi) independent of gj(Zj) } (9.24)


In this case, the Random Variables {Zi, Zj} are said to be "pairwise indepen-
dent."
More generally, a series of n Random Variables {Zi,..., Zn} is said to be
stochastically independent if, for any series {gi,..., gn} of ordinary functions,
the following equality holds:
E{ 5l (Zi) 92(Z2) gn(Zn) } = E{g1(Zl)} E{g2(Z2)} E{gn(Zn)} (9.25)

Warnings
Pairwise independence for all i ^ j as defined by equation (9.24) does
not implies the independence of the series {Zi,.. .,Zn} as defined by
equation (9.25).
Care must be taken not to confuse the shape of cumulative distribution
functions with the behavior of the associated RV's. There is no relation-
ship between the shape of two cumulative distribution functions and the
fact that the corresponding RV's are, or are not, independent:

In fact, it is possible for two independent RV's to have exactly the same
cdf.

Central limit theorem


Let {Zi, ^2,...} be a series of Random Variables and let SN be the associated
Random Variable, as defined by

8
In fact, gi(z) and gj(z) have to be measurable (see [101]).
9.2. PROBABILITIES IN A NUTSHELL 455

Figure 9.3 Random sampling of 15: to each N-sampling u>* 13* there corre-
sponds a set of N points 15 (u>*) = {u>i(uj*),.. .,UJN(U*)} belonging to 15. For each A
in 15, the subset A* represents the part of15* such that u)i(u*} A and is such that
IP* (A*} =]P(A).

If the Random Variables {Zi} have similar cdf's and finite variances and
moreover are centered and independent,9 then the cdf of SN converges toward
the cdf of a centered Gaussian Random Variable (see definitions (9.5) and
(9.14)).
This property known as the "central limit theorem" (see [78, 159]) is cer-
tainly the most famous theorem in the field of probability and statistics. In
a way, this theorem justifies the "central" role played by Gaussian Random
Variables in the field of statistics whenever Random Variables are interpreted
as sums of independent errors.

9.2.7 Random sampling


By definition, any series of N realizations of a Random Variable Z defined on
(U, A, IP] and observed during an experiment a;* is called an "JV-sampling"
of Z:

In practice, the set of elementary statistical events U(u;*) should be chosen


in a "random way" in 0 with the hope that it will be as representative as
possible of 15. This leads to the concept of "equiprobable realization" of a
Random Variable or a random function. The main purpose of this chapter
(see page 443) is precisely to generate such "equiprobable realizations," and,
9
Note that there is no other condition.
456 CHAPTER 9. STOCHASTIC MODELING

as such, it is worthwhile to define this concept mathematically rather than to


rely merely on intuition.
In this section, after an intuitive introduction, a formal definition of the
notion of "random sampling" is proposed that is at the origin of the notion of
"mathematical statistics." Prom a practical point of view, we will also show
how such samplings can be generated on a computer.

Random sampling of 13: an intuitive definition


As suggested in figure (9.3), let us consider a domain 13 corresponding to
a part of a geological map where a (potentially) infinite set 13* of companies
simultaneously and independently of each other decide to drill N wells.10 The
triplet (13, A, IP) can always be defined as the Probabilized Space associated
with the domain 13 in such way that A contains all the parts11 of 13, while JP
is defined by12

Accordingly, a series of N well locations {a>i(u;*),.. .,u;jv(<*>*)} can be asso-


ciated with each company ui* G 13*. Intuitively, it can be said that these
well locations constitute a "random sampling" of 13 when the two following
conditions are honored:
1) the number of companies that have chosen to install their ith
well u>i(u*) on any given part A of 13 is proportional to the area
of A, that is, IP (A),
2) for any subset A of 13, the fact of installing the ith well uji(u*)
on A has no influence on the possibility of drilling other wells
on the same subset.
The next section proposes a formalization of this notion of random sampling.

Random sampling of 13: A formal definition


Let (13, A, IP) be a first Probabilized Space and let (13*, A*, IP*) be a second
Probabilized Space called the "space of samplings." On the other hand, let
{13(uj*) : cu* e 13*} be a family of discrete subsets of 13 defined as follows:

By definition, it will be said that {13(u*) : LJ* e 13*} is a "random sampling"


of 13 if the Probabilized Space of samplings (13*, A*, IP*) has been chosen in
function of (13, A, IP) in such a way that the two following properties similar
to (9.26) conditions are honored:

10
For example, to measure the depth Z(uj) of a given horizon denned on 13.
11
Such cr-algebra is called the "Lebesgue" <r-algebra of 15.
12
\A\ and \13\ represent the area of A and 15, respectively.
9.2. PROBABILITIES IN A NUTSHELL 457

If this condition is honored, then the set 15(u*) is called a "realization" of the
random sampling of 13 and the associated events {uji(u>*},.. .,U>N(U*}} are
said to be "independent."

Random sampling of an RV
Let Z be a Random Variable denned on (15, A, IP], and let 15 (u*) be a ran-
dom sampling of 15 associated with (5*,.4*, JP*). On the other hand, and as
suggested in figure (9.3), let {Z*,..., Z^} be the series of Random Variables
denned as follows on (0*, A*, IP*):

By definition, {Z,..., Z^} is called a "random Af-sampling of Z" and each


series of values {Z*(u*},..., Z~^(uj*}} is called a "realization" of this N-
sampling. It will also be said that

are independent realizations of Z

As a direct consequence of (9.5), (9.21), (9.22), and (9.27), it can be shown


that

where FZ*(Z) and FZ(Z) are the cdf's of Z* and Z, respectively.

Notion of statistic
By definition, a "statistic" on Z is any Random Variable T* denned on
(0*, .4*, IP*) as a (measurable) function of an TV-sampling of Z:

Among the most classic statistics, one can mention the notions of "experi-
mental mean" M| N and "experimental variance" V N, as defined by

Using properties (9.29), it can easily be shown that


458 CHAPTER 9. STOCHASTIC MODELING

When N tends toward infinity, it is also possible to show (e.g., [84]) that M N
and YZ N tend toward the mean and the variance of Z, respectively:

For any pair of RV's X and Y", the "experimental covariance" C\y N is also
defined as

As with the properties of the experimental variance, it can be shown that

Construction of a random sampling of 13 = [0,1]


One of the many different procedures traditionally used in computer science
for generating a random sampling of 15 = [0,1] is presented in this section. For
this purpose, recall first that, on a 32-bit computer, the maximum positive
integer that one can represent is equal to M = (231 1) and then consider
the following Probabilized Spaces:13 (15, A, IP) and (0*,,4*,7P*)
U = [0,1] U* = {u* e JN+ : u* < M}
A = Lebesgue <r-algebra A* = cr-algebra of the parts of 15*
]P(A} = \A\/\15\ VAeA JP*(A*) = \A*\/\V*\ V A* e A*
(9.30)
For each w* e 15*, let 15(a;*) = {tt>i(u;*),.. .,a;jv(k>*)} be the series consisting
of N real numbers, defined as follows,14 on O = [0,1]:

It can be shown that the series 15(a;*) so defined has a period equal to15
(M l)/2 and, as long as N is lower than this period, experimental tests
have shown that, for any segment Ac [0,1]
1. the number of points Ui(u)*) belonging to A is proportional to the length of
A, that is to say, to JP(A), and
2. the number of points uJi(ui*) belonging to A has no influence on the possibility
that U>J(LL)*) may also belong to A.
In other words, 15(u*) honors conditions similar to conditions (9.26) and, as
a consequence, can be considered as a random sample of 0 = [0,1].
13
The notation IV+ represents the set of the positive integers.
14
In this definition, the "modulo" operator % is such that (a%6) represents the rest of
the division of a by b.
15
For a 32 bits computer, this period is equal to 1,073,741,823, which is far beyond
practical requirements (see [84]).
9.3. RANDOM FUNCTIONS 459

Construction of a random sampling of an RV


Let us now consider the Random Variable U(uj} denned as follows on the
Probabilized Space (5, .4, IP], itself denned according to equations (9.30):

According to equations (9.30), it can be observed that U is uniformly dis-


tributed on the segment 13 = [0,1]:

As a consequence, according to the score-transform theorem, it is possible to


generate a random sampling of any Random Variable Z having a given cdf
FZ as follows:

Fundamental hypothesis: Random sampling


For practical reasons, only one set 0(u;*) is generally available. Consequently,
all that has been said up to now in section (9.2.7) is only a theoretical frame-
work: in practical applications, it is necessary to use a fundamental hypothesis
that assumes that the only available sampling U(o;*) of 13 is, in fact, a random
sampling.
Therefore, throughout the remainder of this book, for simplicity's sake,
the event u;* will systematically be omitted in the notations. Moreover, it will
be implicitly assumed that the events

are "well enough" distributed on 15 for it to be said that


the set {u>i,.. .,UN} is a random TV-sampling of O, and
the set { Z ( u j i ) , . . . , Z(U>N)} is a random TV-sampling of Z.

9.3 Random Functions


9.3.1 Definitions
Let be a normed linear vector space (see [141]) associated with a norm noted
as | assumed to define the distance between points of 8:

= distance between Ui and 112

Let us consider a family Z = {Zu : u e D} composed of RV's indexed by


a variable u with values in a region D of 8. In practical applications, 8 is
often a "parametric" non-Euclidean curved space having a finite dimension p
generally equal to 1, 2, or 3:
if D is a part of a curve (e.g., a well-path), then p = 1;
460 CHAPTER 9. STOCHASTIC MODELING

if D is a part of a curved surface (e.g., a horizon), then p = 2; and


if D is a part of a solid (e.g., a layer), then p = 3.
If all of the RV's in the family Z {Z\\ : u 6 D} are defined on the same
Probabilized Space (0,^4, JP), then this family is called a Random Function
(RF). From a practical point of view, the three following different notations
for the same RF Z are used:

It may be considered that


Z\i(u) is an RV generated by Z(u,o>) at point u G D.
Zu(u) is a function of u generated by Z(u,u>) at elementary event u; e 15.
The most simple example of an RF is the notion of Indicator Random Function
Zu = IA(U) associated with an event A(u) of A and which can be written as

The following property is always verified for any indicator RF /A(U) :

Within the framework of this chapter, the following notation will be used for
any region D of 8:

In the case where D is a finite set, as usual, \D\ will represent the number of
elements of D.

9.3.2 Moments of a Random Function


By definition, any RF Z(u, u;) can be considered either as a function of u or
a function of u;. These two points of view are associated with two families of
characteristics called "moments"
"statistical moments," also called "moments" when there is no possible am-
biguity, are ordinary functions denned by integrals on the variable u;, and
"spatial moments" are RV's or RF's denned by integrals on the spatial variable
u.

Statistical moments of an RF
The mean value m^(u), the covariance function CZ(VLI, u 2 ), the variance func-
tion cr|(u), and the variogram16 7z(ui, 112) of an RF Z = Z(u, a;), when they
16
In the early days of geostatistics, the function 7z( u ii U 2) was called a "semivariogram."
Nowadays, the prefix "semi" is no longer used.
9.3. RANDOM FUNCTIONS 461

exist, are ordinary functions, as defined by

By definition,

Most of the time, for simplicity's sake and when there is no possible confusion,
the following notations will also be used:

Note that the existence of (7(111,112) implies the existence of 7(111,112), but
the reverse is false:
C exists

7 exists
There is a family of RF's called "stationary" RF's that are of particular in-
terest in practical applications; this notion of stationarity [62, 156, 157] is
defined as follows:

When Z Z(u,cu) is order 2 stationary, then it is easily verifiable that its


variogram 7(11, u + h) exists, is also stationary, and is such that

Spatial moments of an RF
Any RF is a function of two variables, uo and u, and some (statistical) moments
relative to the variable LU were presented in the section above. Similarly, it is
possible to define moments relative to the variable u, called "spatial moment:"
where they exist, the spatial mean value ms(u>) and the spatial variance
crs2(o;) of an RF Z(u,uj) are ordinary RV's defined as
462 CHAPTER 9. STOCHASTIC MODELING

where they exist, the spatial covariance Cs(h, u>) and the spatial vari-
ogram 7s (h, u;) of an RF are RF's, as defined by

Ergodicity
From a practical point of view, to make computing possible, it is almost always
necessary to use a "magic" property specific to RF's called ergodicity. This
amounts to assuming that statistical moments and spatial moments can be
identified:
An RF Z is said to be order 1 ergodic if it is already order 1 stationary
and if, when \D\ tends toward infinity in equation (9.34), the following
property holds true for the mean value of Z:

An RF Z is said to be order 2 ergodic if it is already order 2 station-


ary and if, when |D(h)| tends toward infinity in equation (9.35), the
following property holds true for the covariance of Z

or, similarly, if:

Note that the above definitions of ergodicity can be slightly weakened in the
following sense:
An RF Z is said to be order 1 weakly ergodic if it is already order 1
stationary and if, when D\ tends toward infinity in equation (9.34), the
following property holds true for the mean value of Z:

An RF Z is said to be order 2 weakly ergodic if it is already order 2


stationary and if, when |Z?(h)| tends toward infinity in equation (9.35),
the following property holds true for the covariance of Z

or, similarly, if
9.3. RANDOM FUNCTIONS 463

Ergodicity viewed as a model


For practical reasons, in Computer-Aided design, one traditionally chooses
to use spline functions, for example, to model parametric curves and sur-
faces. This does not means that all the parametric curves and surfaces in the
universe are spline functions. This simply means that parametric curves and
surfaces can be fairly well approximated by spline functions, which, in turn,
can be efficiently implemented in computerized models.
Similarly, in practical applications, one traditionally chooses to use er-
godic RF's to model the behavior of stochastic phenomena. This does not
mean that all stochastic phenomena in the universe are ergodic. This simply
mean that ergodic models can fairly well approximate the behavior of stochas-
tic phenomena and, in addition, allow mean and covariance functions to be
estimated from partial observations of these phenomena.

9.3.3 Modeling C(ui, u 2 )


Posit ivity
Let us consider a finite set D* consisting of N sampling points that belong to
the parametric domain D:

For any such sampling, there is an associated vectorial RV Z deduced from


the RF Zu(w) = Z(u,aj) in such a way that

This implies that the associated covariance matrix [Czz] is such that

It has been shown (see equation (9.19)) that any covariance matrix must be
semipositive definite and this must be true for the above matrix whatever
the number N of sampling points {iij}. This suggests the following definition:
A function C(ui,u 2 ) will be said to be "semipositive definite" if,
and only if, any matrix [Czz] deduced from (7(111,112) according
to the above schema is semipositive definite.
This definition characterizes the covariance functions and it will be said that
A function G(UI, u 2 ) is a covariance function if, and only if, it is
semipositive definite.
464 CHAPTER 9. STOCHASTIC MODELING

Bochner's famous theorem [62, 159] characterizes the family of stationary


covariance functions:
Any continuous stationary covariance function C(h) is propor-
tional to the Fourier Transform of a symmetrical pdf /(s):

In the above expression, (s-h) represents the scalar product of vectors s and h
of the ^-dimensional parametric space E = 1RP, while i is the pure imaginary
number equal to \/T. In practical applications, this theorem is extremely
useful for building models of covariance functions that fit the observed data.

One-dimensional covariance functions


If p = 1, then, using the Bochner theorem, it can be shown that the following
functions are proportional to the Fourier transform of symmetrical pdf:
Gaussian model

Exponential model

Spherical model

Nugget-effect model

Note that the above covariance models are normalized in such a way that
(7(h) ~ 0 as soon as h > 1.

^-dimensional covariance functions


Let us consider the quadratic form D 2 (h) as defined by

where [R2] is a given symmetrical positive definite matrix called the "range
matrix." Let 1Z(R2) be the associated set of vectors of 7RP, as defined by

In the Mp parametric space, 7i(R2} is an ellipsoid called the "range ellipsoid"


such that
9.3. RANDOM FUNCTIONS 465

It can be observed that the one-dimensional covariance functions cov\(s) de-


nned in the previous section are such that

This suggests the following definition of the ^-dimensional covariance functions


for all h belonging to = JRP:

According to equations (9.44) and (9.45), it can be concluded that the range
ellipsoid split the Mp parametric space in two regions such that

figure (9.5) shows an example of such an ellipsoid in a curved 3-dimensional


parametric space 8 = 1R consisting of a stratigraphic grid: due to the curva-
ture of the stratigraphic grid and the faults, when observed from the (x, y, z]-
embedding Euclidean space, the ellipsoid appears deformed and cut.

Nested covariance functions


Let us consider a series of independent, centered random functions

and let Z(u, u;) be the associated random function, as denned by

Noting the covariance function of Z(u, uS) as C(h) and the covariance function
of Zi(u,uj) as Ci(h), it is easy to check that

In other words, the sum of several covariance functions is still a valid co-
variance function. The resulting composite covariance is called a "nested"
covariance function.
Such a decomposition provides great flexibility when modeling covariance
functions from experimental data: equation (9.47) can be considered as a
polynomial whose terms have to be adjusted to fit an experimental covariance
function. By convention, the first component of the above decomposition
(9.47) is identified to the nugget effect, if any:
Co(h) is assumed to be a pure nugget effect, and
Ci(h) is assumed to hold no nugget effect for any i > 0.
The next section shows how C*(h), or equivalently 7(h), can be fit to experi-
mental values computed from the observed data.
466 CHAPTER 9. STOCHASTIC MODELING

Figure 9.4 Modeling a variogram from its associated experimental variogram


cloud.

9.3.4 Modeling 7(h)


From covariance function to variogram
In practical applications, the second-order stationarity of the random func-
tions to be studied is usually assumed as an a priori model. In this case,
according to equation (9.33), the notion of variogram is exactly equivalent to
that of covariance function:

However, in the geostatistical community, the notion of variogram is generally


preferred to that of covariance functions for the two following main reasons:
From a practical point of view, the variogram interpretation is more intuitive
than that of a covariance function: 27(h) is the average of the square difference
between Z(u, ) and Z(u + h, ).
From a theoretical point of view, as opposed to the covariance function, the
variogram does not depend on the mean value of the associated random func-
tion. As a consequence, there is no need for this mean to be estimated.
Moreover, from equation (9.48) and as suggested in figure (9.4), it can ob-
served that
the behavior of 7(h) for small values of h defines the nugget effect if any:

if 7(h) tends toward a plateau called the "sill" when h is large, then this sill
is equal to C*(0):

the value r of h where 7(h) reaches the sill is equal to the range (see equations
(9.42) and (9.46)):
9.3. RANDOM FUNCTIONS 467

Estimating a variogram: one-dimensional case


In practice, it is possible to estimate the variogram of a random function
Z(u, (jj) under the two following (sufficient but not necessary) conditions:
Z(u,cj) is a second-order stationary ergodic RF, and
Z(ui,uj) = z(ui) is known on a finite set D* = {ui,.. .,UAT} of data points
belonging to the domain of definition D.
In this case, equation (9.38) can be numerically approximated17 by a finite
sum with the following form

where D*(h) represents the subset of D* consisting of points u^ such that


(ui +h) belongs to D*. However, there is a major drawback in this equation:
if the data points are sampled randomly in D, then there are few chances for
(ui + h) to belong to D* and z(\ii + h) is then unknown. Several practical
strategies have been implemented to overcome this difficulty [111, 58, 224];
the simplest is to replace z(iij + h) by the value z*(\ii +h), defined as follows,
where u^1 is the closest point to (u^ + h) in D*:

As suggested in figure (9.4), if 8 is a 1-dimensional parametric space, the


variogram cloud is defined as the set of points {hj, \z(ui] z*(\ii + h-,)| 2 /2}
and the "experimental" variogram has an equation chosen to fit as much as
possible this set of points.

Estimating a variogram: p-dimensional case


Most of the time, in the geosciences, 3-dimensional variograms are used and,
as suggested in figure (9.5), it is common practice to proceed as follows:
Build the one-dimensional variogram clouds associated with a series of given
predefined directions in ]R3.
Choose a 3-dimensional variogram model and adjust interactively its range
and nugget effect, if any, to fit, in a least square sense, the one-dimensional
clouds in all of the predefined directions.
For example, figure (9.5) shows the control panel corresponding to the "var-
iogram analyzer" proposed by GQCAD for estimating a 3-dimensional vari-
ogram in the parametric curvilinear space corresponding to a stratigraphic
grid.
17
This estimation is biased if the points Uj are clustered and it may be necessary to
use a "declustering" technique (see [168]). Nevertheless in practice, this approximation is
generally considered acceptable for small h.
468 CHAPTER 9. STOCHASTIC MODELING

Figure 9.5 Graphical user interface of a 3D-variogram analyzer. The well data,
with the faulted regular curvilinear 3-grid covering the studied domain in the (x, y, z)
"geologic" space, are mapped onto a unit cube in the (11, v, w) parametric space. In
the parametric space, faults vanish and ID-variograms are adjusted in some selected
directions. These ID-variograms are then used for adjusting a range ellipsoid and
a 3D-variogram that respects a chosen theoretical variogram model specified in the
"control panel."

9.3.5 Cdf s of an RF
As in the case of the moments of an RF Z(u, w), each of the variables u and u>
induces a specific definition of the notion of cumulative distribution function
(cdf):
when u is fixed, the distribution of the values z = Z(u, o>) is characterized by
a "statistical" cdf or, more simply, the "cdf" at location u;
when o> is fixed, the distribution of the values z = Z(u, o>) is characterized by
a "spatial" cdf.

Statistical cdf
If u is fixed in D, then Z(u, a;) becomes an ordinary RV Z\^(uj} Z(u, u)) with
a statistical cdf FZU(Z) that is an ordinary function -F"z(u; z) of the variable
z G JR defined as

Similarly, if two points ui and 112 are fixed in D, then the RF Z(u, a;) induces
two RV's Zu! and Z\i2 having a joint cdf FZiZ2(zi, z^) that is an ordinary
9.3. RANDOM FUNCTIONS 469

function FZ(UI, 112; ^1,^2) of the variables z\ JR and z-2 6 JR denned as

More generally, for any set of sampling points (ui,..., UTV}, it is possible to
define the joint cdf FZ(UI, ..., ujv; ^i, . , ZN) in a similar way.
The derivatives of these functions, when they exist, are called the pdf of
the RF:

If H(s] represents Heaviside's step function denned by

then it can be written:18

The definitions of spatial cdf s presented in the next section are directly in-
spired by these integrals.

Spatial cdf
If uj is fixed in 15, then Z w (u) = Z(u,u;) becomes an ordinary function of u
whose spatial cdf F^(cu; z] is a random function, as defined by

Similarly, the joint spatial cdf Fz(u}, h; z\, z^) is a Random Function, as de-
fined by

The derivatives of these functions, when they exist, are called the spatial
densities of the RF Z(u, w):

18
Remember that IP (IS) = 1: this apparently useless term is added here purely for the
sake of symmetry with the definition of the notion of spatial cdf (see equation (9.51)).
470 CHAPTER 9. STOCHASTIC MODELING

Estimating cdf's
Let us consider a random function Z(u,u)) defined on (D x 0) and observed
on a finite subset (D* x 15*) such that

Assuming that D* and 13* are uniformly distributed19 on D and 15, respec-
tively, equations (9.50) and (9.51) can be used as follows for approximating
both the statistical and spatial cdf's of Z(u, a;):

There are two cases to be considered:


There are a few situations where 13* contains more than one statistical event:
for example, in meteorology when Z(\ii,Uj) represents the temperature ob-
served at location Ui at time ujj. In this case, both the statistical and the
spatial cdf's can be estimated reasonably well thanks to the above expres-
sions.
Most of the time, 13* is reduced to one statistical event WQ meaning that
all that can be done is to estimate the spatial cdf FZ(WQ; z) associated with
this unique statistical event. In this case, it is common practice to assume
ergodicity (see page 462) to identify the statistical and spatial cdf's:

Whatever the case, the raw approximations F(u^; z) and F^(ujj] z) are typi-
cally replaced by smooth parametric equations FZ(U; z) and Fg(u); z) approx-
imating FZ(UJ; z) and F^*(UJJ;Z).

Normal score-transform
Let FZ(U', z) be the cdf of a random function Z(u,u). By definition:
the "normal score-transform," noted as $z(u;z), is the function associated
with Z(u, a;) and denned by

where N(x 0,1) is the cdf of the centered and normalized Gaussian law (see
definition (9.14)).
19
In practice, this may not be the case: in geology, the observed data are often clustered
on well-paths or seismic lines, and it may be necessary to apply a "declustering" technique.
9.3. RANDOM FUNCTIONS 471

the "normal score" of Z(u,o>), expressed as Z(u, o>), is the random function,
as denned by

According to the score-transform theorem (see equation (9.18)), F^(u;z) is


indeed a centered and normalized Gaussian law:

Due to the very congenial properties of the multivariate Gaussian Random


Variables mentioned on page 452, it is common geostatistical practice to pro-
ceed as follows:
1. Estimate FZ(U;Z) from the sampled data {Z(ui,uij)} (see preceding section)
and build the associated normal score-transform $z(u; 2),
2. Transform all the sampled data {Z(\ii,Uj)} into their normal score:

3. Assume that {Z(ui,o;j)} are a sample of a multivariate Gaussian random


function Z(u, u;),
4. Take advantage of the properties of the multivariate Gaussian Random Vari-
ables (see page 452) for realizing some operation CL on Z(u,u>):

5. Back transform the result:

Section (9.7.5) shows an example of this strategy.

9.3.6 Tutorial examples


The "pool" example
In figure (9.6), Z(u, uj) is the height of water observed at point u of a swimming
pool on a time uo. In this case:

15 =]Ti,T 2 ] is the period of time during which the surface of the water
was under observation.

A is the family of all the periods of time A =]i, 2] contained in O.


IP is denned as
472 CHAPTER 9. STOCHASTIC MODELING

Figure 9.6 The "pool" example: the space parameter u = [x, y]* corresponds
to a point on the bottom of the pool, while Z(u, u;) corresponds to the height of the
water observed on date ui at location u. The function Fz(u; z) represents the cdf of
the height of the water at location u.

D is the part of the (x, y) plane corresponding to the bottom of the


swimming pool and u is defined as

For reasons such as wind, the surface of the water is not horizontal and changes
at any time u; O. If the volume of water is constant, then it makes sense
to consider Z(u, a;) as order 1 and 2 stationary ergodic. The roles of a; and u
are very clear:
If u = UQ is fixed, for example, by installing a deepmeter at some lo-
cation u0 6 ), then ZUo(u>) = Z(UQ,UJ) appears as an ordinary RV
describing the variations of the depth of the water at location UQ. If
Z(UQ,OJ) is observed during the whole period of time 13, then the ex-
pected value ra(uo) = E(Z\i0} is equal to the mean through time:

If the volume of water is constant, it seems reasonable to consider that


m(u) does not depend on u, and that Z(u, o>) is order 1 stationary:

If (jj = LJQ is fixed, for example, by taking a snapshot of the surface of


the water at a given date UQ 15, then Z Wo ( u ) = Z(U,UQ) appears as
an ordinary function describing the surface of the water on date UJQ.
9.3. RANDOM FUNCTIONS 473

Figure 9.7 Comparison of the "pool" and "linen" examples.

Let ms(ujQ} be the spatial mean value on date UQ defined as

If the volume of water is constant and if m(u) = ra does not depend on


u, then it seems reasonable to consider that m s (cjo) does not depend on
UJQ and to assume that Z(u, a;) is ergodic so that

The "linen" example

Let us now imagine that the water is removed from the pool of our previous
example and the surface of the water is replaced by a piece of linen covering
the domain D. To constrain the linen to behave like the water's surface, the
following procedure is proposed:

Install vertical poles located at a set D* consisting of N sampling points


( u i , . . . , Ujv} belonging to the domain D. Each pole has a different given
length and the linen is fixed at the top of each pole with a pin;

Install a set of electric fans above and below the linen so that the shape
of the linen can be modified through time.
By so doing, the linen can be considered as an RF Z(u, a;) exactly like the
surface of the water in the case of the pool example. However, as can be
seen in figure (9.7), there is an important difference: the RF Z(u,o;) is now
constrained at the TV points {u^} and degenerates into deterministic values
{z(ui)} at these points. Consequently, the cdf FZu_(z) at a point u^, where
474 CHAPTER 9. STOCHASTIC MODELING

Z(u,u>) is constrained to be equal to the length z(ui) of the corresponding


pole, degenerates into a step function such that

Stochastic blending of ordinary functions


Let {/i(u),..., / n (u)} be a series of ordinary functions where u is a vector of
a parametric space t = Mp and let {/?o(u;),..., /?n(u;)} be an associated series
of "blending" Random Variables defined on a probabilized space (15, A, IP).
Prom these two series, it is always possible to build an RF 2T(u, a;) defined as
follows:

This example is at the origin of a very important family of RF's called "Ran-
dom Fourier Series" and presented in the next section. We will see also in
section (9.8) how such stochastic blendings of ordinary functions can be used
for generating RF's honoring a given mean and a given variogram.

9.4 Random Fourier Series


It is well known (e.g., [15]) that any periodic integrable function z(u) having
a period equal to 2?r on 1R can be approximated by a Fourier Series z(u) as
defined by

where the coefficients {zf,} and {z%.} are such that

This suggests that any random function Z(u,u;) whose realizations are peri-
odic integrable functions of u on [0,2?r] can be approximated by a Random
Fourier Series (RFS) Z(u,u) defined as
9.4. RANDOM FOURIER SERIES 475

where the Random Variables {Z(u;)} and (Z^(cj)} are such that

Let us assume that Z(w, a;) is a centered Gaussian second-order stationary


random function with known mean and covariance:
Z(u,u>) is a Gaussian Random Variable V u

with:

The next section addresses the problem of building the Random Variables
{Z^(uj}} and {Zf,(<jj}} in such a way that
Z(u, u>) is a Gaussian Random Variable Vu

with:

It will also be shown how the decomposition (9.54) can be generalized when
u is a vector of IRP.

9.4.1 Building a stationary one-dimensional RFS


Let {Z}.,Zf. : k = 0,1,..., K 1} be a family of independent Random
Variables such that

Let us now consider the periodic random function Z(u,u} denned as follows
for any value of the parametric space variable u e [0, 2?r]:

From properties (9.56), it can be deduced that the mean value and the Co-
variance function of Z(w, a;) must be such that
476 CHAPTER 9. STOCHASTIC MODELING

In other words, Z(u, uj} is a centered second-order stationary random function


having a stationary covariance function C^(h) as defined by

where h represents a lag in the range [2?r, +2yr].

The only parameters denning Z ( u , u j ) are the coefficients {cr2,} and the degree
K of the polynomials used in equations (9.56) and (9.57). In practice, the
coefficients {cr2} are chosen to have

where cov(h) is a given "target" one-dimensional stationary covariance func-


tion (see page 464) assumed to capture the "style"20 of the random function
Z(u,u}) to be built.
Comparing equations (9.58) and (9.60) enables us to write

This suggests [144] interpolating the given function cov(h) by the trigonomet-
ric polynomial {^fcJo afc ' cos(kh)}- For example, if we choose to interpolate
the series of points {hj} belonging to ]0, TT] such that

then, for any21 pair of integers p and q lower or equal to K 1, the following
orthogonality relationships hold true (see [129]):

From these, the following values22 for {cr2} can be deduced

where the family of functions </>#(&, h] are defined by

20
See section (9.4.6)
21
More precisely, for any p and q modulo 2 K.
22
Note that the values {cr2, c r 2 , . . . , &2K_i\ correspond to the discrete cosine transform (see
[93]) of the function cov(h). As a consequence, one can think of using the "fast" discrete
cosine transform for computing these values.
9.4. RANDOM FOURIER SERIES 477

It can be shown that these values (a)?} are always positive provided that the
given covariance function cov(h) honors the two following conditions:

From equations (9.61) and (9.62), we can also deduce that

The parameters defining the one-dimensional random function Z(u,uj} pre-


sented above are now reduced to the degree K and the covariance function
cov(h) of the trigonometric polynomial Z(u,uo}. In practice, these parameters
can be chosen as follows:

The covariance function cov(h) is assumed to depend only on a "range"23


parameter R, which is determined from a "prior" knowledge of the
"style"24 of the random function Z(u,u). As shown in figure (9.8),

a short range, typically R < ^5, yields an erratic style for the random
function Z(ii,u;), and
a large range, typically R > 77, yields a smooth style for the random
function Z(u, uj).

Degree K of the polynomial must be large enough to obtain a good ap-


proximation of equation (9.61). For this purpose, the following strategy
inspired by equation (9.64) can be used:

choose a large value for K, say, K > 30,


choose a percentage p, say, p = 80%, and determine the smallest set /C
of indexes such that

restrict the sum (9.57) to the set /C: small coefficients {crj.} can be
disregarded without having to recompute25 the remaining coefficients.

23
The range of cov(h} is equal to the distance h beyond which cov(h] can be considered
as equal to zero.
24
See section (9.4.6)
25
This is a consequence of the orthogonality relationships (9.62).
478 CHAPTER 9. STOCHASTIC MODELING

9.4.2 Building a stationary p-dimensional RFS


Let u and {/i,..., fp} be a p-dimensional vector and a series of p letters "c"
or "s," respectively such that

and let Z^ 1 '"^(u, u;) be an associated family of random functions, as denned


by

Using these notations, it is easy to extend the one-dimensional random func-


tion generator presented in the above section to obtain a p-dimensional ran-
dom function generator. For this purpose, the random function Z(u,u)) is
denned by

where the random functions Z% (u, u;) and Z| (u, LJ) are themselves defined
recursively as follows:

If the Random Variables {Z^" ^{uj}} are assumed to be independent26 such


that

26
See the definition on page 453.
9.4. RANDOM FOURIER SERIES 479

then, for all u [0, 27r]p, it is verifiable that the mean value and the covariance
function of Z(u,u)) are such that

where {/i 1 ,..., hp} are the components of h in the parametric space:

In other words, Z(u, a;) is a centered second-order stationary random function


whose stationary covariance function C^(h) is defined by

where h represents a lag in the [2yr, +2yr]p domain.


Once again, the parameters defining Z(u, u] are the coefficients {cr2^ k }
and the degrees {Ki,.. .,KP} of the polynomials used in equations (9.65),
(9.66) and (9.67). In practice, just as in the one-dimensional case, the coeffi-
cients {crjk k } are determined in such a way that

where cov(h) is a given "target" p-dimensional stationary covariance function


assumed to capture the "style"27 of the random function Z^u,a>) to be built.
Comparing equations (9.67) and (9.68), we can write

This suggests interpolating the target function cov(h) by a trigonometric poly-


nomial with the following form

where the coefficients {crki k } are determined to honor the equation (9.69)
as well as possible. For example, if we choose to interpolate the series of points
{hji-.-jp} belonging to ]0, TT]P and defined by

27
See section (9.4.6)
480 CHAPTER 9. STOCHASTIC MODELING

then, using the functions ^(fc, h) as defined by equation (9.63), we obtain

As in the one-dimensional case, it can be checked that these values {a2 k }


are always positive provided that the given covariance function cov(h) honors
the two following conditions:28

The only parameters of the p-dimensional random function Z(u, u;) presented
above are the degrees {Ki,..., Kp} and the covariance function cov(h) of
the trigonometric polynomial Z(u, w). In practice, these parameters can be
chosen as follows:
The covariance function ccw(h) is assumed to have the form

where covi(h) is a one-dimensional covariance function (see page 464) and


[R2] is a symmetrical positive definite range matrix (see page 464):

As in the one-dimensional case, the range matrix is chosen to fit the "prior"
knowledge of the "style"29 of the random function Z(u,a>).
Degrees (Ki,...,Kp) of the polynomial must be large enough to achieve a
good approximation of equation (9.69). To this purpose, a strategy similar
to the one used for the one-dimensional case (see page 477) can be used.
Moreover, to minimize the number of terms in the set /C, a rule of thumb is
to perform a rotation of the coordinate system for the components ul of u to
become parallel to the iih eigen vector of the range matrix [R2].

9.4.3 Ergodicity
Let us consider the one-dimensional RFS Z(w,u;), as denned by equation
(9.57), and let ra|(u;) and C^(h, u] be the associated spatial mean and spatial
covariance functions:

28
This is a sufficient, not a necessary, condition.
29
See section (9.4.6)
9.4. RANDOM FOURIER SERIES 481

Using the notations (9.55) and the orthogonality of the sin(-) and cos(-) func-
tions on [0, 2-Tr], it can be shown that

According to equations (9.56),

where m^ and C^(h) are the (statistical) mean and covariance functions of
Z(u,(jj\ respectively. From equation (9.33), it can also be deduced that

where 7|(fo) and 7^(/0 are the spatial and statistical variograms of Z(u,u),
respectively. This shows that
Z(u,uj) is order 1 weakly ergodic, and
Z(u,u)) is order 2 weakly ergodic.
In fact, as soon as the range of C^(h] is less than 3?r/2, it can be observed
experimentally that

Similar results can be obtained for the p-dimensional random function Z(u, w),
as denned by equation (9.65).

9.4.4 Gaussian behavior: Notion of GRFS


~" f f
The fact that the Random Variables Zkl" kp used in equations (9.65) and
(9.66) to build a RFS Z(u, LJ] are centered implies that Z(u, cu] is a centered
random function:

Let us assume that, in addition, all the Random Variables Z^" kp have the
~ f f

same type of cdf's. In such a case, for any fixed value of u, it can be observed
from equations (9.65) and (9.66) that 2T(u,o;) is the sum of K = (Ki-K2.. .Kp]
independent Random Variables having the same type of cdf. As soon as K is
large enough, according to the "central limit" theorem (see page 454), it can
be deduced that
2/(u, u;) is a centered Gaussian Random Variable
In the rest of this book, any random Fourier series honoring both conditions
(9.72) and (9.73) will be called a (centered) Gaussian Random Fourier Series
or, more simply, a GRFS.
482 CHAPTER 9. STOCHASTIC MODELING

Figure 9.8 Influence of the range and covariance function model on the "style"
of a realization of a one-dimensional Random Fourier Series defined on [0, 2?r]. The
ranges are represented by horizontal segments, and there is no nugget effect.

9.4.5 Examples
Two examples that show the efficiency of the methods presented in sections
(9.4.1) and (9.4.2) are proposed for building RFS's honoring a given stationary
covariance function cov(h):
the first example corresponds to the series of one-dimensional RFS's, shown
in figure (9.8);
the second example corresponds to the series of two-dimensional RFS's, shown
in figure (9.9).

The realizations of Z(n, u) in figure (9.8) have been generated using the same
set of realizations of the Random Variables {Z%(u})} and (Z|(a;)}; this enables
us to point out the influence of the type of covariance functions on the style
of the realizations Z(u,u)}:
A Gaussian covariance function (see page 464) yields smoother realiza-
tions for Z(u,u)) than spherical and exponential modes.
Moreover, the range matrix (see page 464) of the covariance function defines
both
the "pseudo-period" of the realizations (see figure (9.8), and
the anisotropy of the realizations (see figure (9.9)).
9.4. RANDOM FOURIER SERIES 483

Figure 9.9 An example of multiple equiprobable realizations of a two-dimensional


P-field on [0, TT] in the case of an anisotropic range ellipsoid (drawn in white) and a
Gaussian covariance function. Values close to 0 are coded in light grey while values
close to 1 are coded in dark grey.

9.4.6 About the "style" of a Random Function


All through the previous sections of this chapter the term "style" of a random
function has been used without giving an exact definition: it was simply
stated that this style is controlled by the covariance function. The examples
presented in figures (9.8) and (9.9) suggest that the notion of style is composed
of three parts:

the behavior of a random function is controlled by the type of its covariance


function: a Gaussian covariance function yields smoother realizations than
spherical and exponential models;

the pseudo-period of a random function is controlled by the magnitude of


the range of the covariance function: two main extrema of a realization are
approximately distant of half of the range;

the amplitude of local variations of a random function are approximately


equal to the square root yC(0) of the covariance function at the origin.
484 CHAPTER 9. STOCHASTIC MODELING

9.4.7 Random Function defined on a bounded support


Let D be a bounded domain in the parametric space Mp, and let Dn be the
smallest parallelepipedic region containing D and denned as follows:

Assuming that hlmin < hlmax for each i, u can always be denned as a vectorial
function of u such that

The reparameterization u(u) so denned is obviously invertible:

Prom a theoretical point of view, this shows that any random function Z(u, a;)
whose realizations are denned and integrable on the bounded domain D con-
tained in DD can be approximated by a Random Fourier Series Z(u, uo] defined
on [0, 27r]p with a period equal to 2?r in each direction of the parametric space:

As a consequence, all the properties presented in section (9.4) for Random


Fourier Series are also valid for random functions whose realizations are de-
nned and integrable on a bounded support D.

9.4.8 Sampling a GRFS on a regular p-grid


In many applications, realizations of a GRFS Z(u,u}) must be generated at
each node of a regular p-grid. In such a case and as shown in this section,
the formalism of the Discrete Fourier transform (e.g., see [238, 45]) can be
applied to the representation of Z(u, LJ) . The greatest benefit of such a discrete
representation is to allow a very fast computation of Z(u,u;) at the nodes of
the grid thanks to the Fast Fourier Transform (FFT) algorithm.

Discrete representation of a GRFS on a 1-grid


Let us first examine the case where Z(u,w) defined by equation (9.57) has to
be computed on [0, 2?r[ at equally spaced nodes {un : n = 0 , . . . , K 1} of a
regular 1-grid defined by

In such a case, the sampling of Z(u, u) at the K nodes of the grid generates
a periodic series of K Random Variables:
9.4. RANDOM FOURIER SERIES 485

Using the well-known complex trigonometric formulae30

allows the discrete version of equation (9.57) to be written as

with

According to equations (9.56), these Random Variables are such that31

Referring to equations (9.55), Zk(w} can be turned into the following integral:

Replacing du by the increment Aw = 27T/K and using the sampling denned


by the equations (9.74) allows this integral to be approximated as follows:

At this point, let us recall the definition of the notions of (direct) Discrete
Fourier Transform (DFT) and inverse Discrete Fourier Transform (e.g., see
[93, 45]):
the direct Discrete Fourier Transform of a series {X*} = { X o , . . .,XK-I} is a
series {^0} = {Xo,..., X K - I } as defined by

the inverse Discrete Fourier Transform of a series {^o} = {Xo, - , X K - I } is


a series {X*} = {Xo,..., XK-I} as defined by

30
In these formulae, i is the pure imaginary number i = \/'i.
31
Here, \z = \/a2 + b2 represents the modulus of z = a + ib.
486 CHAPTER 9. STOCHASTIC MODELING

thefollowingrelationships always hold true:

For each fixed elementary event uj G 0, the complex value Zk(u) defined by
equation (9.79) is no more than the Discrete Fourier Transform of the function
Z(u, ui) sampled on the regular 1-grid at nodes un defined by equations (9.74).
Consequently, the inverse Discrete Fourier Transform defined by

can generate the associated sampled values Z(itfc,u;) for any given integer
k = Q,...,K-l.
Taking into account the independence of the RV's {Zk}, it can be derived
from equations (9.78) and (9.79) that32

This clearly shows that the series {a\ : k = 0, ...,K 1} is the inverse
Discrete Fourier Transform of the series {Cm : ra = 0 , . . .,K 1} defined by
Cm ~ Cz(mAu). As a consequence, the direct Fourier Transform allows the
coefficients a\ to be computed at the nodes of a regular 1-grid as follows:

Fast generation of a GRFS on a regular 1-grid


The twin equations (9.79) and (9.80) with equation (9.82) form the basis of
a very fast algorithm for generating realizations of a GRFS at the nodes of a
1-grid; to this end, proceed as follows:
1. use the direct Fast Fourier Transform algorithm (e.g., see [93]) to compute
the series of coefficients {cr 0 ,..., &K-I} from the following sampling of a given
(periodic) covariance function C^(K):

2. draw, at random, a series uj = {Oo, -, OK-I} of K angles uniformly dis-


tributed on [0, 2?r[;
32
Here ~z = a ib represents the conjugate of z = a + ib.
9.4. RANDOM FOURIER SERIES 487

3. build a series of K numbers {Zo(u),..., ZK-\(U}} defined33 by

4. use the inverse Fast Fourier Transform algorithm to compute the values Z(un,u]
defined by equation (9.80) at the nodes of the regular 1-grid.
There is a pitfall to be avoided at step 1 of this process: generally, one chooses
a given covariance function cov(h) similar to one of those presented on page
464, and it is tempting to interpret equation (9.83) as follows:

However, according to equation (9.59), it is clear that C^(h] must be a peri-


odic function with a period equal to 2yr and this is generally not the case for
cov(h}: consequently, the above definition of the coefficients Cm cannot be
used. Due to this periodicity of C^(h\ it can be observed that

As a consequence, in the case where the range of cov(h) is lower than TT, the
above difficulty can be avoided if step 1 of the fast algorithm is itself broken
down into the three following substeps:
determine the greater integer M such that MAu is lower than TT

and compute the sequence {Co,..., CM} as follows:

use equation (9.83) to complete the sequence {Co,..., CK-I}'

use the direct Fast Fourier Transform algorithm to compute the series of co-
efficients {<TO, ..., cr|r_1} from the above series of coefficients {Co,..., CK-I}-

Generalization to regular p-grids


The notions of Discrete Fourier Transform and Fast Fourier Transform can
easily be generalized (e.g., see [93]) to the case of functions sampled at the
nodes {uni...np} of a regular p-grid covering the domain [0,2?r[p and defined
by

33
Note that the RV's Z^ so denned are independent, have the same cdf, and honor the
conditions (9.78).
488 CHAPTER 9. STOCHASTIC MODELING

As a consequence, the discrete representation of a p-dimensional GRFS Z(u, u)


at the nodes of such a regular p-grid can be generalized making it possible
to extend the fast generation algorithm presented above. For a complete pre-
sentation of this type of method, the reader is referred to [238, 45] where
useful theoretical and practical implementation details are given. In a nut-
shell, equation (9.82) is generalized as follows

while equation (9.80) becomes

In the above equation, the random coefficients ^/ Cl ...fc p (^') are assumed to be
defined by

where u = {..., &kv...kp, } is a series of angles randomly drawn in the range


[0,27T[.
It should be noted that the same pitfall as the one mentioned for the
covariance function in the 1-dimensional case has to be avoided. For this
purpose, it is necessary to define the series {Cmi...TOp} in such a way that

9.5 Uniform Random Functions and P-fields


9.5.1 Definitions
By definition,
The random function C/(u, u>) is a Uniform Random Function (URF) if its cdf
FU (u; s) is such that

where U(s a(u),6(u)) is the uniform cdf denned on [a(u),6(u)] by equation


(9.11), while a(u) and 6(u) are two given functions such that

The random function P(u, u;) is a P-field34 if it is a uniform random function


distributed on [0,1], that is to say, if its cdf Fp(u;p) is such that

34
The name "P-field," an acronym for "Probability-field," comes from the fact that,
similarly to probabilities, P-fields have values in the range [0,1].
9.5. UNIFORM RANDOM FUNCTIONS AND P-FIELDS 489

Note that any P-field can be transformed as follows into a uniform random
function with values in the range [a(u),&(u)j:

As a consequence, our attention will focus mainly on the case of P-fields that
appear as "normalized" uniform random functions.

Comment 1
P-fields are of special interest because, due to the score-transform theorem
presented in section (9.2.4), they can easily be transformed into random func-
tions honoring a given cdf F(u; s):

Comment 2
The notion of P-field was introduced by Srivastava [207] as a tool to generate
equiprobable distributions of reservoir heterogeneities rapidly. In fact, the
field of applications is much wider, and P-fields can be used in most simulation
problems; for example,
p-dimensional P-fields can be used for generating equiprobable interpolations
on a given p-dimensional domain where the interpolated entity may be
a numerical function (see section (9.6)), or
a series of facies (see section (10.2.2)).
2-dimensional P-fields can be used in structural geology for generating equiprob-
able surfaces (horizons and faults) interpolating well data, while integrating
variations due to errors on the seismic velocity field (see section (9.9.1)),
1-dimensional P-fields can be used in the characterization of reservoirs for
generating equiprobable shapes of the axis of meandering channels (see section
(9.9.2)).

9.5.2 Building a P-field


Many possible techniques for building a uniform random function have been
proposed in the literature [144, 99, 207, 85, 48, 133, 171, 201]. For example,
simulation methods such as the so-called "Sequential Gaussian Simulator" (see
page 516) or the "Blending-Based simulator" (see page 519) will be presented
later on in this book. All these methods can easily be turned into uniform
random function generators. The general method for generating a P-field
.P(u, w) can be outlined as follows:
1. use any method for generating an unconstrained random function Z(u,u>),
2. determine the cdf F^(u; s) of Z(u, a>), and
3. define P(u, cu) as follows:
490 CHAPTER 9. STOCHASTIC MODELING

According to the score-transform theorem presented in section (9.2.4), the


random function P(u, u;) so defined has a cdf function corresponding to a
uniform distribution on [0,1]:

In practice, the covariance function CjK u i > U 2 ) f the random function Z(u, a;)
can be selected in many different ways, depending on the context of the sim-
ulation problem (see section (9.6)).

Property
If Z(u,ijj) is a second-order stationary random function, then the P-field
P(u,u) deduced from Z(u,u) according to equation (9.90) is, at least ap-
proximately, a second-order stationary uniform random function. Moreover,
the mean value rap(u) and the covariance function (7p(u, u + h) of P(u, u;)
are

where Cjj(h) is the covariance function of the RF Z(u,cj) used to build


P(u,u;).

Proof
By definition, for any fixed value of u, the random function P(u, o>) is uni-
formly distributed on [0,1] and this implies that

According to equation (9.12) and thanks to the second-order stationarity of


2T(u, w), the cdf F^(u;s) of Z(u,a;) can, very roughly, be approximated by
the cdf of the uniform law:

Most of the time, according to equation (9.11), this implies that

Using this rough approximation makes it possible to show that the covariance
function Cp(u, u + h) honors the second equation (9.91), approximately; as
a consequence, P(u, u) is approximately a second-order random function.

Comment
In practice, approximating Cp(la) in this way suffices for tuning the covariance
function C^(h) to fit roughly Cp(h) to a given a priori model.
9.5. UNIFORM RANDOM FUNCTIONS AND P-FIELDS 491

9.5.3 Theorem
Let -F(u; s) be a given family of cdf indexed by a parameter u G D whose
associated mean value m(u) and variance cr 2 (u) as defined by equation (9.8)
are assumed to exist:

Under this condition, the random function S(u, u;) as defined by

has the following properties:

1. If P(u, a;) is a P-field, then the cdf -Fg(u; s), the mean value ras(u) and
the variance cr|(u) of S(u,aj) are

2. If P(u, u)) is a second-order stationary P-field derived from a random


function Z(u,cu) according to equation (9.90), then S(u,uj) is approxi-
mately a second-order non-stationary random function having a covari-
ance function Cs(ui,ii2) such that

3. If P(u, u)) is a periodic P-field derived from a GRFS Z(u,w) accord-


ing to equation (9.90) and if, in addition, F(u; s) is a Gaussian cdf,35
then 5(u, u;) is strictly a second-order non-stationary random function
having a covariance function 3(111,112) such that

Moreover, in this case,

35
See equation (9.14), page 449.
492 CHAPTER 9. STOCHASTIC MODELING

Proof
It can be observed that
equation (9.93) is a direct consequence of the score-transform theorem (see
equation (9.17)) and definitions (9.88) and (9.92).
equations (9.94) is a straightforward consequence of the approximation (9.13)
and properties (9.91) and (9.89).
Let us now assume that P(u, o>) is the periodic P-field denned in section
(9.5.2) and that F(u; s) is a Gaussian cdf:

It can be observed that, for any p G [0,1],

Taking into account condition (9.73) and equations (9.92) or (9.90), it can be
deduced that

where Z(u,u;) is the GRFS used to build P(U,UJ).


From this equation, it can be concluded that 5(u, a;) is a second-order
non-stationary RF honoring equations (9.95).

9.6 Stochastic simulators


As explained in section (9.1), the main purpose of this chapter is to propose
simulation techniques capable of producing equiprobable solutions to inter-
polation problems. These solutions are called "simulations" and are defined
as realizations of random functions called "stochastic simulators" or, more
simply, "simulators." Many different techniques have been proposed in the
literature for building simulators (e.g., see [215, 58, 94]). In this section,
having denned the notion of simulator, three examples of particularly simple
techniques for building simulators are given. Other techniques will be pre-
sented later on in sections (9.7.7), (9.7.8), (9.9.1), and (9.8) and in chapter
10.

9.6.1 The interpolation versus simulation problem


As suggested in figure (9.10), let z(u) be an unknown scalar function defined
on a region D of a normed linear vector space36 8 (see [141]) and known only
on a finite subset D* consisting of N sampling points {ui,..., ujv} belonging
toD:

36
For example, this space can be the Euclidean parametric space (x, y, z) or a curvilinear
parametric space (u,v,w) corresponding to a stratigraphic grid (see figure (10.1)).
9.6. STOCHASTIC SIMULATORS 493

Figure 9.10 The interpolation problem consists in estimating at point u (white


dot) a function z(u) denned on a part D of a normed linear vector space E and
known at a finite set of N sampling points {ui} (black dots). In practice, sampling
data points may be limited to a neighborhood W(u) of point u.

With such limited information, there are two possible strategies for assessing
the variations of z(u) on D:
The first strategy involves looking for a unique function z*(u) defined on D
and assumed to interpolate the unknown function 2(11) on D*:

In this case, z*(\i) is assumed to be built to provide the "best" solution.37


The second strategy consists of looking for a random function S^u, u;) defined
on D and assumed to have all its realizations equiprobable and constrained
to interpolate z(u) on D*:

In practice, these two strategies are complementary, and section (9.6.2) will
show how any interpolator z*(u) can be used for building such a random
function S(u,u;).
If one succeeds in building such an RF S(u, cu), then, to any series {uji, u^, }
of equiprobable statistical elementary events, a series of equiprobable realiza-
tions {z*(u), z%(u),...} interpolating the initial data can be associated:

By definition, the functions {Zj(u)} so generated are called the "simulations"


of the unknown function z(u) and the associated random function S^u, uj] is
called a (stochastic) "simulator."
37
The notion of "best" solution has to be denned with regard to a specific goodness
criterion depending on the interpolation technique.
494 CHAPTER 9. STOCHASTIC MODELING

Comment 1
Let ras(u) and cr|(u) be the mean and the variance of the random function
5(11,0;) to build

In general, ms(u) and cr|(u) actually depend on u e D, and the stochastic


simulator 5(11,0;) to be built is thus a non-stationary random function; in
particular, ras(u) and cr|(u) must honor the two following constraints:

In other words, 5(u,o;) should be similar to the "linen" example presented in


section (9.3.6) (see figure (9.7)).

Comment 2
Applications exists where the data observed at sampling points u^ 6 D*
consist of intervals [z~(u^), z+ (u^)]

where the values z~(ui) and z+(ui) are assumed to be given. Such a con-
straint may be viewed as a generalization of the constraint (9.96).

9.6.2 Example 1: P-field-based simulator


This section presents one example of a method directly inspired from theorem
(9.5.3) and allowing a stochastic simulator, based on the P-field defined in
section (9.5.2), to be built.

General technique
There is, of course, an infinity of RF's honoring data at their locations (i.e.,
the constraints (9.97)). To "reduce" the set of possible solutions, it is proposed
to choose 5(u,a;) with an a priori given cdf -F(u; s). However, proceeding in
this way requires ensuring that F(u; s] is consistent with constraint (9.97);
this is equivalent to saying that F(u; s] must honor the following constraints
(see figure (9.10)):

Unfortunately, there is still an infinity of possible RF's with such a given cdf,
and we must choose one RF 5(u, uj] among this infinity. For this purpose, it
is proposed [207] building a P-field P(u,o;) and defining 5(u,o;) as follows:
9.6. STOCHASTIC SIMULATORS 495

According to the theorem in section (9.5.3) page 491, the cdf F$(u; s) of the
RF S(u] a;) so defined is identical to F(u; s)

Moreover, according to this theorem, choosing a second-order stationary ran-


dom function for P(u, u) implies that S(u; a;) is approximately a second-order
random function having a covariance function (7s(ui, 112) such that

In this expression, cr|(u) represents the variance of S(u,u), while C^(h) is


the stationary covariance function of the RF Z(u, u] used to build the P-field
P(u,u;) (see section (9.5.2)).
It should be noted that Cs(iii, u 2 ) does not change if the covariance func-
tion C^(h) is multiplied by a constant. In other words, in addition to the data
configuration, only the type and the range of the covariance function C^(h)
can have an influence on Cs(ui,u 2 ) and thus on the simulator S(u,u>).
From this observation and according equations (9.94) and (9.95), it can
be concluded that
erf (u) controls the amplitude of the variations of (11,0;);
CZ(\\}/CZ(Q] controls the style of the variations of S^u,a;).

Comment 1
Sections (9.7.7) and (9.9.1) present situations where it is possible to choose
F(u; s] in such a way that the associated variance cr|(u) honors the following
constraint:
u far away from the data points
In this case, equation (9.104) can be simplified to obtain

{ Ui far away from the data points ^


112 far away from the data points J

As a consequence, if constraint (9.105) is honored, and if we move far away


from the set D* of the data points, then, taking into account equations (9.106)
and (9.70), it can be said that Cj,(h) directly controls
the behavior of the simulator S(u, o>), and
the style of each simulation Zj(u) = 5(u,to,-).
From this observation, it is deduced that, if S(u,u) is required to have
a given stationary covariance function cov(h) when far way from the data
points, then one must choose

Comment 2
In the case of interval data types corresponding to constraint (9.100), a cdf
honoring the following constraints, which generalize the constraints (9.101),
is all that has to be chosen for F(u: s}:
496 CHAPTER 9. STOCHASTIC MODELING

Comment 3
In the one-dimensional case where the parametric domain D is a part of iR,

In other words, the derivative of each realization 5(11, u;) vanishes on the set
D* of the data points: this may be a, drawback in some practical applications.
It is easy to check that a similar property occurs for the partial derivatives
of each realization relative to the components of u in the p-dimensional case
where D is a part of 1RP.

The case of a P-field Gaussian simulator


Let us first observe that any interpolator z*(u) can be used for building a
simulator 5(u,o;) whose realizations interpolate the unknown function z(u);
for this purpose, it suffices to choose for FS(U;S) = F(u;s) a cdf whose
associated mean ms(u) and variance cr|(u) honor the constraints (9.99).

Such a choice for 7715(u) and cr|(u) implies that the constraints (9.98) are
automatically honored [120]. Note also that equation (9.104) will be honored.
In practice, there is no general technique for choosing <r|(u) and the co-
variance function C^(h): this is an a priori decision specific to the "style"
of the unknown function z(u) to be simulated. In section (9.7), an example
of the choice for cr|(u) and Cjj(h) in the case of Kriging interpolators will
be presented. Among the infinity of possible choices for jF(u;s), a practical
solution, justified by the theorem in section (9.5.3), consists in choosing a
Gaussian38 law:

According to equation (9.15), it is easy to check that this choice is compatible


with constraints (9.101):

Moreover, according to the theorem in section (9.5.3), if P(u,a;) is a GRFS,


then the following property is strictly honored:

38
Choosing a Gaussian law is a practical choice, not a fundamental choice.
9.6. STOCHASTIC SIMULATORS 497

9.6.3 Example 2: PC-based simulator


This section presents a second example of a method derived from the principal
components of a covariance matrix and allowing a stochastic simulator to be
built on a finite subset D0 of the parametric domain D.

Definition of the simulator


Let us assume that the stochastic simulator 5(u, a;) to be build is required
to have a given mean ras(u), a given standard deviation as (u), and a given
covariance function Cs(ui, 112). For simplicity's sake, assume that (7s (ui, u 2 )
can be decomposed as follows:

In the above decomposition of GS^UI, u 2 ), the function C(h) is assumed


to be a stationary semipositive definite covariance function to ensure that
(7,5(111,112) is itself semipositive definite. Note that, in spite of the fact that
C(h) is stationary, 65(111,112) can be non-stationary. Moreover, it should be
observed that we must have Cs(u, u) = cr|(u), and this implies that C(h)
must be chosen such that

As a final remark on the properties of 5(u, u;), it should be noted that, in the
case where this simulator is constrained to take constant non-random values
{z(ui) : Ui D*} on a finite subset D* of the parametric domain D, these
constant values must be equal to the values of the mean function ms (u):

In the following, we address the problem of computing realizations of S'(u, a;)


for u belonging to a finite subset D of the parametric domain D consisting
of M sampling points including D*:

For this purpose, to compute 5(u, a;) on jD, it is proposed to use the fol-
lowing model where A is & matrix with M rows and K < M columns to be
determined:

In this matrix equation, X(u>) is assumed to be a random vector whose com-


ponents are not correlated, have a variance equal to one, and have a mean
equal to zero; in other words, X(cu) is assumed to honor the two following
constraints where 0 is the null vector while [/] is the unit matrix:
498 CHAPTER 9. STOCHASTIC MODELING

As can be seen, the first constraint above implies that the model (9.109)
reproduces correctly the mean value ms(u) of S^u, a;) on D:

A a consequence, the only thing to do is to look for a matrix A ensuring that


the covariances defined by equation (9.108) are reproduced on D x ).

Determining the matrix A


Let [C] be the symmetrical (M x M) covariance matrix and let [<r] be the
diagonal (M x M) standard deviation matrix defined by

In the above matrices, the components dj and <Ji are assumed to be deduced
as follows from the covariance function C(h) and the standard deviation func-
tion crs:(u) used in equation (9.108):

It is easy to check that the covariance matrix [Css] f the random vector S(u)
defined by equation (9.109) is such that

Moreover, taking into account equation (9.109) and (9.110), it can be observed
that

Let { V i , . . . , VM} be the unit eigen vectors of [C] corresponding to the eigen
values {AI, ..., AM} assumed to be sorted by decreasing order of magnitude.
Taking into account the fact that [C] is symmetrical and semipositive definite,
it is well known (e.g., see [19]) that
the eigen values of [C] are real and nonnegative, and
the matrix [C] can be decomposed as follows:

Consequently, if there are K eigen values significantly different from zero,


then equations (9.114) and (9.116) imply that we can write

In conclusion, if we identify the columns of the matrix A in equations (9.109)


and (9.115) with the K vectors {Ak = \f\k [<r] Vk ' k = 1,..., K}, then the
covariances of the components of the vector S(uj] corresponding to the sam-
pling on D^ of the simulator S(u, u>) defined by equation (9.108) are honored.
9.6. STOCHASTIC SIMULATORS 499

Algorithm
As a consequence of the above model, the following procedure to generate
realizations of 5(u, o;) on D^ is proposed:
Using equations (9.108) and (9.114), build the matrix [C].
Compute the K < M non-null eigen values {Afc} of [C] and their associated
unit eigen vectors {Vk}.
Build the matrix A of equation (9.109) as follows:

For each simulation associated with an even uj G 15


use a random number generator to generate a realization of X(u>) hon-
oring the constraints (9.110), and
use the equation (9.109) to generate the sampling of <S(u, u) on ).

It can be observed that the column vectors [\f\k Vk} used to build the
matrix A are no more than the coefficients of the Principal Components
of the covariance matrix [C]. For this reason, it is proposed that we call
"Principal-Components-based simulator" or, more simply, "PC-based simula-
tor" the stochastic simulator S(u,u;) so denned.

Comment
When the set D^ of the sampling points is sufficiently dense on D, each
realization 5(11,0;) can be continuously interpolated on D and, at the limit,
equation (9.109) takes the following continuous form:

In the one-dimensional case where the parametric domain D is a part of M,


it can be observed that, at each data point Uj G -D*, the derivative of 0"s(u)
generally vanishes, and we have

In other words, on the set D* of the data points, the derivative of each real-
ization S(u, o;) is equal to the derivatives of ms (u): this may be a drawback
in practical applications. It is easy to check that a similar property occurs for
the partial derivatives of each realization relative to the components of u in
the p-dimensional case where D is a part of ]RP.

9.6.4 Example 3: Residual-based simulator


This section shows how an interpolation method can be used to transform an
unconstrained simulator into a constrained simulator.
500 CHAPTER 9. STOCHASTIC MODELING

Definition of the simulator


Once again, let us address the problem of building a stochastic simulator
,S(u, uj] constrained to honor the following constraints where {z(ui) : u^ e D*}
is a given set of sampled values for the unknown function z(u) to be simulated
on D D D* while C(h) is a given stationary covariance function:
1)

2)

In this section, S(u, a;) is assumed to be denned as the sum of two random
functions SQ(U,UJ) and R(U,UJ)

where So(u, u;) is a given unconstrained simulator such that

while .R(u, o>) is a "residual" random function honoring the following con-
straint:

As a consequence of equations (9.120), (9.121)-1, and (9.122), with a simulator


so denned, the constraint (9.119)-1 is always strictly honored:

To build a residual random function -R(u, u;) honoring the constraints (9.122),
one can proceed as follows:
Use any stochastic method to build an unconstrained simulator SQ (u, u;)
whose mean is chosen equal to zero while its covariance function is chosen
equal to C(ui u 2 ).
For each event uj O, build the realization -R(u, u>) as follows:
1. for each data point Ui D*, compute the residual R(ui,u>) as defined
by equation (9.122);
2. use an interpolation method to build a (non-random) function R(u, u)
denned on D and interpolating the values {R(ui,u) : Ui E D*}.

Choosing an interpolation method for R(U,UJ)


Proceeding as suggested above ensures that the simulator 5(u, u;) defined by
equation (9.120) honors the constraint (9.119)-1 but there is no reason for
the constraint (9.119)-2 to be honored. Let us assume now that we choose to
interpolate each realization of R(u, u;) with an interpolation method honoring
the following constraint:
u far away from
the data points uu D*
9.6. STOCHASTIC SIMULATORS 501

Figure 9.11 An example of a series of 50 equiprobable constrained simulations


(S(u, uji) : i = 1, 2 , . . . , 50}, obtained with a residual based simulator.

In such a case, as a straightforward consequence, it can be observed that the


constraint (9.119)-2 is now honored:

(111,112) far away from


the data points m e D*

Moreover, an interesting property of the simulator 5(11,0;) so defined is that,


far away from the data points, the mean value of S(u,u>) is close to the
constant z:
u far away from
the data points u^ 6 D*

Whatever the interpolation method used to build -R(u, a;), this suggests choos-
ing z as follows:

This natural choice ensures that, far away from the data points and for any
(jj e O, the values of the simulator S(u, uj) have the same order or magnitude
as the data values [z(ui] : Uj e D*}.
There are many possible choices for an interpolation method allowing the
interpolated function R(U,UJ) to honor constraints (9.123). For example, in
the case where R(u, w) has to be evaluated at the nodes of a discrete model,
the simplest solution consists in using the iterative version of the DSI method
(see page 165) with the value z fixed as a Control-Node value (see page 147) for
any node located far away from the data points while the values {R(ui,u) :
Ui G D*} at the data points are set as Control-Properties constraints (see
page 183).
As a tutorial example, figure (9.11) shows a series of equiprobable realiza-
tions of a residual-based simulator defined on a segment D and using the DSI
502 CHAPTER 9. STOCHASTIC MODELING

interpolation method. It can be observed that, contrary to the simulations


obtained with the P-field and PC-based simulators, these simulations do not
have a constant derivative at the data points {u^ G D*}.

9.6.5 Other stochastic simulators


Besides the three methods presented above, many different methods have been
proposed in the literature to build stochastic simulators. For example,
the turning bands method [157, 219];
sequential methods based on Kriging [58];
blending-based methods [151];
simulating annealing methods [94]; and
methods based on neural networks [39].
The rest of this chapter is dedicated to the presentation of some of these
methods.

9.7 Kriging-based methods


Since its introduction by Matheron [156] in the late 1960s, geostatistics has
contributed a great deal to the development of spatial interpolation over the
past decades (see also Whittle [233]). During the 1980s, the main focus of
this family of methods shifted from the estimation of physical parameters
distributed over a region to the generation of multiple simulations of these
parameters. This section focuses briefly on the notion of "Kriging," which
is of particular interest in the building of simulators. Those interested in
a complete presentation of geostatistical methods are referred to the many
excellent books on the subject, for example, [114, 119, 111, 58, 224, 94, 45].

9.7.1 The interpolation problem


Considering further the interpolation versus simulation problem introduced
in section (9.6.1), an interpolation strategy can be adopted whose aim is to
build a function z*(u) defined on D and assumed to interpolate the unknown
function z(u) on D*:

To build such an interpolator z*(u), the traditional geostatistics approach


would proceed in this way:
1. Take the model decision that there is an unknown second-order station-
ary ergodic (see pages 461 and 462) random function Z(u, cj) honoring the
following constraint:
9. 5
5

2. Use the ergodicity of Z(u,u) (see equation (9.38)) for building a variogram
model 7z(h) from the N pairs of data {u^, z(iii)} (see page 467);
3. use the variogram model 72 (h), or, equivalently, the associated covariance
function Cz(h) for building a linear estimator Z*(u,u) of Z(u,uj) such that

where the weighting coefficients (Ai(u)} have to be determined in an "opti-


mal" way;
4. Use equations (9.125) and (9.126) for building an estimate z*(u) of 2(11) de-
fined on D by

where UQ is the same elementary statistical event as the one corresponding to


equation (9.125). This equation shows that the weighting coefficients (Aj(u)}
need to be constrained to have their sum equal to one39 because, in the ex-
treme case where all the values {z(ui)} are equal to a constant, we would like
z*(u) to be equal to this constant:

In steps (1) and (3), the words "model decision" and "use" have been written
in bold to avoid misunderstanding:
It is extremely important to note that
taking the decision that there is an unknown second-order station-
ary ergodic random function honoring constraint (9.125), is not a
hypothesis but a model that is chosen a priori.
Choosing such a model is similar to choosing a basis of polynomials when
using a spline or Bezier interpolator to model a curve or a surface.
It is also just as important to note that
"using" a specific variogram of Z(u, ui) for building the estima-
tor Z*(u,u>) does not imply that Z*(u, o>) should have the same
variogram as Z(u, u>).
For example, if all the values {2(11^)} are equal to zero, then combining the
equations (9.125) and (9.127) shows that z*(u) will be identical to zero what-
ever the variogram of Z(u,u;).
Over the past three decades, geostatisticians have developed a large number
of methods collectively known as "Kriging" methods based on the strategy
described above. The next section focuses on "Ordinary Kriging" and "Simple
Kriging," the simplest and also the most popular of these methods.
39
Note that this is a sufficient condition, not a necessary condition.
504 CHAPTER 9. STOCHASTIC MODELING

9.7.2 Ordinary Kriging interpolator


Definition
Among the infinite number of possible weightings (Aj(u)} used in equation
(9.126), Ordinary Kriging chooses the one that minimizes the so-called "esti-
mation variance " <T|;(U), as denned by

The optimal weighting coefficients (A^(u)} minimizing (9.129), while honoring


constraint (9.128), can be obtained using the classic Lagrange multipliers tech-
nique [141, 90, 163]. According to this technique, the optimal solution should
realize the minimum of the function (Ai(u),..., AJV(U), /u(u)) as defined by

where /Lt(u) is the so-called "Lagrange multiplier" associated with constraint


(9.128). Consequently, the following equations must be honored:

Taking into account the fact that Z(u, u) is assumed to be order 2 stationary,
it is easy to show that

where C^(h) is the stationary covariance function of Z(u,a;). The Lagrange


equations (9.130) can thus be turned into the following system of (N + 1)
linear equations called "Ordinary Kriging equations:"

In other words, assuming that [K] is invertible,40 the optimal weightings are
such that

40
With the covariance functions presented in section (9.3.3), it can be shown that this is
always the case provided that the sampling points u^ G D* are distinct.
9.7. KRIGING-BASED METHODS 505

Properties
As an exercise it can be checked that the associated minimum of the estimation
variance is such that

Moreover, in the case where u is identical to one of the sampling points, say
Uj, then F(u) F(UJ) is identical to the jib. column of [K] and the solution
A(u) of equation (9.132) is thus such that

otherwise

According to equation (9.127), this implies that the Ordinary Kriging is an


"exact" interpolator in the sense that, if u is identical to a data location Uj,
then the estimated value z*(uj) is equal to the input data:

For the same reason, the estimation variance cr|;(u) vanishes at data points:

If the distance of u to the data points is denned as follows


u far away from data points

then it is verifiable41 that the estimation variance behaves as follows when far
away from the data points:
u far away from data points

Example
Ordinary Kriging is widely used in geomodeling for interpolating physical
parameters of natural objects. Figure (9.12) shows an example corresponding
to a data set given in [58] where the goal was to interpolate a parameter
z(a) = 2(11(0:)) at each node of a regular 2-grid:
the Ordinary Kriging map z*(u) does interpolate the data points and looks
smooth when away from these data; and
the variance of estimation cr%(u) does vanish at data points and is close to
a constant for points u whose distance to the closest data point is greater
than the range of the covariance function (or the variogram). According to
equation (9.137), this constant value is within the range [Cz(0),2 Cz(0)].
41
This property comes from equation (9.131) and the fact that the hypothesis (9.136)
and the constraint (9.128) imply that
506 CHAPTER 9. STOCHASTIC MODELING

Figure 9.12 Comparison between the DSI interpolation (B) and Ordinary
Kriging interpolation (C) computed at the 2002 nodes of a regular rectilinear 2-grid
using the same data set (A). Part (D) shows how the variance of estimation crE(u)
of the Ordinary Kriging varies as a function of the distance to the data points. In
these pictures, low values are coded in light grey while high values are coded in dark
grey.

In this example, a Spherical covariance function model Cz(h) was used (see
definition on page 464) with an isotropic range R equal to | of the width of
the studied domain. It can be observed that, as with any other interpola-
tion method, both the DSI interpolation presented in figure (9.12)-B and the
Ordinary Kriging presented in figure (9.12)-C produce smooth solution.

9.7.3 Simple Kriging interpolator


Definition
Simple Kriging is a simplified version of Ordinary Kriging where the con-
straint (9.128) is removed.42 As a consequence, Lagrange multipliers are no
42
Generally, the mean mz(u) is assumed to be known a priori and the discrepancies
relative to this mean are interpolated:

For example, if the data points are not clustered, it can be assumed that mz(u) = mz and
mz can be estimated as the average value of the observed data {z(uj)}.
9.7. KRIGING-BASED 5

longer needed and the weighting coefficients (Ai(u)} are now solutions of the
following N linear equations:

According to equations (9.131), it is deduced that

This linear system can also be turned into the following matrix equation called
the "Simple Kriging equation," which replaces equation (9.132):

Properties
It is easy to check that Simple Kriging has the same properties (equations
(9.133)-(9.136)) as Ordinary Kriging except that, due to the removal of con-
straint (9.128), we now have:

However, it should be noted that equation (9.137) is now replaced by43

property and
n addition to the above property and properties (9.133)-(9.136) shared with
Ordinary Kriging, it can be observed that

43
This property comes from equation (9.131) and the fact that the hypothesis (9.136)
and the equation (9.139) imply that all the coefficients (Aj(u)} vanish when u is far away
from data points.
508 CHAPTER 9. STOCHASTIC MODELING

Figure 9.13 An example ofcolocated coKriging of the porosity z(u) observed on


well logs. The secondary function x(u) consists of the seismic amplitude observed
everywhere in a 3D curvilinear grid modeling the stratigraphy of the studied domain.
The grid is represented by three curvilinear sections in the u, v, and w directions.
The estimation of the relationship z = f(x) was performed on a sampling of the
wells where both x and z are known. (Data courtesy of Chevron)

According to equation (9.138), we can observe that Simple Kriging has the
following notable property:

In other words, the Simple Kriging interpolator features the correct covari-
ances with any of the data points iij G D*. However, by a similar proof, using
equation (9.138), it can be shown that

This shows that the Simple Kriging interpolator Z*(u, ) does not have the
correct covariances function Cz(h) and its variance cr|*(u) is lower than or
equal to the variance Cz(0) of Z(u, ). These properties (9.141) and (9.142)
are at the origin of the "sequential simulation" technique presented in section
(9.7.7).
9.7. KRIGING-BASED METHODS5 50

9.7.4 Colocated coKriging


As suggested in figure (9.13), let us assume that the function z(u) to be
interpolated is linked by a functional relationship to a second function44 x(u)
assumed to be known everywhere on D:

Unfortunately, due to measurement errors, this link is not fully reliable and
should be considered only as a hint as to the behavior of z(u) when a long way
from the data points. Several geostatistical methods, called coKriging [224,
80] or Colocated Kriging [237], have been proposed for taking into account
this "fuzzy" link between z(u) and x(u). A complete presentation of these
methods is beyond the scope of this book, but a very simple alternative to
colocated coKriging can be formulated as follows:

where
z*(u) is either an ordinary or Simple Kriging interpolator;
p is a given "certainty factor" belonging to [0,1], which is used to weight the
importance of the functional link (9.143) relative to the result z*(u) yielded
by the Kriging interpolator *(u); and
cr|;(u) is the estimation variance associated with z*(u).
Let us assume that the covariance function C^(h) used for building the Or-
dinary Kriging interpolator z*(u) is such45 that

Taking into account the properties shown in equations (9.134), (9.135), (9.137),
and (9.140), it is easy to check that z*(u) so defined is also an exact interpo-
lator behaving as follows:
in the neighborhood of a data point u^, the value z*p(u) is close to the value
z* (u) of the ordinary Kriging;
when "far" from the data points, the estimated value Zp(u) is close to the
value (I- p ) - z*(u) + p f{x(u)}.
Moreover, according to equation (9.144), it is clear that the certainty factor
p controls the importance of f { x ( u ) } relative to z*(u).
44
For example, in the case where z(u) represents a permeability, it was mentioned on page
440 that parameters linked to the invariants of the strain tensor (e.g., the dilatation) can be
used as a second function x(u) correlated to 2(11). An other example of functions that can
be correlated to z(u) are "seismic attributes," consisting of local weighted combinations of
seismic amplitudes.
45
This is the case for all the covariance function models presented on page 464.
510 CHAPTER 9. STOCHASTIC MODELING

Comment
Our presentation of the colocated estimator (9.144) appears more like a recipe
than a mathematical method. However, if it is assumed that there is a corre-
lation between Z and f(X) such that

then it is possible to show (see [237, 63, 45]) that the best linear estimation
z*(u) of z(u) is actually such that

It should be noted that, for small values of p 2 , this estimator is equivalent to


equation (9.144).

9.7.5 Practical implementation techniques


Window W(u)
It can be seen that the size of the linear systems (9.132) and (9.138) corre-
sponding to the Kriging equations is proportional to the number TV of sampling
points. This implies that the CPU time for solving this system on a computer
is proportional to TV2 (see [177]). On the other hand, in practice, it can be
observed that
in the case of Simple Kriging, the weighting coefficients (Ai(u)} become negli-
gible as soon as the distance ||uj u|| is larger that the range of the covariance
function (or the variogram) in the (uj u) direction; and
if A7" is large, e.g., greater than 100, numerical errors may become a major
concern when resolving the linear system (9.132).
Therefore, as suggested in figure (9.10), a better strategy widely used in geo-
statistics consists of limiting the data used in equation (9.132) to the subset
of sampling points located in a window W(u) centered on the point u where
z(u) has to be estimated. In practice, this window consists of an ellipsoid
centered on u whose radius p(d) in the d direction is greater than or equal to
the radius of the ellipsoid defining the range of the covariance function or the
variogram in this direction (see page 464). In the case where W(u) is cut by
a discontinuity (e.g., a fault [154]), it is recommended to truncate it in such
a way that its interior remains on the same side of the discontinuity as u.
This "divide and conquer" strategy is very efficient as long as the following
condition is honored

where D*(u) represents the points of D* located in W(u). However, it is


relevant to note that strongly clustered data points, as is often the case in
geoscience,46 may lead to this condition not being honored. In this case the
46
For example, this is the case for data collected on well logs.
9.7. KRIGING-BASED METHODS5 51

local Kriging approach may generate irrelevant discontinuities for z*(u) and
some specific precautions have to be taken (e.g., see [94], p. 178).

Normal score-transform
Using a normal score-transform (see page 470) in association with the Kriging
methods is a common practice discussed in this section.
According to equation (9.53), the cdf -F^(u; z) associated with the normal
score-transform Z(u, a;) of the random function Z(u, u) is a Gaussian cdf. On
the other hand, the truth of the following implication can easily be checked:

Gaussian
Gaussian
F Z ( U , U I , . . . , u j v ; z , z i , . . .,ZN) Gaussian

Gaussian

Assuming -F^(u, u i , . . . , UTV; z, z i , . . . , ZTV) to be Gaussian47 is thus compatible


with the normal score-transform and makes it possible to benefit from the
properties of the multivariate Gaussian law (see page 453):
as a linear combination of the Random Variables {Z(ui,u)}, the Kriging
estimator Z*(u, u>) is a Gaussian variable; and
among all the possible linear or nonlinear estimations of Z(u, o>), the linear
estimator Z*(u, u;) yielded by the Kriging equations is the one that realizes
the lowest minimum for the estimation variance.
In other words, proceeding as suggested by this schema

enables an optimal estimator z*(u), which is now a nonlinear function of the


initial data (z(ui),..., Z(UAT)}, to be obtained.
However, in general, the variance of estimation cr|,(u) of Z(u, a;) is different
from the inverse transform of the variance of estimation crf;(u) of Z(u, u?):

Much worse, generally the estimator Z*(u, u;) so obtained is biased [115]:

47
This is not a hypothesis, but a model very similar to choosing the degree of a polyno-
mial if using a spline or Bezier interpolation.
512 CHAPTER 9. STOCHASTIC MODELING

9.7.6 About the Heisenberg uncertainty principle


Within the framework of particle physics, the Heisenberg uncertainty principle
tells us that
From the same set of data, either position or momentum of a particle
can be measured with precision.
It can be observe that, in the frame of our interpolation problem, z(u) is the
analog of the position of a particle while the standard deviation of the estimate
of z(u) is the analog of its momentum. Since Kriging yields both an estimate
z* (u) and a variance of estimation a\, (u), one may be tempted to claim that
traditional Kriging methods do not suffer from a similar uncertainty principle.
In fact, such a naive interpretation of Kriging makes the implicit assumption
that a\ (u) measures the precision on the estimate z* (u). Unfortunately, this
implicit assumption is not true because it can only be said that <r|;(u) is no
more than a "pseudo-distance" to data locations, which is independent of the
actual values of these data.
It should be noted, however, that if a second set of data independent
of the first one used for computing a Kriging estimation is available, then
the exact Kriging error can be computed at these new data locations: these
true errors can then be used for approximating the true variance cr 2 (u) as a
function of the variance of estimation o~^ (u). Unfortunately, in practice such
a second data set is generally not available and this is why simulation methods
must be used when one want to assess uncertainties.

9.7.7 P-field-based and PC-based simulators revisited


As an epilogue of section (9.6), this section shows how P-field and PC-based
simulators can be derived from a Kriging interpolation z*(u) of the unknown
function z(u) to be simulated on a parametric domain D. In accordance with
previous notations, in this section D* represents a finite set of interpolation
points belonging to D where the values of the function z(u) are assumed to
be given.

Preliminary remark
Note that, according to equations (9.107), any simulator 5(11,0;) is a nonsta-
tionary random function honoring the following constraint:

This clearly shows that S(u, u;) cannot be identical to the stationary random
function Z(u, o;) used to define the Kriging interpolator (see equation (9.125))
whose stationary mean and variance are such that
9.7. KRIGING-BASED METHODS 513

Figure 9.14 Four examples of equiprobable simulation {z*(u) = 5(11, cjj)} using
the same data as in figure (9.12)-A and obtained with a P-field-based Gaussian
simulator (11,01) built from the Kriging interpolator presented in figures (9.12)-C
and (9.12)-D. In this picture, low values are coded in light grey while high values
are coded in dark grey.

Choosing the mean, the variance, and the style of S(u,uj]


P-field-based Gaussian simulators and PC-based simulators can be imple-
mented only if the mean ms (u) and the variance cr| (u) of the simulator to be
built are given. In the case where a Kriging interpolator z*(u) is known, an
intuitive solution honoring the constraints (9.145) consists of choosing ra,s(u)
identical to this Kriging interpolator while choosing cr|(u) identical to the
associated variance of estimation cr|n(u):

If Cz(h) is the stationary covariance function used to build the Kriging in-
terpolator z*(u), the style of 5(u, a;) can then be defined in a consistent way
as follows:
in the case of a P-field-based simulator, the stationary covariance function
C^(h) used to define this P-field is chosen as being identical to Cz(h):
514 CHAPTER 9. STOCHASTIC MODELING

in the case of a PC-based simulator, the stationary covariance function C(h)


used to define the eigen vectors is chosen as being proportional to Cz(h):

In both cases, according to equations (9.137), and (9.140), the following im-
plication holds true
u far away from the data points
From equations (9.104) and (9.108), this implies that

{ Ui far away from the data points 1


U2 far away from the data points J
This notable result has these important consequences:
It justifies "a posteriori" the choice of equation (9.146) made above for erf (u).
Thanks to the ergodic model, it guarantees that the simulations {^(u) =
S(u,u>j)} will have a "style" controlled by the covariance function Cz(h).
In the case of a P-field Gaussian based simulator (see page 496), the covariance
function Cz(h) in the Kriging equation must be identical to the covariance
function C^(ti) to be used for building this P-field.
In the case of a PC-based simulator (see page 497), equation (9.148) clearly
shows that the covariance function Cz(h) in the Kriging equation must be
proportional to the covariance function C(h) to be used for building this PC-
based simulator.

Example
As shown in figure (9.12)-C, Kriging yields a very smooth result that is far
from reproducing high-frequency variations specified by the Spherical covari-
ance model Cz(h) (see definition on page 464). This is not surprising if we
remember that Kriging uses the covariance function, but does not try to
honor it (see section (9.7.1)). Referring to equation (9.7.7), we note a major
difference in the simulator 5(u, u;) presented above, whose behavior is directly
controlled by the input covariance function C^(h) = C^(h).
As can be seen in figure (9.14), simulations {Zj(u) = 5(u,cc>j)} generated
by a P-field Gaussian based simulator (see page 496) do reproduce these high
frequencies. In this example, the P-field was a periodic P-field generated at
the nodes of a regular 2-grid using the discrete approach presented in section
(9.4.8) and based on the Fast Fourier Transform.

9.7.8 Sequential simulators


Compared to Simple Kriging, it can be observed that Ordinary Kriging does
not requires us to know the mean value of the RF chosen as model. For
this reason, in practical interpolation problems, Ordinary Kriging must be
preferred to Simple Kriging and the reader may wonder why Simple Kriging
9.7. KRIGING-BASED METHODS 515

has been introduced. The only reason for introducing Simple Kriging in this
book is that it is often used for building a sequential simulation technique to be
presented below. As will be seen, this sequential technique initially proposed
by Journel is quite different from the P-field approach demonstrated up to
now.

Building a sequential simulator


For simplicity's sake, let us assume that the simulator S^u, to>) that we want
to build is centered and is order 2 stationary:

Suppose that the simulator S(u, a;) is already known on a finite set >* of n
sampling points:

It is assumed that the n given Random Variables S(\ii,u)) honor the correct
covariance function

and S(un+i,uj) is defined as follows at a new location u n+ i D considered


to be a new sampling location:

In this definition of S(un+i,uj), the random function Z*(un+i,uj} and the


Random Variable Rn+i(u) are chosen in such a way that
Z*(u n+ i,u;) is the Simple Kriging estimator of Z(u,ui) = S(u,uj) as a function
of{S(ui,u) :uiDtl}:

Rn+i(uj) is independent of any other random variable and such that

where crf;(u n +i) is the Simple Kriging estimation variance associated with
equation (9.153). Note also that the cdf of Rn+i(uj) need not be Gaussian
and it can also change from n to n + 1.
One can observe that hypothesis (9.149) is consistent with equations (9.152),
(9.153) and (9.154):
516 CHAPTER 9. STOCHASTIC MODELING

Moreover, taking into account the independence of the Random Variables


Rn+i(u}) and from equations (9.152) and (9.141), it can easily be deduced
that

In other words, S(u n _|_i,a;) as denned by equation (9.152) honors the correct
covariances with any of the Random Variables (5(u^,o;) : ii; e D*}.
The equation (9.156) justifies using the following sequential algorithm
which is compatible with preconditions (9.150) and (9.151):

// Sequential simulator algorithm


let u be a given elementary statistical event
let Dn0 be a given initial set consisting of
no sampling points where 5(u, a>) is known,
let DM be a given superset of D*0 consisting of
N sampling points where S(u, u>) has to be computed,
let n = no
while( n < N } {
generate Rn+i(u>)
compute Simple Kriging
Z*(un+i,u) = ^=1 A ^ U n + l ) S(Ui,u)
compute S(un+i,u]1 = Z*(u n +i,w) + Rn+i(u)
increment n
D* < D*n U {un+1}
n < n +\

} II end: while

Sequential Gaussian simulator (SGS)


Most of the time, a Gaussian variable is chosen for Rn+i(ui), and the sequen-
tial simulation technique described above is called a "Sequential Gaussian
Simulation" (SGS). In practice, two types of SGS are used:
Constrained SGS corresponds to the case where the simulator S(u,u) is
assumed to be degenerated on D*0 :

The values {z(ui) : Ui -Dn0} correspond to the sampling data of the function
z(u) to be simulated. The above constraint guarantees that such sampling
data will be honored by each simulation and that the simulator S(u, u) gen-
erated by the above sequential algorithm is similar to the "linen" example
presented in section (9.3.6) and figure (9.7).
Unconstrained SGS corresponds to the case where no data have been ob-
served. In this case, the sequential algorithm can be initialized as follows:
9.7. KRIGING-BASED METHODS5 51

Figure 9.15 An example of Sequential Gaussian Simulation (SGS) of the dis-


tribution of porosities in a reservoir: the simulation is constrained to honor both
a given variogram and the data observed along the well-paths. The well-paths are
not represented while the variations of the porosities are represented in color scale
from low porosities in dark blue to high porosities in white. The curvilinear 3-grid
used in this example contains one million hexahedric 3-cells that have been slightly
distorted in the neighborhood of faults to smoothly cope with the geometry of these
faults.

no is initialized to 1 and the set D*0 is initialized with the first point of
n*N.
L)
S(ui,u>) is randomly generated according to a Gaussian centered law
having a variance equal to Cz(O).
In this case, the simulator <S(u, a;) generated by the above sequential algorithm
is similar to the "pool" example presented in section (9.3.6) and figure (9.7).
Figure (9.15) gives an example of constrained simulation generated by an SGS
simulator. In this example, the parameter to be modeled corresponds to the
distribution of porosity in an oil and gas reservoir and the data to be honored
are given along well-paths.

Comment
Note that, if constraint (9.149) is not honored, then implication (9.155) is no
longer valid; as a consequence, property (9.156) is no longer true. From this
remark, the following can be deduced:
In the case of an unconstrained SGS, it can be guaranteed48 that S(u,u>)
generated by the above sequential algorithm will honor the given covariance
48
This is because, by construction, unconstrained SGS honors constraint (9.149).
518 CHAPTER 9. STOCHASTIC MODELING

function Cz(h);
In the case of a constrained SGS, S(u,u) is no longer stationary. For this
reason, honoring the given covariance function C'z(h) no longer makes sense.
However, in practice, in the same way as in P-field simulations, moving away
from the data points, it can be observed that SGS approximately reproduces
Cz(h).

P-field-based simulators versus sequential simulators


Prom a practical point of view, P-field-based and sequential simulators yield
similar results and in several ways are complementary:
A sequential simulator can be used to generate a P-field by proceeding
as follows:
build an unconstrained sequential simulator S(u, ) honoring the speci-
fied covariance function Cz(h); and
- use the score-transform formula (9.16) to build the P-field P(u, ) where
FS(S) is the cdf of 5(11, ) as follows:

From the point of view of the algorithm's complexity, P-field-based and


sequential simulators behave in opposite ways:
The window VK(u) used by the SGS has to be larger than the range
of the specified covariance function Cz(h). As a consequence, the bulk
of computation needed to build the intersection W(u) D D^ tends to
increase when the range increases.
The degree of the trigonometric polynomials used for generating periodic
P-fields generally increases as the range of Cz(h) decreases.

From a computer science point of view, the generation of a periodic


P-field such as the one presented in section (9.5.2) can be parallelized
in a straightforward way. Conversely, due to its sequential nature, SGS
cannot be parallelized.

From a mathematical point of view, thanks to theorem (9.5.3) and prop-


erty (9.156), both periodic P-fields and sequential-based simulators have
solid fundations.

In practice, with a fairly large C^(h) range,49 periodic P-fields presented in


section (9.5.2) are extremely efficient and must be preferred to SGS for the
following reasons:

they are faster than SGS; and


49
For example, in a one-dimensional problem, the range R must be greater than .D/20.
9.8. BLENDING-BASED METHOD 519

they can be parallelized, which dramatically increases the speed of their


computation;
In particular, periodic P-fields are an excellent choice for building the geo-
metric simulators presented in section (9.9.1).

Comment
It may be that the function z(u) to be estimated is correlated with another
function x(u) known everywhere; for example, this is the case if z(u) is the
seismic impedance observed on well logs, while x(u) represents the seismic
amplitude observed in the whole 3D domain of interest. In such a situation, a
sequential simulator could be built based on Colocated CoKriging. It should
also be mentioned that many other possible methods have been proposed in
the literature (e.g., [92, 100]).

9.8 Blending-based method


In this section, a very fast method for building random functions with given
mean and covariance functions, while honoring linear constraints if any, is
proposed [151]. This method uses a limited set of precomputed equiprobable
realizations assumed to be generated by other traditional methods and can
be viewed as a "booster" of these traditional methods.

A preliminary remark
First, observe that the Random Fourier Series introduced in section (9.4) can
be written in the following form:

where the functions (/j(u)} are given sine and cosine functions, while the
{/%(u;)}'s are Random Variables adjusted to obtain a given covariance function
for Z(u, u;):

In practice, due to the inadequacy of sine and cosine functions, honoring a


given covariance function cov(-, ) generally requires large values for n. In
this section, it will be shown that, if realizations of a given random function
Z(u,uj) honoring the covariance function cov(-, ) are chosen for {/j(u)|

then the random coefficients {/3i(u}} can be chosen in such a way that, when
n tends toward infinity, Z(u, a;) also honors the same covariance function and
the same linear constraints, if any, as Z(u, w):
520 CHAPTER 9. STOCHASTIC MODELING

The interest of this approach lies in the fact that, due to the adequacy of
the functions {/j(u)j so chosen, the convergence of equation (9.157) toward
a random function honoring constraint (9.158) occurs very rapidly for small
values of n. According to equations (9.157) and (9.159), Z(u,u>) can be seen
as a random "blending" of realizations of the random function Z(u, u}\ for
this reason, we propose calling "Blending-Based Random Function," (BBRF),
the random function Z(u,u;) so defined.

9.8.1 Notion of Blending-Based Random Function


Let Z(u, u;) be a random function for which the elementary event uj be-
longs to a set 0, itself associated with a Probabilized Space (0,.A, IP}. Let
{Z(u, u;i(a;*)),..., Z(u, un(u>*))} be a series of n > 1 independent realizations
(see definition (9.28)) of Z(u, u;) obtained in the frame of an n-sampling a;*.
For the sake of simplicity in the following sections, the events w* associated
with the sampling will be omitted, and the following notations will be used:

Let { B i ( u j } , . . . , Bn(ui)} be a series of n "blending" Random Variables associ-


ated with the elementary event uj belonging to 15 and honoring the following
constraints:

By definition, the random function Z(u,u;) denned as follows for all u 6 D is


called a "Blending-Based Random Function" (BBRF):

Observe that Z(u, u;) can also be written as follows:


9.8. BLENDING-BASED METHOD5 5

9.8.2
The BBRF Z(u,u;), as defined by equations (9.161) and (9.162), has the
following properties:
The mean and covariance functions of Z(u, w) are such that

When n tends toward infinity, Z(u, uj) has the same mean and covariance
functions as Z(u,u):

If the blending Random Variables {Bi} are independent and have the
same type of cdf, then, when n tends toward infinity, the cdf FZ(U;S)
of Z(U,LJ) tends toward a Gaussian cdf having a mean equal to m^(u)
and a variance equal to C^(u, u):

The blending Random Variables {A}, as defined by equation (9.162),


have the following properties where a\. represents the variance of $:

If each realization of Z(u,u>i) honors a given linear equality constraint,


then all the realizations of Z(u, a;) honor the same equality constraint;
in other words, for any domain D, any real value 0, and any distribution
X (see [194]), the following implication holds true:

Proof
It is relevant to note that properties (9.163) are straightforward consequences
of constraints (9.160), which are assumed to be honored by the blending Ran-
dom Variables {B^}.
522 CHAPTER 9. STOCHASTIC MODELING

Taking into account the independence of the n realizations of Z(u,o;*),


similar to the properties of the experimental mean and variance (see page
458), it can be shown (e.g., [84, 78, 159]) that

Properties (9.164) are then a straightforward consequences of properties (9.163).


If the Random Variables {Bi} are independent and have the same cdf then,
according to definition (9.161), for each fixed value of u, Z(u,o;) is the sum
of n independent Random Variables with the same type of cdf. According to
the central limit theorem (see page 454), using properties (9.164) we easily
conclude that property (9.165) is true.
Definition (9.162) of the Random Variables {/^(u;)} ensures that property
(9.166)-1 holds true:

The two last properties (9.166) of the Random Variables {&} are direct con-
sequences of constraints (9.160) to be honored by the Random Variables {Bi}.
According to definition (9.162) of Z(u, o>):

If the left-hand side of (9.167) is true, then, according to the first property
(9.166), it can be concluded that

Comment 1
If the Dirac distribution <$ufe at location u^ is chosen for A, and if ^ is a given
value z(iifc), then property (9.167) will have the following particular form:

In other words, if each of the functions Z(uk,u)i) interpolates a set of data


points, then Z(\ik,uj) also interpolates those data points.
9.8. BLENDING-BASED METHOD 523

Comment 2
Experimental results have shown that the convergence corresponding to prop-
erties (9.164) and (9.165) is fast. Even for very small values of n, e.g., n = 10,
it has been observed that the limit corresponding to properties (9.164) and
(9.165) can be reached. However, when n is small, it is important to check
the independence of the n initial realizations used in the blending process.

9.8.3 Choosing the blending Random Variables


There are many possible choices of blending Random Variables {Bi}. The
simplest solution is to choose a series of independent Random Variables {Bi}
that honor the constraints (9.160)-1 and (9.160)-2:

In this case, according to property (9.23), for any i ^ j, the independence of


Bi from Bj ensures that

which, in turn, implies that the constraint (9.160)-3 is also honored:


Bi independent of Bj V i ^ j 1
E(Bi) = 0 V i J

Examples
The simplest example of blending Random Variables {Bi} is a family of in-
dependent, centered, Random Variables uniformly distributed on a segment
13 = [ -^/3/(n 1), +y / 3/(n 1)]. A family of independent, centered, Gaus-
sian Random Variables distributed on the real axis O = [00, +00] and having
a variance equal to ^-j- provides another simple example. In both cases, it
is easy to check that the constraints, as defined by equations (9.160), are
honored.

9.8.4 Ergodic correction


Let o\((jj) be the Random Variable as defined by

where D is assumed to represent the variation domain of the parameter u


in the parametric space, while Z(u,uj) is the BBRF as defined by equation
(9.161). For points u far away from the data points, a second-order stationary
and ergodic behavior is generally required for the simulator S(u,u}), and this
implies that
524 CHAPTER 9. STOCHASTIC MODELING

Figure 9.16 An example of realizations of a 2-dimensional blending-based


simulator (upper part) based on a series of n = 10 SGS realizations (lower part).
The variations of four of each of these realizations color coded in grey are represented
at the nodes of a 100 x 100 square grid. The specified variogram j(h) corresponds to a
spherical model whose range is represented by the ellipse at the right bottom corner.
The spatial variograms of ten realizations computed in the horizontal direction are
represented by thin curves.

In practice, this condition is rarely perfectly honored, thus, for each event
<jj 0, the following "ergodic correction" operation must be performed:

Note that such a transformation preserves property (9.167).

9.8.5 Application to stochastic modeling


Let us assume that a constrained or unconstrained simulator 5(u, o>) able to
generate equiprobable solutions of a given modeling problem has already been
built. Consider a series

of n > I independent realizations of 5(u, a;). It may be that the computation


of multiple realizations is time-consuming and that, furthermore, the realiza-
9.8. BLENDING-BASED METHOD 525

tions do not fit some linear constraints perfectly. In such a case, the following
blending-based simulator approach can be applied:
1. The first step consists in using the definition (9.161) of the notion of Blending-
Based Random Function to define the notion of "Blending-Based simulator"
(BBS) as follows:

2. The second step is optional: if need be, the n realizations {^(u, uji) : i = 1, n}
can be edited slightly to provide an exact fit for linear constraints similar to
those defined by equation (9.167).
3. The third step consists of choosing a Probabilized Space (15, A, IP) and a set
of associated blending Random Variables {Bi} honoring constraints (9.160).
For example, as suggested in section (9.8.3), the blending Random Variables
derived from the uniform distribution on the segment 13 as defined by

may be chosen.
4. The fourth step consists in drawing random points {u/,u/',.--} uniformly
distributed in 13 and then using equation (9.168) to associate equiprobable
realizations (5r(u, u/), S r (u,o;"),...} with each of these random points.
Since equation (9.161) involves very few computations, the proposed method
is extremely fast. Moreover, from properties (9.164) and (9.167), we deduce
that this new simulator honors, approximately, the same mean and covariance
functions as the initial simulator 5(u,u;) and also honors the same linear
constraints as 5(u,o;), should the case arise. In particular, data points, if
any, are honored.

Example 1
Figure (9.16) shows a series of realizations of two random functions S ( u , u j )
and S(u,uj) denned on the same 2-dimensional parametric domain D and
having a common stationary covariance function:

In this expression, a2 = C(u, u) represents the "variance" of the random


functions S(u,u) and 5(u,a;), while 7(h) is their common variogram. The
variogram 7(h) is assumed to correspond to a spherical model having no
nugget effect yet having an anisotropic range represented by an ellipse at the
right bottom corner of figure (9.16).
From a practical point of view, the realizations of S(u,uj] shown in figure
(9.16) were generated by a Blending-Based simulator (BBS) as follows:
the base functions {S(u,uJi) : i = l,n} consist of a set of n = 10 realizations
generated by a Sequential Gaussian simulator (SGS);
the blending Random Variables {Bi(u) : i = l,n} consist of a family of
independent, centered, Gaussian Random Variables distributed on the real
axis fi = [00, +00] and having a variance equal to ^y; and
526 CHAPTER 9. STOCHASTIC MODELING

the ergodic correction was applied to improve the ergodic behavior.


It is relevant to note that the equiprobability of the realizations of 5(u, uj]
derives from that of the blending Random Variables {Bi(uj) : i = l,n}.
To check how correctly the SGS and the BBS methods generate ergodic
realizations honoring the specified variogram, figure (9.16) presents the spatial
variograms of ten realizations obtained with the BBS method (top right cor-
ner) with the spatial variograms of the n = 10 SGS realizations (left bottom
corner) used to define the BBS. These spatial variograms have been computed
in the direction ul corresponding to the first component of the parameter
u = [u1, w 2 ]*. As can be seen, the behavior close to the origin, the range, and
the sill of the specified variogram are acceptably honored.
In practice, each equiprobable realization S(u, uij) is evaluated at the nodes
{uffh} of a regular grid in the parametric domain. Even for grids having one
million nodes, such as the ones shown in figure (9.16), the computation time
for a realization of a BBS on a regular PC is very short.

Example 2
A simple test suite is presented in Table (9.1) to compare the performances
of the BBS method with those of the SGS method. In this test suite:
the random function <S'(u, o>) to be simulated is evaluated at the nodes of a 2D
square grid and is assumed to have an isotropic spherical covariance function
with a range equal to one-third of the grid size;
for both methods, 100 (unconstrained) simulations are computed for three
different grid resolutions (50 x 50, 100 x 100, and 200 x 200 cells);
for the BBS method, six different values of the number n of initial solutions
are tested to evaluate the impact of this parameter on the computation time;
for each combination of parameters of the test suite, the total computation
time on an MIPS R4400 (200 MHZ) processor is reported in Table (9.1).
As can be seen in Table (9.1), when compared with the SGS method and all
things being equal, the BBS method computation time is at least one order of
magnitude lower than that for the SGS method. This remarkable computation
speed derives from the simplicity of equation (9.162) which involves only n
multiplications and n additions for evaluating a value S(ukh,ajj) at each node
ukh-

9.8.6
Honoring inequality constraints
It can easily be checked that, if the inequality constraints

are honored, then:


9.8. BLENDING-BASED METHOD 527

Method 2500 cells 10000 cells 40000 cells


SGS 275 1147 4617
BBS (n= 10) 1 4 17
BBS (n= 20) 2 7 30
BBS (n= 40) 5 17 67
BBS (n= 50) 6 23 96
BBS (n= 80) 10 41 167
BBS (n= 100) 13 52 214

Table 9.1 Computation time (in seconds) needed to generate 100 equiprobable
realizations of a random function defined on a regular grid (with three different
resolutions) using the SGS and BBS methods. The number of initial "blending
functions" (n) varies from 10 to 100.

In other words, for any domain Z), any real value 0 and any distribution A,
if the realizations {Z(u,uJi}} honor the inequality constraint (9.169), then
the realizations of the blending-based random function S(u, u>), as defined by
equation (9.162) and corresponding to nonnegative values of the {/?j(cj)}'s,
also honor the same inequality constraint.
In practice, a tricky way to generate realizations of S(u, oj) honoring the
inequality constraint

consists in keeping only the events cu corresponding to nonnegative values of


the {AHJ's.

What does a BBS bring ?


The simplicity and the efficiency of the BBS's is somewhat confusing, and one
can wonder if these simulators really generate something new compared to
the initial equiprobable realizations they use. To answer this question, let us
consider two families of equiprobable solutions T and T' built on the same
set of data such that
f = (Z(u,u;i), Z(u, ^2),...} is generated, for example, using a Sequential
Gaussian simulator, and
F' = {Z'(u, cui), Z'(u, tc>2), } is generated, for example, using a P-field-
based simulator,
In spite of the fact that each of these families contain an infinite number of
functions, generally they are completely different:

In other words, P-field-based simulators generate realizations that SGS's can-


not generate, and SGS's generate realizations that P-field-based simulators
cannot generate.
528 CHAPTER 9. STOCHASTIC MODELING

Now, let us consider the family F" of realizations generated by a BBS using
the n first realizations contained, for example, in the family 5-'. Generally, this
new family of equiprobable realizations is such that

In other words, the BBS generates equiprobable realizations that neither a


SGS nor a P-field-based simulator can generate. Consequently, one can say
that the BBS really generates new equiprobable realizations.

9.9 Assessing geometric uncertainties


In this section, two examples will show how stochastic simulators can also be
used for assessing uncertainties of geometric objects.

9.9.1 Example 1: Case of a discrete model


Let G be a ]>dimensional geometric object embedded in the IRm space and
whose unknown geometry (x(u) 6 ]Rm} is a function of a parameter u itself
defined on a region D of ]RP called the "parametric domain:"

Let us now consider a discrete model A^ m (r2,7V, x, C) approximating the un-


known geometry {x(u) 6 Mm} of G. At each node a e 0, the parameter
u(a) is assumed to be known and x(a) is assumed to be an approximation
of the unknown value x(u(a)):

It should be observed that the interpolation {x(a) : a 6 fi} of x(u) gener-


ated by the DSI method must be considered as an estimate of the unknown
geometry [153]. To assess the uncertainties regarding the geometry of G, we
propose building a geometric simulator X(u, u;) having the following form:

Note that it is not mandatory for the vectors {v(a) : a G 0} to be unit


vectors, and the construction of X(u, u>) can be reduced to the construction
of the scalar simulator 5(u,u;). In practice, it is assumed that

This is achieved if 5(u, u;) is constrained to be centered:


9.9. ASSESSING GEOMETRIC UNCERTAINTIES 529

Assuming that a periodic P-field as denned in section (9.5.2) is used to build


the simulator 5(u,c*;), the only parameter remaining to be chosen is the co-
variance function, which controls the behavior of 5(u, u] when far away from
the data points.

Comment 1
Observe that equation (9.170) is simply a first-order approximation of the
following general nonlinear model:

In this equation, {v(s a) : a $1} represents a given family of 3D curves


parameterized by their arc length s and whose shapes must be chosen as
functions of the geometry of G. Note that it is even possible to envision a
more general stochastic geometric simulator where the shapes of these curves
are themselves stochastic:

In any case, however, it is necessary to install some geometric constraints to


avoid self-intersecting realizations of the geometric object G.

Comment 2
In the case where the geometric object G is a smooth surface not too far
from its current approximation, a very simple stochastic geometric simulator
consists in choosing v(u) proportional to an approximation of the unit normal
vector N(a) to G at point X(U(CK)):

Choosing the orientation of v(o:) this way has the advantage of being simple,
but does not take into account the origin of the errors. To have a better
model, it is necessary to examine the modeling process used for building the
first draft of G in detail (e.g., see [49]).

Comment 3
If it is assumed that ||v(o;)| represents the maximum amplitude of the vari-
ation of the geometry at location x(u(a)), then it is wise to choose C$ (h) to
have:

It is verifiable that any centered normalized Gaussian Random Variable has


a 0.95 probability of belonging to the interval [1.96,+1.96]. Consequently,
if a Gaussian simulator is used, then from this observation, the choice

guarantees that ^(u,^)! will remain lower than 1 with a probability greater
than 0.95.
530 CHAPTER 9. STOCHASTIC MODELING

Figure 9.17 Global parameterization of a triangulated geological horizon (A)


interpolating seven well-markers and associated stochastic simulations (B, C, D).
Note that each of these simulations honors the well-markers perfectly.

Comment 4
Assuming that v(a) is not a unit vector implies that 11v(a) 11 can be considered
as an additional tuning parameter of the simulation method described above.
For example, in geophysics, fault surfaces are identified as "shadow areas"
where the seismic survey gives an incoherent image of the subsurface. In
practice, each shaded area can be bounded by two more or less parallel surfaces
G~ and G+ defining the extreme possible locations of the associated fault
surface. In this particular case, this suggests proceeding as follows:
build a surface G located approximately equidistant from G~ and G + ,
define the direction of v(a) as being orthogonal to G, and
define ||v(a)|| as half the local distance between G~ and G+.

Example
Let us consider the triangulated surface and the associated parameterization
shown in figure (9.17)-A: this surface built using DSI is assumed to model a
geological horizon interpolating seven well-markers.
Figures (9.17)-B, C, and D show three examples of stochastic realizations
generated by a P-field-based Gaussian geometric simulator of this surface in
the simple case where:
the vectors v(a) have a constant length and are orthogonal to the surface,
and
the covariance function controlling the behavior of the simulator corresponds
to an isotropic Gaussian model with a range equal to | of the maximum
extension of the surface.
9.9. ASSESSING GEOMETRIC UNCERTAINTIES 531

Figure 9.18 Stochastic simulations of channels interpolating six well-markers.


Note that each of these simulations honors the well-markers perfectly.

9.9.2 Example 2: Channels simulator


When characterizing heterogeneities of fluviatile reservoirs, one is often faced
with the problem of channel facies observed on well logs but not visible in
the seismic data [234, 222]. In such a situation, a stochastic simulator must
be built and must be capable of generating the geometry of possible channels
that honor the well data. For simplicity's sake, let us assume that
the channels have to be generated in a (u, v) parametric space such that the
stream directions correspond to the u direction;
the wells can intersect the channels at randomly simulated locations relative
to centerlines.
According to such hypotheses, the centerline of the channel to be generated
can be seen as the realization of a random function v = S(u, u;). We propose to
build a sequential simulator constrained to honor a series of points {(iti,Vi) :
= !,..., AT} corresponding to the intersection of the wells with the channel.
In this case, the range of the covariance function Cs(h) to be used must be
chosen as being equal to half the wave length of the meanders (see [186]).
Such an approach gives good results but suffers from one drawback: the
shape of the meanders does not look like the real centerline of channels. Sec-
tion (5.6.1) shows how this drawback can be overcome (see figures (5.16) and
(9.18)) thanks to a postprocessing based on the curvature of the centerline of
each channel.
In practice and as shown in figure (9.18), the (u,v} parametric space is
chosen as a map of a channel belt on a paleo-horizon during a given geological
time lag (iAt) corresponding to the segments of channel facies intersected by
the wells. Proceeding in this way guarantees that the channels so generated
will remain approximately in the channels' belt if the covariance function
Cs(h] is chosen such as

where Ai> represents the width of the channel belt in the parametric space. As
shown in figures (9.18) and (9.19), the (u, v) parametric space can be viewed
532 CHAPTER 9. STOCHASTIC MODELING

Figure 9.19 The (u,v,w) parametric space represented in figure (9.18) can be
used to parameterize a faulted/folded regular curvilinear 3-grid modeling a geological
layer (see also figures 5.16 and 3.18).

as a slice of the (w, u, w) parametric space used for parameterizing a regular


curvilinear 3-grid modeling a faulted/folded layer. The geometry of such a
curvilinear 3-grid can also be denned to fit the shape of the channel belt.

9.10 Conclusions
This chapter presented a series of stochastic methods generating equiprob-
able solutions of interpolation problems. In practice, these methods can be
combined to randomize both the geometry and the properties of geological
structures. Such an approach makes it possible to scan a large number of pos-
sible solutions honoring the available data. These solutions can be used in two
different ways for evaluating uncertainties on economic parameters controlling
the decision-making process:
First, it is possible to use these solutions for building histograms of economic
parameters, depending on the geometry and the properties of the subsurface.
Next, it is possible to examine each of these solutions in turn to determine
whether there are some catastrophic occurrences where the geometry and the
distribution of physical properties jeopardize the economic exploitation of an
oil field or an ore deposit. If such occurrences do exist, then it is of paramount
importance to look for additional data to confirm or reject it.
It should be noted, however, that while these methods allow an evaluation of
the uncertainties, they are (generally) unable to predict their origin.
Chapter

m
Discrete Smooth Partition
In a broad sense, a fades in geology represents a part of the subsurface where
a given set of properties can be considered as more or less constant at a given
scale. Each fades can be composed of a series of non-overlapping regions, and
the set of all the possible fades constitutes a partition of the subsurface. To
estimate such a partition, this chapter proposes a new approach that is based
on the DSI method and that takes into account a wide range of structural
constraints allowing the space of the possible solutions to be reduced. By
definition, any partition obtained using this method will be called a "Discrete
Smooth Partition."

10.1 Introduction
10.1.1 The classification problem
Notion of classification
In a general way, it can be said that any classification problem consists in
splitting a set 0 into a series of non-overlapping subsets {F1,...,Fn}, called
the "classes" defining a partition of Q. Such a definition can be applied to
very different types of problems, for example,
1. in sociology, if $7 represents a population of individuals, then each class F"
may correspond to a social class;
2. in paleontology, if f2 represents the family of dinosaurs, then each class F"
represents a different breed of dinosaurs;
3. in geology, if fJ represents a part of a geological layer (see figure (10.1)),
then each class F" corresponds to a given type of rock, called the "fades,"

533
534 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.1 Partitioning the set fi of all the 3-cells of a (cell-centered) curvilinear
regular 3-grid into n subsets corresponding to a given series of geological fades
{.F1,.. .,Fn}. For the sake of clarity, in the vertical direction, only one cell out of
four has been displayed and the altitudes have been multiplied by a factor of 5.
(Data courtesy of Chevron)

contained in this layer; and


4. in environmental sciences, if fi represents a region on the surface of the earth,
then each class Fv may correspond to an ecosystem present in this area.
One of the very first to take a scientific approach to classification problems was
Linnee who, in the mid 18th century, proposed the first classification of flowers.
In the statistical community, there is a long tradition of works dedicated
to "discriminant" and "clustering" methods. In 1936, Fisher [79] posed the
problem in mathematical terms, and, since this date, a great deal of literature
has been dedicated to this topic. All these methods assume that each element
of fi is characterized by a series of numerical and/or non-numerical attributes
used for detecting similarities and dissimilarities between these elements. In
practice, two generations of such methods can be distinguished:
A first generation of methods, introduced in the 1970s, is based on the notion
of "metrics" used to define similarities and dissimilarities in term of distances
or pseudo-distances in the space of the observed attributes. A survey of these
methods can be found in [11, 83, 203, 103,113, 189, 126] can also be mentioned.
A second generation of methods, introduced in the 1980s, is based on the no-
tion of "neural networks." Compared to their previous generation, these meth-
ods represent a major improvement because they are nonlinear and, within
the space of the observed parameters, they permit the building of complex
shaped classes. A survey of these methods can be found in [104]. Note also
that a method close to neural networks is proposed in section (10.4).
10.1. INTRODUCTION 535

Specificity of geometric objects


It is important to note that none of the traditional statistical methods distin-
guishes between attributes corresponding to the location of the elements of
f2 in space and attributes corresponding to the properties of these elements.
This strategy of clustering is certainly valid for examples (1) and (2) men-
tioned in the above paragraph, but fails completely for examples (3) and (4)
where the location of the elements of fi relative to each other plays a major
role. Compared to classic property attributes, it can be said that location
attributes have a totally different role for the following reasons:
two elements of fi can belong to the same class Fv even if they are very distant
from each other in space, and
the distribution and the shapes of the classes {Fl,...,Fn} in space must
honor structural information, if any, related to the geometric shape of these
classes.
Traditional statistical methods are unable to take into account the specific
nature of attributes corresponding to the location of the elements of fi. For
this reason, a new geostatistical approach to this problem (Indicator Kriging
[116, 117, 118, 199, 188]) has been proposed; this approach makes a clear dis-
tinction between the property attribute(s) z(a) and the location attribute(s)
u(a) of each element a G 1. This chapter presents a similar approach based
on the Discrete Smooth Interpolation (DSI) method that allows a large spec-
trum of structural information to be taken into account related to the shape
and the distribution of the subsets {jP 1 ,..., Fn} over the set 17.

10.1.2 Discrete partition of a geometrical object


Notion of facies
As suggested in figure (1.5) and (10.1), any geometrical object can be approx-
imated by a graph1 C/(f2, JV) where:
O is the set of all the nodes of the graph.
N(-) is an application used for specifying the "neighborhood" N(a) of any
node a G fi.
In this chapter, as suggested in figure (10.1), it is assumed that each node
a G O consists of a homogeneous n-cell where non-geometrical attributes2 are
more or less constant.
Most of the time, the set 17 is not homogeneous and it is necessary to
split it into a family F of n different regions Fv called the "facies" where
non-geometrical attributes can be considered approximately constant:

the node a of $1
belongs to the facies # v
1
See chapter 1, page 5.
2
For example, in geology, n = 2 or 3 and these attributes may correspond to numerical
properties such as permeability or porosity, and non-numerical properties, such as type of
rock and presence of oil, attached to the cells.
536 CHAPTER 10. DISCRETE SMOOTH PARTITION

The family T so defined constitutes a partition of f); this is equivalent to say


that

The problem addressed in this chapter


The partition F is generally unknown and its intersection with a given subset
L of fi is the only exact information available:

There is, of course, an infinite set of partitions J- honoring the data set L,
and the goal of this chapter is to propose a method allowing such partitions
to be built, while honoring some constraints. In particular, we are looking for
"structured" solutions having the two following properties:
1. If a node a is in a fades F", then it is highly probable that its neighboring
nodes (3 G N(a) will belong to the same facies F". In other words, we are
looking for a "smooth" partition.
2. The proportions of the different facies and the transitions from one facies to
another should honor some structural constraints [91, 195].
It will be shown how the DSI method can be used for building solutions
honoring both of these goals, and we propose calling "Discrete Smooth
Partition" (DSP), the family J-~ so obtained.

Tutorial geological example


In figure (10.1) a geological layer is modeled as a cell-centered curvilinear
regular 3-grid (fi, N) where the set fi has been split into n facies induced by
non-numerical geological attributes:
a F1 <=> a belongs to the "shalestone" geological facies
a G F2 <=> a belongs to the "carbonate" geological facies
a G F3 <4=>- a belongs to the "sandstone" geological facies

a G Fn <=$ a belongs to the "conglomerate" geological facies


The geometry of the curvilinear regular 3-grid is chosen to cope with the
sedimentation process in such a way that the curvilinear axis noted as (u, v, w)
can be interpreted as follows:
w corresponds to the "paleo-vertical" direction orthogonal to the layer, and it
is implicitly assumed that there is an unknown monotonic increasing function
t = t(w) linking the geological time t to w;
(it, v) correspond to the "pseudo-horizontal" surface parallel to the layer and
are interpreted as the "paleo-geographic coordinates" at geological deposition
time t = t(w).
10.1. 537

Figure 10.2 Tutorial example: the initial data consist of a set of four poros-
ity classes {Fl, F2, F3, F4} observed on eleven well-paths plus a regular curvilin-
ear 3-grid on which the seismic amplitudes have been reported. (Data courtesy of
Chevron)

In practice, the facies {F1,..., Fn} are only known on a set L of nodes located
on the well-paths and have to be estimated on O to interpolate L, while taking
into account additional structural information such as
a seismic amplitude observed everywhere in the layer,
horizontal average proportion maps3 of facies,
vertical average proportion curves4 of facies, and
macro sequences5 of transgressions and regressions of the sea level.
Figure (10.2) shows a real data set consisting of
a set of eleven wells along which the facies crossed by the well-paths are given,
and
a seismic amplitude given at every node of the grid.
In the realm of geosciences, curvilinear regular 3-grids are often used because
of the natural interpretation of the w direction as geological time and the (w, v)
as paleo-geographic coordinates. Consequently, throughout this chapter most
of the figures refer to this kind of mesh, but it should be noted that, except in
a few particular cases,6 any kind of graph 7(O, AT) can be used for modeling
the topology of the domain to be partitioned.
3
A function of (it,u).
4
A function of w.
5
A function of w.
6
For example, in sections (10.3.4) and (10.3.5), taking into account anisotropies and
gradients does not require a regular 3-grid.
538 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.3 The cumulative Membership Function $(a; s) associated with a


Membership Function (f> and a given sorted list {SQ,SI, .. .,sn} of real values. This
function can be used to build a simulator S(u,u) from a given P-field P(u, o>).

10.2 The probabilistic approach


10.2.1 A partitioning method based on DSI
Membership Function (f>
Let us assume that the number n of possible facies {F 1 ,..., Fn} is known. As
suggested in figure (10.1), to each node a G O we propose attaching a vector
(p(ot) with n components {(pl(a),..., (pn(a}} such that

represents the probability for the node a to be located in the facies Fv:

In other words, (f defines on O a vectorial function called the "Membership


Function," which must be interpolated over fi while honoring all the available
data. This suggests introducing the discrete model .M n (f2, A/", <>, C^] where dp
corresponds to a set of DSI constraints to be defined so as to honor all the
available data.

Cumulative Membership Function &(a; s) = 3>(a; s\ip; SQ, si,..., sn)


Let {$} be a sorted list of (n + 1) given real numbers7 such that

7
For the sake of generality, the meaning and the practical interest of this sorted list {i/}
is not detailed at the present time. Sections (10.2.2) and (10.2.3) give examples of how this
list can actually be chosen.
10.2. THE PROBABILISTIC APPROACH 539

and let {$(0;; $)} be the associated list of real numbers defined as follows:

By definition, one calls "Cumulative Membership Function" associated with


(f> and {sjx} and one note as $(a; s\(f>; SQ, si, -, n) or5 more simply, $(a; s)
the function, as defined by

In other words, as shown in figure (10.3), $(a;s) linearly interpolates the


values {3>(a;sv)} as defined by equation (10.2).
It should be noted that, if $(a; s) and the associated series {sv} are given,
then it is easy to retrieve </?"(a:) as follows:

Simulator S(u, o>)


Let us assume that the graph Q(l, AT) has a topological dimension equal to
p. In this case, according to section (4.9.1), it is possible to build a global
parameterization u from 0 to a p-dimensional parametric domain D such that

This parameterization can then be used for continuously interpolating on


D any discrete function defined on Q, in particular the functions (p(ot) and
&(a;s):

It is clear that, for any a G O, the function <!>( u(a); s ) has all the properties
of a cdf function:8 if a global interpolator preserving these properties on D
is chosen for $, then ^(u; s) can be considered as a cdf defined on D. As in
the case of the simulator introduced in section (9.6.2) and as shown in figure
(10.3), to any P-field P(u, w) defined9 on (D x 13), this suggests associating
a random function 5(u,o;), as defined by

According to equation (9.103), the cdf -Fs(u; s) of the simulator so defined is


identical to <&(u; s):

8
See sections (9.2.2) and (9.3.5).
9
According to the notations introduced in section (9.2.1), 15 represents the set of all the
possible elementary statistical events u.
540 CHAPTER 10. DISCRETE SMOOTH PARTITION

In particular, according to equations (10.4) and (10.5), this implies that the
probability that S(u,uj) belongs to js^-i,^] is equal to c/?"(u):

Comment
For the sake of generality, the sorted list {SQ, s i , . . . , sn} and the associated
simulator S(u,o;) have been formally denned without any explanation. Sec-
tions (10.2.2) and (10.2.3) show how the list {SQ,SI, -,s n } must be chosen
to obtain a simulator S(u, a;) that allows the generation of equiprobable in-
terpolations for
either the partition F of fi,
or a scalar function 2(11) denned on O.

Intrinsic probability constraints


Whatever the data, the Membership Function ip must always honor the fol-
lowing "intrinsic" probability constraints:

These constraints are linear relative to ip and can easily be turned into three
hard DSI constraints belonging to Cv:
The constraint {^(a) > 0} can be written according to the canonic form of
a DSI constraint c = c(a, v} that depends on (a, v} and belongs to C^:

The constraint {^(a) < 1} can be written according to the canonic form of
a DSI constraint c = c(a, v) that depends on (a, v} and belongs to C^:

The constraint (5^1 ^(CK) = 1} can be written according to the canonic


form of a DSI constraint c = c(a) that depends on a and belongs to C^:

It should be noted that this constraint can also be taken into account, in a
least square sense, as belonging to C^ . In such a case, according to the local
10.2. THE PROBABILISTIC APPROACH 541

DSI equation at node a, the terms 7^(a) and T"(a\(p) associated with this
constraint take the following form:

One can observe that the notion of "Membership Function" is close to the
notion of "indicator" random function used in geostatistics [117, 118, 119].
Another possible approach to our problem would consist of using the indicator
Kriging method for estimating (p over Q. Contrary to DSI, however, indicator
Kriging equations do not allow the intrinsic probability constraints presented
above to be taken into account directly and may generate values <pv(ot) out
of the range [0,1].

Fuzzy Control-Point constraints


In practical applications, the available "data points" generally consist of a
given set of points P {p 1 ,...,p m } where a Membership Function 0 is
given:

For each data point p E P, two cases have to be considered to take into
account the associated piece of information 0(p):
If p is close to a node loftl, then it can be added to the set L of Control-Nodes
(see definition (10.1)) where 9? is assumed to be known:

If p is a long way from any node of Q, then it should be considered as a fuzzy


Control-Point (see page 182); such a fuzzy Control-Point will be relative to the
set f2* = f2*(p) corresponding to the vertices of the cell of the graph (?(f2, TV)
containing the point p. According to section (4.7), this fuzzy Control-Point
generates the following DSI constraint c c(r2*(p)) belonging to C~

where the coefficients {14,3(p)} represent a set of barycentric coordinates of p


relative to the location of the nodes of fi*(p).
In the case where the data points p G P are strongly clustered relative to the
distribution of the nodes a e f2, it is far better to use fuzzy Control-Points
than Control-Nodes. To understand the superiority of the fuzzy Control-
Points over Control-Nodes, let us consider two data points, p^ and p j? be-
longing to P and very close to each other:
542 CHAPTER 10. DISCRETE SMOOTH PARTITION

It is likely that pj and p^ will be simultaneously close to the same node


i G fi; since it is impossible to attach two distinct Control-Node values </>(Pi)
and </>(PJ) to the same node , considering as a Control-Node will result in
one of the two data 0(pj) or 0(p^) being discarded.
Even in the case where p^ and p^- belong to the same cell 7*, it is possible to
take into account both of the pieces of data (/>(PJ) and </>(p,-) as two distinct
fuzzy Control-Point DSI constraints.
Incidentally, in the case corresponding to figure (10.1) where dense data are
sampled on well-paths and where the graph /(Q, N) consists of a coarse strati-
graphic grid, it should be noted that using fuzzy Control-Points elegantly re-
alizes a so-called "upscaling" (e.g., [45]) from the dense well data to the coarse
grid.

Estimating the partition F


As soon as an approximation of the Membership Function </? is known every-
where on fi, a deterministic estimation J-(y>] of J- can be made as follows:

The quality of this estimation can be measured at each node a of 12 thanks


to the following function lp(a) defined on fi, which we propose calling the
"Likelihood function":

It is easy to check that the function p(a) so defined has the following inter-
esting properties that make it a good candidate for measuring the quality of
the estimation of F at node a:

The Likelihood function could be used in answering the following question:

Assuming that the set of data points L is given, where is the best
location in il for observing a new data point (.Q ?
A straightforward answer would be to select IQ in the set / = (f2 L) in such
a way that IQ corresponds to the minimum value of lf(a) on /:

The next section shows that it is possible to build stochastic estimations of


T and the deterministic solution presented above has only to be considered
as the "most probable" one.
10.2. THE PROBABILISTIC APPROACH 543

10.2.2 Simulation versus estimation


Need for simulations
The set of Control-Nodes and fuzzy Control-Points is often very small com-
pared to the local complexity of the partition T to be built. As a consequence,
in regions a long way from these Control-Nodes and fuzzy Control-Points, the
DSI method, very like any other estimation method, will tend to produce a
smooth Membership Function (p. This implies that, in regions a long way
from the Control-Nodes and fuzzy Control-Points, the "most probable" parti-
tion presented in the previous section can only have a smooth geometry very
different from the actual geometry of the unknown partition F.
Therefore, as explained in section (9.1), any decision-making strategy
based on F is relevant only if it is possible to produce equiprobable solu-
tions JF(ijj\(p) called simulations, honoring the two following fundamental
constraints:
1) Each simulation F((jj (p) is assumed to interpolate the
Control-Nodes and approximate as closely as possible the
fuzzy Control-Points and other constraints, if any.
2) Each simulation F(u)\(p) is assumed to have a local geometry
compatible with an a priori knowledge of the "style" of the
local variations of F.
The next section presents a very efficient method based on the notion of "P-
field" (see section (9.5)) specially designed to produce such solutions.

The P-field simulation technique


First, consider the cumulative Membership Function $(a; s) defined by equa-
tion (10.3) and associated with the sorted list {0,1,..., n\:

The random function 5(u, w), defined by equation (10.6) and associated with
a given P-field P P(u, a;), can be used for defining a new random function
SD(U,UJ) derived as follows from S(u,uj):

Note that the random function Sa (u, u) so defined can take only integer values
between 1 and n:

Moreover, taking into account equation (10.7), it can be deduced that ^"(a)
is equal to the probability that 5D (u, uj] is equal to v:
544 CHAPTER 10. DISCRETE SMOOTH PARTITION

This suggests that the following technique may be used for associating an
estimation F(uj\(f>} of the partition JF with each elementary statistical event
u;:

It should be noted that the constraint (10.9)-1 is automatically honored for


any Control-Node I G L because

where v() is the index of the facies Fv^ containing the node t (see definition
(10.1)).
In practice, the only difficulty lies in building the P-field P(u, u;). A naive
solution would be to choose for P(u,u;) a simple random variable10 not de-
pendent on u and uniformly distributed on [0,1]:

However, such a choice would generate solutions J-(uj\(p) strongly dependent


on the numbering of the facies:
if P(<jj) is close to zero, then Fl(uj\(p) will be overestimated relative to the
other facies, and
if P(UJ) is close to 1, then Fn(uj\<>) will be overestimated relative to the other
facies.
To remedy this bias, a random function whose realizations depend on u and
have the following properties must be chosen for P(u,u;):
if a O is fixed, then the values of the random variable _P(u(a),u;) are
uniformly distributed on [0,1], and
if the statistical event u is fixed, then the variations of P(u(a),w) when a
scans 11 must mimic the local variations of the unknown partition J- to honor
the constraint (10.9)-2.
In practice, a P-field similar to the one introduced in section (9.5) will be used
for P(u, LJ) whose associated covariance function {Cp(h)} should be chosen
to specify the style of the variations of the unknown partition f'.

Practical implementation of simulations


The simulation technique presented above is no more than a "downscaling"
method able to generate high-frequency solutions from low-frequency Control-
Points and Control-Nodes:
the DSI method generates a smooth Membership Function and is responsible
for interpolating the data while
10
See section (9.2.2).
10.2. THE PROBABILISTIC APPROACH 545

the P-field realizations are responsible for generating the high frequency vari-
ations between the data.
This has a consequence for the optimal implementation of the simulation
technique:
*- The Membership Function can be represented by a discrete model M.n(l, N, <p, Cv)
corresponding to a coarse graph Q(l, N).
The simulations must be stored in the nodes of a fine graph G(&, N f ) whose
cells have a size11 compatible with the high-frequency variations induced by
the P-field.
Thus, it may be wise not to use the same graph for storing the Membership
Function and the simulations. For example, in the case of the tutorial example
introduced in section (10.1.2), an optimal implementation would consist of
a coarse graph /(!, N) having large steps in the (u, v) directions, while re-
taining small steps in the w direction to preserve the high density of data
along the well-paths which are more or less parallel to the w axis, and
a fine grid $(&, N*} having small steps in the (u, v, w) directions compatible
with the ranges of the covariance functions used for generating the P-field (see
section (9.5)).
An efficient technique is to use a local interpolation 0 to compute the global
parameter u(o/) at the nodes a/ 6 $V of the fine graph ($V, N?) from the
values of u(a) stored in the nodes of the coarse graph (/(}, AT). In practice,
a barycentric interpolant 0 similar to the one defined by equation (3.16), can
be chosen such that

where fi*(o/) represents the subset of nodes12 of 0 corresponding to the cell


of G(tl,N) containing the node a* G fiA The simulator 5(u, a;) can then be
computed at the nodes of the fine grid as follows:

10.2.3 Simulating a bounded scalar function


The problem to be solved
Let us assume that an estimate is needed of a scalar function z(a) defined
on the set fi corresponding to the nodes of a graph (f2, N) and bounded by
two given values ZQ and zn:

A straightforward solution to solve this problem lies in applying the DSI


method to the discrete model Ai n (O, N, Z,CZ) where C contains at least the
two following hard constraints belonging to C>:

11
In practice, the cells of the fine graph G(ftf ,Nf) are built as regular subdivisions of
the cells of the coarse graph G(Q, N).
12
This subset can easily be retrieved in the case where the cells of the fine graph <7(JV, N?)
are built as regular subdivisions of the cells of the coarse graph G(Q, N).
546 CHAPTER 10. DISCRETE SMOOTH PARTITION

Such an approach provides one single solution. However, this is not sufficient
to assess uncertainties, which leads to a different approach to this problem
proposed in the next section.

The associated transformed problem


To assess uncertainties as described in section (10.2.2), it is proposed to trans-
form the initial problem, described above, into the problem of estimating a
partition T of f2 as follows:
Choose a series of (n + 1) real numbers {zv} such that

Define the discrete model .Mn(il, N, <>, dp) where <p is a Membership Function
whose n components are denned as follows for any Control-Node I G L:

Similarly, if a data point p holds a value z(p) then, as explained on page 541,
an associated fuzzy Control-Point constraint (j)z (p) can be installed such that

Interpolate if with DSL


The Membership Function <p so denned can then be used for estimating (see
page 542) a partition {F 1 ,..., Fu} of 17. This partition can, in turn, be used
for estimating the range to which z(a) belongs to

If the P-field simulation technique is used for generating equiprobable random


partitions, then the classes {F"} are replaced by random classes {Fv(uj\(p)}
and z(a) must be replaced by a random function 5(u,u;), such that

where 15 is the set of all the possible elementary statistical events. The next
section shows how to build such a random function 5(u, w).

A simulation method
Consider the cumulative Membership Function $(a; s) defined by equation
(10.2) and associated with the sorted list {ZQ, z\,..., zn} introduced in the
above section:

The random function 5(11, u;) denned by equation (10.6) is bounded and can
take only values between ZQ and zn whatever the P-field P(u, cj):
10.2. THE PROBABILISTIC APPROACH 547

Moreover, taking into account equation (10.7), it can be observed that ^(a)
is equal to the probability that 5(u, o>) belongs to the interval ]zv-i,zv}:

This suggests using 5(u(ce),o;) as a simulator (see sections (9.1) and (9.6))
associating a simulation Zj(a) with each statistical event MJ:

The exact interpolation problem


Assuming that z() is known for a node t G L, note, however, that the simu-
lation technique presented above is not precise because:

In the case where precision is important, proceeding as follows will correct


the problem:
for each simulation Zj(a) = S(u(a),ujj) of the function z(a) built as indicated
above, define the associated discrete model Mn(l, N, Zj, Cz) in such a way
that C reduces to the following Control-Node constraints:

apply the local iterative form of the DSI method (see section (4.4.3)) limiting
it to the subset L*, which consists of nodes belonging to 1 and located in a
given neighborhood of the nodes of L.
Proceeding in this way ensures that the simulations Zj(a) remain unchanged,
except in the neighborhood L* of the subset L where the values {zj(l*} : t* 6
L*} are changed smoothly to interpolate the given values {z(l} : I E L}.

Comment
The "Gaussian-simulation" technique introduced in section (9.6.2) is a very
efficient alternative to the method presented above for simulating a scalar
function. The main advantage of the above method, based on the Discrete
Smooth Partition technique, is that it can easily take into account the struc-
tural constraints presented in the next section:13

About the Heisenberg uncertainty principle


As quoted on page 512, within the framework of particle physics, the Heisen-
berg uncertainty principle tells us that
13
For example, see page 553.
548 CHAPTER 10. DISCRETE SMOOTH PARTITION

From the same set of data, either position or momentum of a particle


can be measured with precision.
Within the framework of Membership Functions applied to the estimation of
a bounded scalar function z(o) presented above, it can be noted that there
lies a similar uncertainty principle:
for greater precision of values Zj(ct), the size of the intervals {]zj,_i, zv[ : v =
l,n} has to be reduced and, as a consequence, the associated probabilities
{(pv(oL) : v = l,n} attached to these classes will decrease;
to obtain high values for the probabilities {(//'(a) : v = l,n} attached to the
intervals {]zv-i,Zv[ ' v = l,w}, it is necessary to reduce the total number of
intervals, thus decreasing the precision of the values Zj(a).

10.3 Structural constraints


As already mentioned, in addition to the mandatory intrinsic constraints on
(f>, it is possible to take into account additional DSI constraints related to
prior information on the structure of the unknown partition J-'. In the fol-
lowing sections, a series of such possible constraints corresponding to types of
information encountered in the geosciences are presented:

10.3.1 Taking into account a priori proportions


Notion of local proportion
The structural information under consideration in this section is related to
local proportions of nodes JP(Fv\W(a}} denned as follows where Fv is a part
of the unknown partition T to be estimated:

In practice, as suggested in figure (10.4), W(a) is a "floating-window" centered


on the node a and JP(Fv\W(a)} describes the local percentage of facies Fv
in this window.14
Although the set Fv is unknown, it may be that an initial estimation of
its relative size JP(FV W(a)} in W(a] is given. For example:15
If (Fv fl W(a) n L) is large enough, then a decision can be made to estimate
JP(Fv\W(a)} as follows:

14
Note that, if need be, W(a) may be independent of a. In the extreme, W(a) = f2 may
even be chosen.
15
Remember that L is the set of nodes where the facies is known. For example, L may
correspond to nodes located along well-paths.
10.3 549

Figure 10.4 Notion of local proportion JP(Fv\W(o)~) of fades F" in the neigh-
borhood W(o) of a node a.

If a given attribute16 z(a] depending linearly on the distribution of this facies


F" is known everywhere in Jl, then it is likely that the local average zw(a)
of z(a) in V^(o:) will be approximately proportional to JP(Fv\W(ot)}:

In this case, the coefficient k can be estimated using equation (10.10) at


locations a L corresponding to well data.
A current practice in the modeling of reservoir heterogeneities consists in
averaging the curvilinear projection of all the data on the (u, v) surface or on
the w axis of a curvilinear regular 3-grid:
As suggested in figure (10.5), the curvilinear projection of the data on
the (u, v) surface along the w axis enables us to construct17 an average
proportion map /(w, v) such that

In this case, W(a) is identical to the subset WUv(oi) of nodes having the
same (ti, v) curvilinear coordinates as a.
Similarly, the curvilinear projection of the data on the w axis along the
(w, v) surface enables us to construct an average proportion curve fc(w)
such that

In this case, W(a) is identical to the subset Ww(a) of nodes having the
same w curvilinear coordinate as a.
16
Such as, for example, seismic impedance.
17
For this purpose, the DSI method can be used for interpolating the projected data in
the (u, v) plane.
550 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.5 Notion of average proportion map /(w, v) and average proportion
curve fc (w) in a curvilinear regular 3-grid.

Local proportion constraint


As suggested in figure (10.4), if JP(Fv\W(a}) is known, then it is proposed
to translate this piece of information into the following constraint18 operating
on the component (pv of <p:

This constraint is equivalent to the DSI constraint c = c(a, z/, W) belonging


to the set C~ as denned by

To normalize this constraint (see equation (4.4), page 140), it is necessary to


divide both members of the above equation by ^/|PF(o;)|:

18
As usual, the number of elements contained in the set W(a) is noted as |W(o;)|.
10.3. STRUCTURAL CONSTRAINTS 551

The coefficients A^(f3] and bc associated with the canonic form of this DSI
constraint are then such that

It is easy to check that the associated terms {^(a)^T^(a\(p)} occurring in


the DSI algorithm (see equation (4.49) page 163) are such that

10.3.2 Taking into account associations with a subset G


Let G be a given subset of fi and let JP(FV\G) be the relative proportion of
nodes of G belonging to the .unknown facies Fv:

It can be observed that this relative proportion TP(FV\G] is no more than


a conditional probability19 measuring the "association" between the given
subset G and the unknown subset Fv in the following sense:
If P(FV\G) is large, then, on average, <fv(ex) is large when a scans G;
If JP(FV\G) is small, then, on average, (p"(a} is small when a scans G.
In other words, if JP(FV\G) is known, this constitutes a piece of structural
information that it is worthwhile taking into account when interpolating the
Membership Function (p.
Although the set Fv is unknown, it may be that an initial estimation of
F(F"\G) is given. For example,20 if (Fv n G n L) is large enough, then a
decision can be made to estimate IP(FV\G] as follows:

As suggested in figure (10.6), if JP(FV G) is known, then it is proposed to


translate this piece of information into the following constraint operating on
the component (pv of (p:

From a mathematical point of view, if we let

19
See definition on page 446.
20
Remember that L is the set of nodes where the facies is known.
552 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.6 Notion of probability of association between the unknown fades


v
F and a given subset G.

Figure 10.7 Nonlinear associations between a bounded unknown function Z(oi)


to be estimated on 1 and a given function X(o) known everywhere on Q.

then it can be observed that the "association" constraint described above


is strictly identical to the "proportion" DSI constraint presented in section
(10.3.1). However, it should be noted that, from a practical point of view,
these two versions of the same mathematical concept are used to model very
different types of information.
10.3. STRUCTURAL CONSTRAINTS 553

Comment
To reconsider the problem presented in section (10.2.3), let us assume that
the unknown bounded scalar function Z(a) to estimate on f2 is linked, in a
fuzzy nonlinear way, to a bounded scalar function X(a) known everywhere on
0. In this case, as suggested in figure (10.7), it is wise to proceed as follows:
Choose two series of values (XQ, ..., x m } and {20, , zn} to build a 2-dimensional
histogram where each cell {Gl x F"} is defined by

For each cell {Gi x F"}, compute the number N? of data points {X(l), Z(t)}
represented as black dots in figure (10.7) and corresponding to nodes i G L of
$1 where both X() and Z() are known.
Estimate the probabilities of association JP(Fl/\Gl) as follows:

use each P(F"\G1} to build an association constraint on the Membership


Function of the partition {F1,..., Fv}.
In figure (10.7) the fuzzy link between Z(a) and X(a) is represented by a
curve Z f ( X ) , but this is only one very particular type of relationship. Note
that the constraint presented above can account for any type of relationship
between Z(a) and X(a), even implicit equations with the following general
form:

For example, if we have

then the "cloud" of data points in the (x, z) plane of the histogram in figure
(10.7) is approximately a circle and there is no function Z ~ f ( X ) linking
Z(a) and X(a}, however, contrary to traditional methods, even in such an
extreme case the method presented above continues to work.
The next section shows how the notion of association with a function X(a)
known everywhere can be generalized in connection with the Moving-Centers
method presented in section (10.4.2) and (10.4.3):

10.3.3 Association with a function X


Let X(a] be a function defined and known everywhere on il and let us assume
that X(a) takes a specific range of values on each of the n unknown facies
{F^,..., Fn}. It makes sense to consider X(a) as a "signature" characterizing
the association between X and the unknown facies at node a. It is proposed
to use the following method for taking this association into account:
554 CHAPTER 10. DISCRETE SMOOTH PARTITION

define Y(a) as a function taking integer values in the set {1,2,..., n} in such
a way that

use the method based on Moving-Centers presented in section (10.4.2) for es-
timating the conditional Membership Function (f>(a\X) as denned by equation
(10.18);
define the probability of association between the facies (F 1 ,..., F"} and the
function X at node a as being equal to tp(a\X}.
In this case and to take into account information held by X on the facies
{F",..., Fn}, it is proposed to install, on each node a 6 0, a DSI constraint
specifying that

It can easily be checked that each of these constraints is a fuzzy Control-Point


DSI constraint already introduced in section (4.7).

10.3.4 Taking into account anisotropies


Anisotropy controlled by a structuring window
Most of the time, in geoscience applications, the distribution of the facies
is anisotropic and taking such an information into account is of paramount
importance. A very simple and efficient way for defining the anisotropy of a
component (pv of the Membership Function consists in proceeding as follows:
Choose a given family of "structuring" windows {W^a) : a G O} where each
window Wv (a) consists of a subset of SI containing the node a and at least
one more node of SI.
Specify that, for each node a, the value fv(oi} is as close as possible from the
average value of </?" in the domain Wl/(a) {a}:

In practice, such a constraint can easily be transformed into a dynamic fuzzy


DSI Control-Node constraint c = c(a, v, W)(see page 164) specifying that
^(ot] should be such that

In this constraint, $va is assumed to be dynamically defined as the average


value of (f>v in the domain Wv(ot] {a}:

According to equations (4.53) the associated terms {^(a),T^.(a\(p)} occurring


in the DSI algorithm (See equation (4.49) page 163) are such that
10.3. STRUCTURAL CONSTRAINTS 555

Figure 10.8 Two fades test example for anisotropy constraints: the probability
of fades F1 is coded in grey and part (A) shows the actual solution while part
(B) shows the Control-Nodes. Parts (D) and (C) represent the result of the DSI
interpolation of (f>1 with and without anisotropy constraints, respectively.

Comment about the structuring windows


It should be noted that the choice of the family of structuring windows
{W^a)} is extremely flexible:
the size and the shape of Wv (ct) may vary from one node a to its neighbors,
and
a different family of structuring windows can be chosen for each component
of the Membership Function (p.
In practice, the shape, the size and the orientation of the structuring windows
must be chosen to capture the style of the anisotropy. For example:
if the variogram of a variable depending on the facies has been estimated, then
the range ellipsoid of this variogram can be used as a structuring window, and
if the facies are associated with channels whose direction and width are known,
then the shape of W(a) can be adapted locally to take into such an information
into account.

Two facies test example


Let us consider the two-dimensional test example represented in figure (10.8)-
A, where two facies F1 and F2 correspond to three horizontal strips covering
556 CHAPTER 10. DISCRETE SMOOTH PARTITION

a regular rectilinear 2-grid with nv = 21 nodes in the vertical direction and


nu = 21 in the horizontal direction. The "observed" data consist of a series
of Control-Nodes represented in figure (10.8)-B specifying that
F1 is given and fixed on the left-hand side of the studied domain, and
F2 is given and fixed on the right-hand side of the studied domain.
Interpolating the Membership Function </? with DSI without other constraints
than these Control-Nodes and intrinsic constraints produces the image repre-
sented in figure (10.8)-C, which is quite different from the actual distribution
of facies represented in figure (10.8)-A.
Let Aw and Ai; be the absolute values of the variations of the components
u and v of the parameter u of the stratigraphic grid when moving from one
node to its closest neighbor in the u or v direction, respectively. To take
into account the anisotropy of the distribution of the facies, consider now the
family of structuring windows defined as follows in the 3D parametric domain
of the stratigraphic grid:

As can be seen in figure (10.8)-C, using anisotropy constraints based on this


family of structuring windows yields a solution closer to the actual solution
shown in figure (10.8)-A.

10.3.5 Taking into account gradients


Notion of a gradient of facies
There are many cases where the construction of the set of facies {Fl..., F"}
is controlled by one main physical parameter.21 The following are geological
examples:
In a sedimentary basin, the type of rock at a given location a depends on
the depth of the sea z(a) at this location at the time of sedimentation; for
example when one moves from the sea-shore to the off-shore, the facies are
encountered in the following order controlled by a series of thresholds of depth
{^0, Zl, . . ., Zn}-

conglomerate > sandstone carbonate > shales


In a metamorphic region, the type of rock at a given location a depends
mainly on the temperature T(a) at this location at the time of crystallization;
for example, when moving from low to high temperatures, the metamorphic
facies are encountered in the following order, which is controlled by a series
of temperature thresholds {to, t i , . . . , tn}:

shist gneiss > migmatite > granite


21
In practice, this "controlling" parameter can be a synthetic factor merging the contri-
bution of several actual physical parameters.
10.3. STRUCTURAL CONSTRAINTS 557

More generally, if there is a scalar function z(-) defined on Q, such that

then, one can consider that this function z(-} induces an order on the set of
facies composing the unknown partition T = (F 1 ,..., Fn}:

Most of the time, the values of the thresholds {ZQ, , zn} and the variations
of z(-) on O are unknown and the facies of T cannot be built directly from
equation (10.13). There are many situations, however, where the direction
g of the gradient of z(-) can be estimated over a region A C 0:

The next section shows how such a piece of information can be used to define
a DSI constraint affecting the Membership Function (p associated with the
unknown partition T to be estimated.

Facies-gradient constraint
Let (a l s ) be the node of Q reached when one moves one step from a on
the graph (17, TV) in the direction g g(a):

Using this notation, it is clear that the unknown function z(-) controlling the
partition T is such that

In other words, if we are in facies number v(a] < n at location a 7, then,


according to equations (10.13) and (10.14), the probability of being in facies
number (v(a) + 1) at location (a l g ) should increase:

It can be concluded that this inequality induces the following constraint on


the Membership Function (p associated with the partition F

where v(a) is the index of the most probable facies at location a assumed to
be lower than n:

Such a constraint can easily be turned into a canonic inequality DSI constraint
c = c(a, g) belonging to C> and having the following general form
558 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.9 In sedimentology, the direction of the sea level gradient throughout
geological time can be decomposed into two components gw and guv. The component
gw is deduced from the Eustatism curve E(w), while the component guv indicates
the direction of the paleo-off-shore.

where the coefficients A^(j3) and bc are denned by

1 if 77 = (i/(a) + 1) & (3 = (a 0 1<


A209) = 1 if j] = (i/(a) + 1) & /3 = a
0 otherwise
b = 0

It should be noted that the facies-gradient constraint c = c(a,g) so defined


is a dynamic constraint (see section (4.4.4)) because i'(a), as defined by
equation (10.15), may change throughout the iterations of the DSI algorithm
(see algorithm on page 166).
It can be observed that the gradient constraint so denned is both global
and hard; as a consequence, such a constraint can dramatically control the
variations of the Membership Function (p. To moderate its contribution, it
may be wise not to take it into account at each iteration of the DSI algorithm:
a better approach consists of activating this constraint only every p iteration.
The parameter p so introduced then appears as a "relaxation" parameter.

Application to sedimentology
In addition to seismic and well data, sedimentologists can, generally, provide
information as to the variations of the sea level throughout geological time.
As suggested in figure (10.9), the direction of the sea level gradient can be
divided into two components:
1. a "paleo-vertical" component gw oriented upward relative to the w axis of
the stratigraphic grid if the sea level is rising at geological date t = t(w) of
sedimentation and oriented downward if the sea level is dropping; and
10.4. MOVING-CENTERS-BASED METHODS 559

2. a "paleo-horizontal" component guv parallel to the (u,v) horizons and indi-


cating, globally, the direction of the off-shore at the time of sedimentation.
One or two of these components may be given by the sedimentologist, at least
on a subset A of f2. In practice, the vertical component gw is deduced from
the derivative of a curve E(w], called an "Eustatism curve," describing the
variations in the sea level as a function of w. The derivative of this curve is
assumed to have the same sign as the derivative of the sea level at geological
time22 t = t(w) so that gw can be deduced as follows:

gw oriented upward
gw oriented downward

As suggested in figure (10.9), the two components gw and/or guv can be used
for denning gradient constraints on nodes a 6 A of the discrete model used
for modeling the subsurface.

Application to paleo-channel modeling


As suggested in figure (3.18), let us consider a stratigraphic grid filling a
paleo-channel. As usual, it is good practice to adjust the orientation of the
curvilinear axis (it, v, w) as a function of the main parameters which controlled
the sedimentation at the time of deposition (see [200]). For example, let us
assume that these curvilinear axes are oriented as follows:
the u axis is oriented radially from the left bank to the right bank,
the v axis corresponds to the orientation of the paleo-stream-tubes, and
the w axis corresponds to the paleo-vertical.
Due to the shape of the meanders and the shape of the section of the channel,
the cells do not have a constant size in the (it, w) cross sections and this cells
can be calibrated to be such that
small cells correspond to small intensities of the paleo-flow, and
large cells correspond to large intensities of the paleo-flow.
The intensity of the paleo-flow controls the granulometry. It may be wise to
use the gradient of the size of the cells as a DSI constraint to be applied to
the Membership Function of the facies corresponding to different classes of
granulometry.

10.4 Moving-Centers-based methods


This section presents a very simple traditional method used in data analysis
for partitioning a set of elements characterized by a vector of attributes
X(e) observed for any e G . It will also be shown that this method can
easily be adapted to
estimate, in a nonlinear way, a property Y(e) in function of the observation
X(e) realized on each element e 6 , and
22
It is implicitly assumed that dt/dw > 0 for any value of w.
560 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.10 Partitioning the set 8 with a Moving-Centers method: each


data point e e 8 has an image X(e) in the space of the attributes (black points).
Each point # is a Moving-Center (white circles) denning a Voronoi region V(xv)
in the attributes' space. The inverse image X~l(V(xv}} of each Voronoi region is a
part of corresponding to a class Cv. The boundaries of the Voronoi regions are
represented as straight white lines in the space of attributes.

take into account the geometrical location of the elements e G .


Moreover, as mentioned in section (10.3.3), this method can be neatly com-
bined with the DSP method for modeling and taking into account probabilities
of association with a property Z(a) assumed to be known everywhere on the
set J7.

10.4.1 Moving-Centers partition MC(, X\x\,..., xn)


Introduction
Let X be a vectorial function denned on a finite set E:

For each element e, the numerical values corresponding to the components


of X(e) are assumed to be "attributes" characterizing e and it is possible
to envision using these attributes to partition 8 into a series of n classes
{Ci,.. .,Cn}.
The parameter n is assumed to be given, and the goal is to build this
partition in such a way that
on average, X(e) varies as little as possible within each class CV, and
10.4. MOVING-CENTERS-BASED 561

on average, ( X ( e ) , X ( e ) } should be, as far as possible, different if e and e


belong to two different classes.
As suggested in figure (10.10), to solve this problem, it is assumed that, ir
the attributes's space JRP', the image X(CV] of each class is fully containec
in a Voronoi region (see definition (3.2) page 99) V(xv] centered on a poinl
xv E Mp. In other words, each of the centers {xv : v = 1,.. .,n} defines i
class Cv as follows:

The "Moving-Centers" method in a nutshell


As shown in figure (10.10), the image X() of in the attributes' space fit?
consists of a "cloud" of \\ points. Let k be an iteration counter; to any giver
set

of n "centers" xl belonging to JRP, it is possible to associate a partition X\-k-


of X ( ] as defined by

with:

Any initial given partition X^ of Mp can always be improved thanks to the


"Moving-Centers" method [83, 126, 59], which corresponds to the following
iterative algorithm:

// Moving-Centers algorithm
let { x\ , . . . , xn } be an arbitrary initial set of points of JRP
let k <- 0
while( more iterations are needed ) {
let X^ be the partition associated with { x\ , . . . , Xn }
for_all( v [l,n] ) {
xH?+l] = center of gravity of x}f]
}
k<-k + l
}

As can be seen in figure (10.11), at each iteration, the centers {xv} move to
new location, giving this algorithm its name: the "Moving-Centers" method
This algorithm is proven to be convergent,23 and the series of partitions
{A^} so obtained has the following interesting properties [126]:
If Wv is denned as the "within" dispersion of class Xc, at iteration k

23
In practice, it converges very rapidly.
562 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.11 Sketch showing the convergence of the Moving-Centers algo-


rithm: at each iteration, the Moving-Centers (white circles) are moved to new loca-
tions (grey circles) corresponding to the centers of gravity of the initial data (black
points) contained in the Voronoi regions defined by the previous location of these
Moving-Centers. The boundaries of the Voronoi regions are represented as straight
white lines.

then it can be shown [126] that the average value of Wl decreases at each
iteration

In other words, on average, each region X tends to adapt its geometry to


minimize the dispersion of the points X(e) it contains.
If B^ is defined as the "between" dispersion of partition X^ at iteration k

then it can be shown [126] that B^ increases at each iteration

In other words, on average, the centers of the classes {Xl } tend to become
as dispersed as possible.
10.4 563
56

As shown in figures (10.10) and (10.11), the classes {X^} so defined are delim-
ited by convex polyhedral divisions of JRP formed by the median hyperplanes
of the segments joining all the center pairs.

Notations
Prom now on, the following notation will be used to designate a set of n
classes {Ci,..., Cn} generated by the Moving-Centers algorithm based on the
function X defined on the set 8 and using an initial set of centers {x\,..., xn}:

For simplicity's sake, in the following, two implicit assumptions will be made:
If a class becomes empty during the iterative Moving-Centers algorithm, then
the largest class is split into two classes. As a consequence, the classes gener-
ated by the Moving-Centers method are never empty.
In the notation MC(S,X\xi,.. .,xn), the initial Moving-Centers {xi,.. .,n},
given as input of the method, are assumed to be replaced by the centers that
define the classes generated by the method:

In other words, although this is not at all recommended in software design,


the algorithm MC(, X\x\,.. .,xn) is assumed to modify its input arguments
{#i,.. ,,xn}. From a theoretical point of view, the following more rigorous,
but cumbersome, notations would be preferable:
MC(,X |*i,...,4 ; z!..,4)
where the {xl} are the new centers generated as outputs by the algorithm,
while the {xl} are its inputs.

Non-uniqueness of the solution


It should be noted that the Moving-Centers method does not generate only
one solution: the partition MC(, X\xi,..., xn] depends, theoretically, on the
number and location of the initial centers {x\,..., xn} given as input.
In practice, however, for a given number of centers n, the classes generated
by different sets of initial Moving-Centers are pretty similar. Therefore, a
series of n points {xv = X(ev}} randomly selected among the images { X ( e ) :
e } is generally chosen as the initial set {#1,.. .,xn}. As can be seen in
figure (10.11), in the case where the images of the classes in the attributes'
space are well individualized, the partition generated by the Moving-Centers
method retrieves these classes and, in practice, does not actually depend on
the location of the initial centers.

Preprocessing of the data


The method presented above implicitly assumes that the components of X(e)
are chosen in a consistent way. In particular, the following possible problems
have to be taken into account:
564 CHAPTER 10. DISCRETE SMOOTH PARTITION

The p components of X(e) may correspond to heterogeneous physical param-


eters having very different orders of magnitude. This may have a detrimental
effect on the metric || \\JRP of the attributes' space: in this case, components
of X(e) having the largest order of variation will completely override the effect
of the other components.
Even in the case where the components of X(e) are of the same type, it is
unavoidable that some of these components may be redundant (e.g., corre-
lated): in this case, redundant variables will also tend to override the effect
of the other components.
Most of the time, the components of X(e) correspond to experiments affected
by measurement errors: in this case, the experimental errors will also tend to
corrupt the distances between the elements of the set .
The following procedure provides an excellent technique for avoiding all these
problems:
1. Compute the principal components24 of the raw data {X*(e) : e G } corre-
sponding to experimental measurements.
2. Choose as {X(e) : e 8} the first p principal components explaining 80% of
the data variance.
In practice, such a preprocessing generates excellent results.

10.4.2 Estimating a function


There are many situations where a function X(e) is known for each element
e E of a given set , while a second function Y(e) is known only on a subset
8* of called the "learning set." In such a case, using the "links" between
Y and X for estimating Y(e) everywhere on ( *) can be envisioned. For
example, if X(e) represents a seismic amplitude25 observed at each node e of
a seismic cube , then Y(e) observed at well locations e * crossing the
seismic cube may be
the porosity: in this case, Y(e) is assumed to be a continuous function taking
its values within the range [0,1];
a porosity class: in this case, Y(e) is assumed to be an integer function taking
its values within the set {1,2,..., m} in such a way that Y(e) = i if e has a
porosity belonging to class }yi-i,yi}',
the index of a geological facies: in this case, Y(e) is assumed to be an integer
function taking its values within the set (1,2,..., m};
the presence or absence of a given geological facies: in this case, Y(e) is
assumed to be a Boolean function taking one of the two values 0 or 1;
the dip of the layers: in this case, Y(e) is assumed to be a continuous vectorial
function taking its values on the unit sphere of JR3.
Generally the "links" if any, are very complex, and it is illusory to look for
one single value Y(e) = f ( X ( e } } attached to each node e 6 . Assume that
24
For a complete presentation of Principal Component Analysis (PCA), the reader is, for
example, referred to [126].
25
X(e) could also represent the invariants of the strain tensor computed as indicated in
section (8.6.7).
10.4. 565

Figure 10.12 An example showing the different components of an estimator


of Y based on the Moving-Centers method in the case where the input X and the
output Y take their values on M1. In this particular example, the link between X
and Y cannot be described by a function Y = f(X).

X(e) belongs to a given subset Xi of S: a more realistic approach is to try to


determine a conditional membership function26 (p(e\X) such that

where n is assumed to be given, while y {3^i, , yn} is a given partition of


the space of the possible values for Y(e). In practice, (3^,..., yn} is generally
given a priori, but, if need be, it can also be constructed automatically with
the Moving-Centers method based on the observations of the values {Y(e*} :
e* 6 *} on the learning set 8*:

26
Remember that, according to equation (9.2), JPQ^IAfj) represents the conditional prob-
ability for Y(e) to belong to the set yj when we know that the value X ( e ) belongs to the
set Xi.
566 CHAPTER 10. DISCRETE SMOOTH PARTITION

A first solution based on Moving-Centers


First, build a partition X = {Xi,..., Xm} of the learning set 8* based on the
observations of the values {X(e*) : e* e 8*}:

As suggested in figure (10.12), using the two partitions X and 3^, for each
e* 8* such that X(e*) G A'j, the components of the conditional membership
function27 (p(e*\X) can be estimated as follows:

Next, as illustrated in the lower part of figure (10.13), it is proposed to use the
centers {#1,.. .,xm} and their associated Voronoi regions {V(ori),..., V(xm)}
for extending this estimation of the components of (p(e\X) as follows on the
whole set 8 where X(e) is known:

A better solution based on Moving-Centers


One can consider the estimation method presented above as a "black box"
with m inputs and n outputs:
TO represents the number of different Voronoi regions of the attributes' space
that one wants to take into account as input of the proposed estimation
method. Ideally, choosing a large value forTOwould seem to be ideal to make
this method as discriminant as possible. However, correct estimation of the
probabilities \Xi Cl 3^ |/1<-fi| requires TO not to be too large to have enough
points X(e*) in each class Xi.
n represents the number of different classes of values of Y(e) to be generated
as output of the proposed estimation technique. The value of n is generally
determined as a function of the application, but must remain small to have
enough points in each set Xi fl 3^- to estimate the probabilities \Xi Pi 3 / j|/|< ; ki|
correctly.
Let us assume that n has been chosen; as illustrated in figure (10.12) and in
the upper part of figure (10.13), a three-step algorithm is proposed to improve
the estimation of the Membership Function (p defined by equation (10.18):
1. Using the images (y(e*) : e* 6 *}, choose or build a partition y = {^i,.. .,3^}
of the learning set S* denning the output of the method:

27
In other words, y>i(e*\X) is the conditional probability of y,- relative to the fact that
it is known that X ( e ) belongs to Xi.
10.4. MOVING-CENTERS-BASED 56

Figure 10.13 Construction of the Membership Function <p(e\X) through a


cascade of tests (represented by bold arrows) with and without a hidden level.

2. Using the images {X(e*) : e* G *}, choose an initial partition X = {Xi,..., Xm}
of the learning set * consisting of a large number m of classes:

3. Merge into "macro classes" the classes {Xi} of the initial partition X consid-
ered redundant due to the fact of their similar links with the subsets of the
partition y.
The merging of classes of the initial partition X proposed above can itself be
performed by the Moving-Centers algorithm, proceeding as follows:
Consider the set {xi,...,x m } as a set of points holding n attributes that
correspond to the components of a vectorial function Q(x) similar to the
initial estimate of the Membership Function defined by equation (10.18):

If $(xii) = $(xi 2 ), then, according to equation (10.18), x^ and Xi2 should


result in the same value for the conditional Membership Function being es-
timated. Consequently, <&() may be used for clustering the points Xi where
568 CHAPTER 10. DISCRETE SMOOTH PARTITION

the values of this function are close to one another; this is precisely the goal
of the next step.
Build a partition of {#1,..., xm} based on the attributes corresponding to the
components of $(xi)

where {</>i, ...,</>} are n < m points in the attributes' space Mn defined by
the n components of $(xi).
In practice, the number n of new centers {<^i,..., <>&} should be chosen to
have the same order of magnitude as the number n of output classes.
Let Ik be the set of indexes such that

Using the new centers {<^>i,..., </>} denned above, we propose modifying as fol-
lows equation (10.18) to extend the estimation of the conditional Membership
Function (p(e\X) everywhere on S for all j e {1,..., n}:

About the output


The above estimation method can be summarized by the following expression:

For each input value X(e) V(xi), the estimation based on the Moving-
Centers method presented above generates an output composed of two entities:
the centers of gravity {yi,..., yn} of the classes {^i,..., yn} which are either
given a priori or built thanks to the Moving-Centers method;
a vector <p(e\X] whose components represent the probabilities that the element
e belongs to the classes {^i, -, 3^n} when the value of X(e) is already known
to belong to V(xi).
These results can be used in a few different ways, depending on the nature of
the desired output:
To obtain a unique output value Y(e) as an answer to the input X(e), the
value y j , corresponding to the center of the most probable class, may be
chosen:

To obtain a set of possible random values for Y(e), it is possible to proceed


as follows:
draw a random number28 U(u) uniformly distributed in the range [0,1],
28
As usual, <jj is an elementary statistical event assumed to belong to a set 13, itself part
of a Probabilized Space (U,A, IP}.
10.4. MOVING-CENTERS-BASED METHODS 569

determine the index j such that

select at random a value Y(e,uj) in the set ^.


As can be seen, proceeding in this way generates a random function Y(e,u>)
defined on .
Finally, if the elements e e are distributed at the nodes of a regular N-grid,
then the Membership Function ip(e\X) can be used to build a DSI association
constraint (see section (10.3.3)).

Analogy with neural networks


As suggested in figure (10.13), it is relevant to note that there is a very close
analogy between the above method and the notion of neural network used for
solving similar problems (e.g., see [104]):
the centers {xi,..., xm} are the analog of the nodes of the "visible" input layer,
while the probabilities \Xi fl 3^|/|<-f;| correspond to the associated weightings;
the centers {y\,..., yn} are the analog of the nodes of the output layer;
the centers {0i,...,0n} are the analog of the nodes of the "hidden" layer,
while the probabilities | Uie/ fe Xi H J^|/| Uie/ fc Xi\ correspond to the associated
weightings;
the indicator functions of the Voronoi regions {V(xi)} and {V((f)i)} are the
analogs of the sigmoid (logistic) functions;
the construction of the centers (0i,..., 0^} and the estimation of the proba-
bilities | Uj / fc Xi Pi 3^|/| Uie/ fc Xi\ are the analog of the learning phase.
It must be noted that the proposed method has some advantages as follows:
Compared to the so-called "back-propagation" algorithm used in the learning
phase of traditional neural networks, the Moving-Centers algorithm is much
simpler and converges extremely fast;
Compared to the obscure notions of weightings and sigmoid functions used by
actual neural netwoks, the centers {xi,..., xm}, {0i,..., 0n}, and {yi,..., yn}
and the conditional probabilities | Uj / fc Xi fl 3^j|/| Ui / fc Xi\ have easily com-
prehensible physical interpretations;
Designing the architecture of the connections of a net is unnecessary, since
the equivalent is realized automatically by the Moving-Centers method.
However, in spite of its analogy with neural networks, the above estimation
method based on the Moving-Centers cannot be considered as a regular neural
network technique. For this reason, we suggest using the acronym "MC-
estimator" to designate this method.
570 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.14 Any function Z(a) defined at the nodes a e f2 corresponding


to the n-cells of a regular (cell-centered) n-grid can be transformed into a vectorial
function X(o) capturing the behavior of Z in a moving window W(a). By definition,
the p components {Xv(a),..., Xp(a)} of X ( a ) are called the "attributes" of a.

10.4.3 Taking into account the geometry


As suggested in figure (10.14), let Q be the set of M-cells corresponding to a
N
regular M-grid, itself embedded in a M space with N > M. In this section,
W
we address the problem of building a partition of a subset f2 of 17 based on
the variations of a given function Z (a] assumed to be known for any M-cell
a e (7 of the regular M-grid.
As mentioned on page 535 in the introduction to this chapter, as for any
classical clustering method, the Moving-Centers method is unable to take into
account the location of the cells a G 0, relative to their neighbors in the grid.
However, as suggested in figure (10.14), it is very easy to adapt this method
to capture the behavior of Z(-) in a given neighborhood VF(o;) of each cell
a. To this end, merely choose a "pattern" consisting of a set of p translation
vectors {hi,.. .,hp} denning W(a) as follows:
10.4. MOVING-CENTERS-BASED METHODS 571

If we let

then the Moving-Centers method can be used to build a series of n classes


W
{Ci, -i Cn} corresponding to a partition of 1 :

W
In this case, the partition of 0 so obtained does actually integrate the ge-
ometry of the regular grid thanks to the moving window W(a).
Note that this partitioning technique is easily adaptable in the case where
Z(a) is not a simple function but rather a vectorial function with q compo-
nents {Zi(oi),..., Zq(a)} defined on Q. In this case, a specific window Wj(a)
can be associated with each component Zj(a), and the above definition (10.19)
can be extended as follows:

with:

As can be seen, the dimension p of the resulting attributes' space is thus such
that

Proposal for a simulator


Let us assume that the Moving-Centers-based method presented in section
(10.4.2) is used for estimating a parameter Y(e) = Y(a) in the particular
case where the items e = a are distributed on the nodes of a regular grid. In
this case, we can think of slightly modifying the algorithm presented on page
568 to generate a random function S(u(a),uj) corresponding to a simulator
of Y(a):
draw an event u belonging to the (abstract) set 13 of all the possible events;
build the realization P(u(a), a;) of a P-field honoring a given covariance func-
tion;
choose the index j such that

select at random a value S(u(a),uj) in the set 3^-


Proceeding in this way allows to take into account the correlation between
Y(a) and the local behavior of Z in each neighborhood W(a).
572 CHAPTER 10. DISCRETE SMOOTH PARTITION

10.5
This section presents a real case study showing how the Membership Func-
tion and the Moving-Centers-based methods can actually be used to estimate
the variations of the porosity in an oil and gas reservoir. The initial data
represented in figure (10.2) consist of
the geometry and the topology of the reservoir defined by a cell-centered
regular curvilinear 3-grid adapted to the style of the sedimentation and having
the following dimensions in the w, v and w directions:

the seismic amplitudes reported on the grid defined above;


a set of eleven wells paths along which the following four "porosity facies"
have been measured:
Fl corresponds to the range of porosity [ 0%, 13%[;
F2 corresponds to the range of porosity [13%,20%[;
F3 corresponds to the range of porosity [20%,50%[;
F4 corresponds to the range of porosity [50%, 100%].

It is important to note that, as mentioned on page 536, the w axis of the


regular curvilinear 3-grid is assumed to be oriented in the vertical direction
while the (u,v) axes are assumed to be tangent to the sedimentary units
within the reservoir: proceeding in this way allows w to be interpreted as a
kind of "normalized" geological deposition time.
The goal is to estimate, at each 3-cell a of the grid, the Membership
Function (p(a) whose components {(pl(a), (p2(a}, (p3(a), </?4(a)} represent the
probabilities of the four facies {-F1, F2, F3, F4} occurring in the 3-cell a.
In practice, the work flow presented in this section can be considered as a
template that can be used for similar studies each time a set of facies has to
be estimated in a reservoir.

Preprocessing (1): Building geophysical facies


The seismic amplitudes stored in the cell-centered regular curvilinear 3-grid
represented in figure (10.2) must be preprocessed to be correlated with the
facies {F1, F2, F3, F4} to be estimated.
For this purpose, as mentioned in section (10.4.3), it is necessary to use one
or several given neighborhoods {Wi(a;),..., Wq(a)} consisting of moving win-
dows centered on the 3-cell a. In this tutorial example, two windows Wi(a:)
and W-2.(oi) were chosen as follows, where A u (a,/3), Av(o:,/:?) and Aw(a,0)
represent the number of grid steps between two 3-cells a and (3 in the u, t>,
and w directions, respectively:
10.5. A TUTORIAL EXAMPLE 573

Figure 10.15 Tutorial example: "geophysical fades" {Gl,...,G7} estimated


with the Moving-Centers method and probabilities of association with "porosity
fades" {F1,..., F4} estimated on well-paths.

To avoid side effects, the seismic data have been extrapolated beyond the
limits of the grid so that W\ (a) can be defined for each cell of the grid and
used as described in section (10.4.3) to build a series of "geophysical fades"
{Gl,...,Gn}. For this purpose and to take into account both the seismic
amplitude and the "normalized" geological time t = w, the two following
functions Z\(fi] and Zi(fi) are associated with windows W\(oi) and W^ot),
respectively:

Zi(fl) = seismic amplitude in the 3-cell /3 Wi(ct)


Z-i(&] = ^-coordinate of the center of the 3-cell (3 E W^ot)

According to the procedure defined by equation (10.20), these functions and


the patterns associated with the moving windows Wi(a) and W2(a) can be
used to define a vectorial function X(a) with (75 + 1) components charac-
terizing the behavior of the seismics in the neighborhood of any 3-cell a of
the grid. Based on this function X(a) and the porosity facies observed on
well-paths, two types of results are presented in figure (10.15):
Having specified the maximum number of classes as equal to n = 7, figure
(10.15)-A displays the classes obtained with the Moving-Centers algorithm in
color. In what follows, the classes

so obtained will be considered to be "geophysical facies."


The intersection of the grid with the well-paths contains 8, 204 3-cells that can
be used as a training set for estimating the conditional probability JP(G1\FV}
of having, within the same 3-cell, both a geophysical facies Gl and a porosity
facies Fv'. Figure (10.15)-B shows a perspective display of such conditional
probabilities.
574 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.16 Schema showing the different scales of observation correspond-


ing to well data (measured logs), seismic data, and direct visual observation in a
reservoir. The comparison with observations made on the structure of the Eiffel
tower gives a relatively good idea of the discrepancy between these different scales
of observation.

As one can see in figure (10.15)-B, the conditional probabilities IP(G* F1') ap-
pear to be actually dependent on the facies {F1, F2, F3, F4} to be estimated;
this makes it possible to envision using these probabilities to define a DSI
constraint on the Membership Function (p as described in section (10.3.2).

Comment
Nevertheless, whatever the method used for estimating the porosity from the
seismic data, it is important to note that well and seismic data do not corre-
spond to the same scale of geometrical precision. The origin of this discrep-
ancy comes from the fact that seismic data correspond to the convolution of
the geology by a seismic wavelet whose wavelength is much longer than the
size of the details seen by well-logging. Figure (10.16) presents a schema that
clearly shows that the powers of resolution of well-logging and seismics are
quite different. Therefore, prior to the use of any estimation method, pre-
processing is necessary to bring seismic and well data onto the same scale of
observation. Such an operation, called "upscaling," is generally performed as
a convolution of the well data by a wavelet of approximately the same wave-
length as the seismic data. The drawback of this approach is that it implies
a loss of precision on well data. Moreover, the wavelength of the wavelet is
difficult to estimate (see [80]).
In this tutorial example, a slightly different solution particularly well
adapted to the Membership Function approach of our problem was chosen:
for each 3-cell a intersected by a well-path, we proceeded as follows:
the average proportions ^>Q = {<$>&, </>> </>a> <^Q} of each of the four facies
{F1, F2, F3, F4} along the portion of well-path intersecting this cell were com-
10.5. A TUTORIAL EXAMPLE 575

Figure 10.17 Tutorial example: specified proportion maps (Al, A2, A3, A4)
and resulting proportion maps (Bl, B2, B3, B4) corresponding to the interpolation
of the fades {F1, F2, F3, F4}. As one can see, there is a perfect fit between the
specified maps and the maps deduced from the interpolated Membership Functions.

puted, and
0a was set as a DSI fuzzy Control-Node at location a.
As mentioned on page 541, proceeding this way realizes an implicit upscaling.

Preprocessing (2): Building proportion maps and curves


The conditional probabilities JP(F"|(7Z), together with the given distribution
of the geophysical facies {G 1 ,..., G7} in the regular curvilinear 3-grid, can be
used for estimating average proportion maps f^(u,v) and average proportion
curves f"(w). For this purpose, let us first define auvw and the function
^-G^^uvw)'-

_ 3 - c e l l centered on location (w, v,w)


~in t h e cell-centered regular curvilinear 3-grid
_1 i f auvw e Gl
0 otherwise
Using these notations, let glm(u,v] and glc(w] be the functions defined as
follows in the parametric domain of the regular 3-grid used to interpolate the
Membership Function (f>:
576 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.18 Tutorial example: specified proportion curves (A) and re-
sulting proportion curves (B) corresponding to the interpolation of the fades
{F1, F 2 , F3, .F4}. As one can see, there is a perfect fit between the specified curves
and the curves deduced from the interpolated Membership Functions.

These functions can be used for computing average proportion maps /^(w, v)
and average proportion curves f c ( w ) easily:

Figures (10.17) and (10.18) show the proportion maps and curves obtained
using this procedure:
the maps {/^, /, /, /m} are represented in figures (10.17)-A1, A2, A3, and
A4;
the curves {fc>fc,fc,fc} are represented in figure (10.18)-A.
If need be, these maps and curves can be sharpened or smoothed using, for
example, one of the techniques presented in sections (1.4) and (4.4.4). These
curves and maps can also be edited manually by the geologists, provided that
the following consistency conditions remain preserved for all w, i>, and w.

Estimating the Membership Function (f>


An estimation of the four components of the Membership Function </? can be
seen in figure (10.19). This estimation was obtained with the DSI method
using only the following constraints:
10.5. A TUTORIAL EXAMPLE 577

Figure 10.19 Tutorial example: components {(f>1, (f>2, y?3, <>4} of the interpolation
of the Membership Function </? corresponding to the fades {F1, F2, F3, F4 } observed
on the weJ]-curves represented in figure (10.2).

the intrinsic probability constraints;

the fuzzy Control-Nodes set along the well-paths represented in figure (10.2)
and deduced from the observed porosity facies {F1, F2, F3, F4} along these
paths;

the proportion maps and curves represented in figures (10.17)-A1, A2, A3, A4
and (10.18)-A, respectively;

the 28 Association constraints defined by the series of geophysical facies


{G 1 ,...,^ 7 } known everywhere in the reservoir and the 28 associated con-
ditional probabilities JP(F"|G Z ), represented in figure (10.15), that were esti-
mated from the well data represented in figure (10.2).

In this particular case, due to the excellent quality of the seismics, the anisotropy
constraint was not considered useful and was not used. Similarly, the gradient
constraint was considered redundant with the average proportion maps and
curves and was also not used.

Quality control
All the DSI constraints presented above and used in this tutorial example
were considered as equally important and, as a consequence, all the associated
certainty factors were chosen equal to 1. The resulting interpolation of the
Membership Function represented in figure (10.19) can be used a posteriori
to evaluate how well these constraints have been respected:
578 CHAPTER 10. DISCRETE SMOOTH PARTITION

Figure 10.20 Tutorial example: the conditional probabilities (A) denning the
Association constraints between the geophysical fades Gl and the porosity fades
Fv are almost perfectly reproduced (B) when recomputed from the estimated Mem-
bership Functions displayed in figure (10.19) and the geophysical fades displayed in
figure (10.15).

the resulting average proportion maps f^(u,v} shown in figures (10.17)-B1 to


B4 can be recomputed as follows:

the resulting average proportion curves fc(w) shown in figure (10.18)-B can
be recomputed as follows:

the resulting conditional probabilities P(FV\G1} shown in figure (10.20) can


be recomputed as follows:

As can be seen in these figures, all the specified constraints are honored almost
perfectly. This is due to the coherency between these different constraints.

Estimation of the porosity facies


The components of the interpolated Membership Function ip can be used for
estimating the facies in any cell a of the studied domain. For this purpose,
and as explained on page 542 and in section (10.2.2), two strategies can be
used:
10.6. CONCLUSIONS 579

Figure 10.21 Tutorial example: most probable estimated porosity fades (MP)
and equiprobable simulation of these fades (SI), (S2), and (S3).

either, in the case where a unique solution is sought, the most probable solu-
tion shown in figure (10.21)-MP must be used;
or, in the case where multiple equiprobable solutions are sought, simulations
such as those represented in figures (10.21)-S1, S2, and S3 must be generated.
The simulations represented in figures (10.21)-S1, S2, and S3 were generated
thanks to a P-Field technique using an exponential covariance model with
ranges Ru, Rv, and Rw in the w, i;, and w directions of the grid such that
Ru is equal to 22% of the dimension of the domain under study in the u
direction;
Rv is equal to 15% of the dimension of the domain under study in the v
direction;
Rw is equal to 10% of the dimension of the domain under study in the w
direction.
The range Rw was estimated from the observed facies along the well-paths,
while the ranges in the u and v directions were set arbitrarily. As can be
seen in figure (10.21) and as expected, the most probable solution appears
smoother than the simulations, which, in turn, appear more like real geological
structures.

10.6 Conclusions
In this chapter, a new method, called the "Discrete Smooth Partition" (DSP)
method, which allows the set 0 of the nodes of a discrete model to be parti-
tioned into a series of subsets {F 1 ,..., Fn}, has been presented. This method
580 CHAPTER 10. DISCRETE SMOOTH PARTITION

takes into account the relative location of the elements a of the set 7 and ad-
ditional "structural" information related to the shape and the distribution of
the subsets {F 1 ,..., Fn}. In practice, the DSP method is implemented as a
series of specific constraints processed by the DSI algorithm. This approach
has the following advantages:
The proposed method can be extended very easily; for this purpose, it suffices
to "feed" the DSI method with additional constraints corresponding to new
types of information.
If some constraints are, locally or globally, contradictory, then DSI will look
for a "compromise" solution.
In addition to the DSP method, another method based on Moving-Centers
has been proposed and can be used either independently or in association
with the DSP method.
Bibliography

[1] Abraraovitz, M., and Stegun, I., (1972). Handbook of Mathematical Functions:
with Formulas, Graphs, and Mathematical Tables. Dover, New York, NY, 9th
(revised) printing.
[2] Ahlfors, L., and Sario, L., (1960). Riemann Surfaces. Princeton University
Press, Princeton, New Jersey, 1960, 371p.
[3] AitEttajer, T., (1995). Modelisation de Surfaces Geologiques Complexes sous
Contraintes Geometriques. Ph.D. thesis, Institut National Polytechnique de
Lorraine, Nancy, Prance.
[4] Akima, H., (1978). A Method of bivariate interpolation and smooth surface
fitting for irregularly distributed data points. ACM Trans. Math. Software,
V. 4, pp. 56-76.
[5] Allan, U.S., (1989). Model for hydrocarbon migration and entrapment within
faulted structures. AAPG Bull. V. 73, No. 7, pp. 803-811.
[6] Aminzadeh, P., Burkhard, N., Nicoletis, L., Rocca, P., and Wyatt, K., (1994).
SEG/EAEG 3-D modeling project: 2nd update. The Leading Edge, Sept 1994,
V. 13, No. 9, pp. 949-952.
[7] Angelier, J., (1994). Fault Slip Analysis and Palaeostress Reconstruction. Con-
tinental Deformation, Hancock, P. (ed.), Pergamon Press, pp. 53 100.
[8] Armstrong, M.A., (1983). Basic Topology. Springer-Verlag, New York, 251 p.
[9] Arthur, D.W.G., (1965). Interpolation of a function of many variables. Pho-
togrammetric Engineering and Remote Sensing, V. 31, No. 2, pp. 348-349.
[10] Aziz, K., and Settari, A., (1979). Petroleum reservoir simulation. Elsevier,
New York, 476 p.
[11] Balas, E., and Padberg, M.W., (1976). Set Partitioning: A survey. SIAM
ReV., V. 18-4, pp. 710-760.
[12] Barnhill, R.E., (1974). Smooth interpolation over triangles. Computer-Aided
Geometric Design, R.E. Barnhill and R.F. Riesenfeld (eds.), Academic Press,
New York, pp. 45-70.
[13] Barnhill, R.E., (1985). Surfaces in Computer-Aided geometric design: a survey
with new results. Computer-Aided Geometric Design, V. 2, pp. 1-17.
[14] Bass, J., (1968). Cours de mathematiques, tome 1. Masson et Cie, Paris, 682
P-
[15] Bass, J., (1971). Cours de mathematiques, tome 3: topologie, integration, dis-
tributions, equations integrales, analyse harmonique. Masson et Cie, Paris,
389 p.

581
582 BIBLIOGRAPHY

[16] Baumgart, B., (1974). Geometric Modeling for Computer Vision. Ph.D. the-
sis, Stanford University, Also as Tech. Rep. CS-463.
[17] Baumgart, B., (1975). A polyhedron representation for computer vision. Na-
tional Computer Conference, AFIPS Conf. Proc., pp. 589-596.
[18] Bellman, R.E., (1957). Dynamic Programming. Princeton University Press,
Princeton, New Jersey.
[19] Bellman, R.E., (1960). Introduction to Matrix Analysis. McGraw Hill, New
York, 275 p.
[20] Bennis, C., Vezien, J.M., and Iglesias, G., (1991). Piece-wise surface flattening
for nondistorted texture mapping. Computer Graphics, V. 25, No. 4, July, pp.
237-246.
[21] Bergthorsson, P., and Doos, B.R., (1955). Numerical weather map analysis.
Tellus VII, V. 3, pp. 329-340.
[22] Bertrand Y., (1992). Specification algebrique et realisation d'un modeleur in-
teractif d'objets geometriques volumiques. Ph.D. thesis, Louis Pasteur Uni-
versity, Strasbourg, France.
[23] Bertrand Y., Dufourd, J.F., Francon, J., and Lienhardt, P., (1993). Algebraic
Specification and Development in Geometric Modeling. Proc. TAPSOFT, Or-
say, LNCS 668, Springer-Verlag, pp. 75-89.
[24] Bertrandias, J.P., (1971). Analyse fonctionnelle. Armand Colin, Paris, 230 p.
[25] Bezier, P., (1967). Definition numerique des courbes et surfaces I. Automa-
tisme, No. 11, pp. 625-632.
[26] Bezier, P., (1967). Definition numerique des courbes et surfaces II. Automa-
tisme, No. 12, pp. 17-21.
[27] Bezier, P., (1974). Mathematical and practical possibilities of UNISURF.
Computer-Aided Geometric Design, R.E. Barnhill and R.F. Riesenfeld (eds.),
Academic Press, New York, pp. 127-152.
[28] Bloomenthal, J., Bajaj C., Blinn, J., Cani-Gascuel, M.P., Rockwood, A.,
Wyvill, B., and Wyvill, G, (1997). Introduction to Implicit Surfaces. Morgan
Kaufmann Publisher, San Francisco, 332 p.
[29] Boissonat, J.D., (1984). Geometric structures for three-dimensional shape rep-
resentation. ACM Trans. Graph., V. 3, No. 4, pp. 266-286.
[30] Boissonat, J.D., (1988). Shape reconstruction from planar cross sections. Com-
puter Vision Graphics and Image Processing, V. 44, pp. 1-29.
[31] Boissonat, J.D., and Yvinec, M., (1995). Geometric Algorithmique. Ediscience
International, Paris, 540 p.
[32] Bombarde, S., and Basire, C., (1997). Building stratigraphic surfaces tied to
well markers using a morphing like approach. 15th gOcad meeting report, 16
P-
[33] Bowyer, A., (1981). Computing Dirichlet tesselations. Comput. Journal, V.
24, No. 2, pp. 162-166.
[34] Briggs, I.C., (1974). Machine contouring using minimal curvature. Geophysics,
V. 39, No. 1, pp. 39-48.
BIBLIOGRAPHY 583

[35] Brisson, E., (1989). Representing Geometric Structures in d dimensions: topol-


ogy and order. Proc. 5th ACM Symposium on Computational Geometry, Saar-
brucken, Germany, June 1989, pp. 187-196.
[36] Brisson, E., (1990). Representation of d-Dimensional Geometric Objects.
Ph.D. thesis, Dept. of Compt. Sci. and Eng., University of Washington, Seat-
tle, WA.
[37] Brisson, E., (1993). Representing Geometric Structures in d dimensions: topol-
ogy and order. Discrete Comput. Geom., V. 9, pp. 387-426.
[38] Brunet, P., (1929). Maupertuis: L'oeuvre et sa place dans la pensee scientifique
et philosophique du XVIIIe siecle. Blanchard, Paris.
[39] Caers, J., and Journel, A.G., (1998). Stochastic simulations using neural net-
works trained on outcrop data. SPE annual conference and technical exhibi-
tion, New Orleans, 1998.
[40] Catmull, E., (1974). A Subdivision Algorithm for Computer Display of Curved
Surfaces. Ph.D. thesis, Dept. of Computer Sciences, University of Utah, De-
cember 1974.
[41] Gavin, X., (1996). Intersection de surfaces triangulees: amelioration du mail-
lage. DEA report, Centre de Recherche en Informatique de Nancy, Nancy,
France, 60 p.
[42] Cerveny, V. (1985). The application of ray tracing to the numerical modeling
of seismic wave fields in complex structures. Geophysical press, London, Part
A, pp. 1-124
[43] Cheimanoff, N., (1985). Modelisation tridimensionnelle d'un gisement minier
non tabulaire. DEA report, Ecole Nationale Superieure des Mines de Paris,
Paris, France, 70p.
[44] Cherfils, C., and Hermeline, F., (1990). Diagonal Swap procedures and charac-
terization of 2D-Delaunay triangulations. Rairo, Math. Mod. and Num. Anal.
V. 24, No. 5, pp. 613-626.
[45] Chiles, J.P., and Delfiner, P., (1999). Geostatistics Modeling Spatial Uncer-
tainties. Wiley, series in Prob. and Stat., New York, 615 p.
[46] Chipot, Y., (1991). Generation et Modification de Surfaces Triangulees. Ph.D.
thesis, Institut National Polytechnique de Lorraine, Nancy, France.
[47] Chiyokura H., and Kimura F. (1983). Design of solids with free-form surfaces.
ACM Computer Graphics, V. 17, No. 3, pp. 289-298.
[48] Christakos, G., (1992). Random Field Models in Earth Sciences. Academic
Press, San Diego, 1992, 474 p.
[49] Cognot, R., Thore, P., and Hass, A., (1994). Tying seismic to well data using
structural uncertainties. S.E.G. proceedings of the 64th Annual Meeting.
[50] Cognot, R., (1996). La Methode DSI: Optimisation, implementation et appli-
cations. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy,
France.
[51] Conraud, J., (1997). Generation de maillages de simplexes pour la modelisation
d'objets naturels. Ph.D. thesis, Institut National Polytechnique de Lorraine,
Nancy, France.
584 BIBLIOGRAPHY

[52] Conreaux, S., (2001). Modelisation de 3-varietes a base topologique: applica-


tion a la geologic. Ph.D. thesis, Institut National Polytechnique de Lorraine,
Nancy, France.
[53] Dahlstrom, C., (1969). Balanced Cross Sections. Canadian Journal of Earth
Sciences, No. 6, pp. 743-757.
[54] de Boor, C., (1972). On calculating with B-Splines. Journal of Approximation
Theory, No. 6, pp. 50-62.
[55] de Boor, C., (1978). A practical guide to splines. Springer Verlag, Applied
Mathematical Sciences, No. 27, 245 p.
[56] Delaunay, B., (1934). Sur la sphere vide. Bui. Acad. Sci. URSS, Class. Sci.
Nat., pp. 793-800.
[57] DeRose, T., and Mann, S., (1992). An approximately Gl cubic surface inter-
polant. Academic Press, Mathematical methods in Computer-Aided Geometric
Design II, Lyche, T. and Schumaker, L. (eds.), pp. 185-196.
[58] Deutsch, C.V., and Journel, A.G., (1998). GSLIB: Geostatistical Software Li-
brary and User's Guide (second edition). Oxford University Press, New York,
369 p.
[59] Diday E., (1971). La methode des Nuees dynamiques. Revue des Statistiques
Appliquees, V. 19, No. 2, pp. 19-34.
[60] Dieudonne J.A., (1994). A History of Algebraic and Differential Topology.
Birkhauser, Boston, Massachusetts.
[61] DoCarmo, M., (1976). Differential Geometry of Curves and Surfaces. Prentice
Hall, Englewood, New Jersey, 503 p.
[62] Doob, J.L., (1953). Stochastic Processes. John Wiley, New York.
[63] Doyen, P.M., den Boer, L.D. and Pillet, W.R., (1996). Seismic porosity map-
ping in the Ekofisk field using a new form of collocated coKriging. SPE article
36498, Annual Technical Conference, Denver, Colorado, pp. 21-30.
[64] Du, W.H., (1988). Etude sur la representation de surfaces complexes: Ap-
plication a la reconstruction de surfaces echantillonnees. Ph.D. thesis, Ecole
Nationale Superieure des Telecommunications, Paris, France.
[65] Du, W.H., and Schmitt, F.J., (1990). On the Gl continuity of piecewise Bezier
surfaces: a review with new results. Computer-Aided Design Journal, V. 22,
No. 4, April 1990, pp. 556-573.
[66] Dufourd, J.F., (1989). Algebraic Map-Based Topological Kernel for Polyhedron
Modellers. Proc. Eurographics, Hamburg, Germany, September 1989, pp.
649-662.
[67] Dufourd, J.F., (1991). Formal specifications of topological subdivisions using
hypermaps. C.A.D., V. 23, No. 2, pp. 99-116.
[68] Dufourd, J.F., (1991). An OBJ3 Functional Specification for the Boundary
Representation. Proc. ACM Symp. on Solid Modeling, Austin, Texas, pp.
61-72.
[69] Duvinage, L, Mallet, J.L., and Dulac, J.C., (1999). Constructing structural
models without computing intersections. Int. Assoc. Math. Geol. 5th Confer-
ence. Ed. by S. J. Lippard S.J., Naess, A. and Sinding-Larsen R., Trondheim,
Norway, August 1999, V. 2, pp. 609-614.
BIBLIOGRAPHY 585

[70] Ecoule, A.B., Peyrin, F.C., and Odet, C.L., (1991). A triangulation algorithm
for arbitrary shaped multiple planar contours. ACM Trans. Graph., V. 10 No.
2, pp. 182-199.
[71] Edelsbrunner, H., and Mucke, E.P., (1994). Three-dimensional alpha-shapes.
ACM Trans, on Graphics, V. 13, No. 1, pp. 43-72.
[72] Edmonds, J., (1960). A combinatorial representation for polyhedral surfaces.
Notices Araer. Math. Soc., V. 7, 1960.
[73] Elter, H., (1991). Chaines de Cartes et Complexes Cellulaires. Ph.D. Thesis,
Louis Pasteur University, Strasbourg, France.
[74] Euler, N., (1999). Modelisation volumique de reservoirs petroliers: construc-
tions et operations de mise a jour. Ph.D. thesis, Institut National Polytech-
nique de Lorraine, Nancy, France.
[75] Farin, G., (1986). Triangular Bernstein-Bezier Patches. Computer-Aided Ge-
ometric Design, V. 6, pp. 83-127
[76] Farin, G., (1988). Curves and surfaces for Computer-Aided Geometric Design.
In Geometric Modeling: Algorithms and New Trends, Farin G.E. (ed.), SIAM
Publ. Co., pp. 235-245.
[77] Farin, G., (1988). Curves and surfaces for Computer-Aided geometric design,
A Practical Guide. Academic Press, San Diego, 334 p.
[78] Feller, W., (1966). An introduction to probability theory and its applications.
V. 1 and 2. John Wiley, New York, 669 p.
[79] Fisher, R.A., (1936). The use of multiple Measurements in Taxonomic Prob-
lems. Ann. Eugenics, V. 7, pp. 179-188.
[80] Fitchtl, P., Fournier, F., and Royer, J.J., (1997). Cosimulations of lithofacies
and associated reservoir properties using well and seismic data. Proceedings
of the 72nd SPE conference, San Antonio, article No. 38680, Soc. of Pet. Eng.,
pp. 810-823.
[81] Fletcher, R., and Reeves, C.M., (1964). Function Minimization by Conjugate
Gradients. Computer J., No. 7, pp. 149-154.
[82] Foley, J.D., and Van Dam, A., (1982). Fundamentals of Interactive Computer
Graphics. Addison Wesley, Reading, Massachussets. 664 p.
[83] Forgy, E.W. (1965). Cluster Analysis of multivariate data: Efficiency versus
interpretability of classifications. Biometrics, V. 21, pp. 768-769.
[84] Fourgeaux, C., and Fuchs, A., (1972). Statistique. Dunod, Monographies
Universitaires de mathematiques, V. 24, Paris, 334 p.
[85] Froideveaux, R., (1992). Probability Field Simulation. Proceedings of the
Fourth International Geostatistics Congress, Scares, A. (ed.), Geostatistics
Troia, Quantitative Geology and Geostatistics, V. 1, Kluwer, Dordrecht, Hol-
land, pp. 73-83.
[86] Fuch, H., Kedem, Z.M., and Ulselton, S.P., (1977). Optimal surface recon-
struction from planar contours. Commun. ACM, V. 20, pp. 793-702.
[87] Gastinel, N., (1970). Mathematiques pour I'informatique: equations
differentielles. Armand Colin, Paris.
[88] George, P.L., Borouchakri, H., (1997). Triangulation de Delaunay et maillage.
Hermes, Paris, 432 p.
586 BIBLIOGRAPHY

[89] Gibbs, A., (1983). Balanced cross sections construction from seismic sections
in area of extensional tectonics. Journ. of Struct. Geol., V. 5, No. 2, pp.
153-160.
[90] Gill, P.E., Murray, W., and Wright, M.H., (1981). Practical optimization.
Academic Press, San-Diego, 401 p.
[91] Gingerich, P.D., (1969). Markov analysis of cyclic alluvial sediments. Journ.
Sedimentary Petrology, V. 39, No. 1, pp. 330-332.
[92] Gomez, J., and Journel, A.G., (1993). Joint Sequential Simulation of Multi-
Gaussian Fields. Geostatistics Troia, A Scares (ed.), Kluwer, Dordrecht, Hol-
land, pp. 493-506.
[93] Gonzales, R.C., and Woods, R.E., (1993). Digital Image Processing. Addison
Wesley, New York, 716 p.
[94] Goovaerts, P., (1997). Geostatistics for Natural Resources Evaluation. Oxford
Univ. Press, New York, 481 p.
[95] Gratier, J.P., Guillier, B., Delorme A., and Odonne, F., (1991). Restoration
and balance of a folded and faulted surface by best-fitting of finite elements:
principles and applications. Journal of Structural Geology, V. 13, No. 1, pp.
111-115.
[96] Gregory, J.A., (1974). Smooth interpolation without twist constraints.
Computer-Aided Geometric Design, R.E. Barnhill and R.F. Riesenfeld (eds.),
Academic Press, New York, pp. 71-88.
[97] Gregory, J.A., (1980). Triangular Interpolation Patch for CAGD. In: Com-
puter Graphics and Image Processing. V. 13. pp. 80-87.
[98] Guiziou, J.L., Mallet, J.L., and Madariaga, R., (1996). 3D seismic reflection
tomography on top of the gOcad depth modeler. Geophysics, V. 61, No. 5, pp.
1499-1510.
[99] Gutjar, A., (1989). Fast Fourier transform for random fields. Technical report
No. 4-R58-2690R, Los Alamos, N.M.
[100] Haas, M.H., and Dubrule, O., (1994). Geostatistical Inversion: a sequential
method of stochastic modeling constrained by seismic data. First Break, V. 12,
No. 11, pp. 561-569.
[101] Halmos, P.R., (1950). Measure theory. Van Nostrand, Princeton, New Jersey.
[102] Harder, R.L., and Desmarais, R.N., (1972). Interpolation using surface splines.
J. Aircraft, V. 9, No. 2, pp. 189-191.
[103] Hartigan, J., (1975). Clustering Algorithms. Wiley, New York.
[104] Hassoun, A., (1995). Fundamentals of Artificial Neural Networks. MIT Press,
Cambridge, Massachussetts, 511 p.
[105] Henle, M., (1979). A Combinatorial Introduction to Topology. Dover Publica-
tions inc., New York, NY, 310 p.
[106] Hildebrandt, S., and Tromba, A., (1996). The Parsimonious Universe. Coper-
nicus Springer-Verlag, New York, 330 p.
[107] Horton, R.E., (1923). Rainfall interpolation. Mon. Wea. Rev. , V. 51, No. 6,
pp. 291-304.
[108] Hoschek, J., and Lasser, D., (1993). Fundamentals of Computer-Aided Geo-
metric Design. A.K. Peters Wellesley, Massachusetts, 727 p.
BIBLIOGRAPHY 587

[109] Huang, Y., (1990). Modelisation et manipulation des surfaces triangulees.


Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, Prance.
[110] Hubral, P., and Krey, T., (1980). Interval velocities from seismic reflection
time measurements. Society of Exploration Geophysicists, P.O. Box 3098,
Tulsa, Oklahoma, 203 p.
[Ill] Isaaks, E.H., and Srivastava, R.M., (1989). An Introduction to Applied Geo-
statistics. Oxford University Press, New York.
[112] Jacques, A., (1971). Constellations et graphes topogiques. Colloque Math.
Soc. Janos Bolyai, Budapest, pp. 657-672.
[113] Jardine, N., and Sibson, R., (1971). Mathematical Taxonomy. Wiley, New
York, 230 p.
[114] Journel, A.G., and Huijbregt, C.J., (1978). Mining Geostatstics. Academic
Press, New York, 600p.
[115] Journel, A.G., (1980). The lognormal approach to predicting local distributions
of selective mining unit grades. Journal of Mathematical Geology, V. 12, No.
4, pp. 285-303.
[116] Journel, A.G., (1982). The indicator approach to estimation of spatial dis-
tributions of selective mining unit grades. Proceedings of the 17th APCOM
International Symposium, T.B. Johnson and R.J. Barnes, eds. Society of Min-
ing Engineers of the AIME, New York, pp. 793-806.
[117] Journel, A.G., (1983). Nonparametric estimation of spatial distributions. Jour.
Math. Geology, V. 15, No. 3, pp. 445-468.
[118] Journel, A.G., (1986). Constrained interpolation and qualitative information:
The soft Kriging approach. Jour. Math. Geology, V. 18, No. 3, pp. 269-286.
[119] Journel, A.G., (1989). Fundamentals of geostatistics in five lessons. Short
course presented at the 28th International Geological Congress, Washington
D.C., American Geophysical Union, 40 p.
[120] Journel, A.G., (1993). Modeling uncertainties: Some conceptual thoughts.
In R. Dimitrakopoulos, editor, Geostatistics for the next century, Kluwer,
Dordrecht, Holland, pp. 30-43.
[121] Kent, J.R., Carlson, W.E., and Parent, R.R., (1992). Shape transformation
for polyhedral objects. In SIGGRAPH92 Proceeding Conference, ACM, V.
26, pp. 47-54.
[122] Kerr, H.G., White, N., and Brun, J.P., (1993). An automatic method for
determining three-dimensional normal faults geometries. J. Geophysical Res.,
V. 98, pp. 17837-17857.
[123] Knuth, D.E., (1972). The Art of Computer Programming. Addison-Wesley
Publishing Company, Reading, Massachusetts. V. 3., 722 p.
[124] Launay, L., Bouchet, P., and Mallet, J.L., (1996). 3D reconstruction of cerebral
vessels and pathologies from a few biplane digital angiographies. In visualiza-
tion in Biomedical Computing - Hamburg, 1996. Lecture notes in Computer
Sciences, pp. 379-391.
[125] Launay, L., Bouchet, P., Maurincomme, P., Berger, M.O., and Mallet, J.L.,
(1996). Reconstruction from X-Ray Projections. In Proceedings of 13th Inter-
national Conference on Pattern Recognition - ICPR 1996, Vienna, Austria,
pp. 513-517.
588 BIBLIOGRAPHY

[126] Lebart, L., Morineau, A., and Warwick K.M., (1984). Multivariate Descriptive
Statistical Analysis. John Wiley and Sons, New York, 231 p.
[127] Lecour, M., Cognot, R., Dulac, J.C., Thore, P., (1999). From A-Priori to
Stochastic Structural Models. Int. Assoc. Math. Geol. 5th Conference. Ed. by
S. J. Lippard S.J., Naess, A. and Sinding-Larsen R., Trondheim, Norway, V.
2, pp. 609-614.
[128] Leger, M., Morvan, J.M., Thibaut, M., (1993). Least square Optimization
of Fault Surfaces Using the Rigid Block Approximation. Expanded Abstract,
Annual SEG Conference, Washington, pp. 154-157.
[129] Legras, J., (1971). Methodes et techniques de I'analyse numerique. Paris,
Dunod, 240 p.
[130] LeMelinaire, P., (1992). Modelisation de Relations Geometriques par la
Methode DSL Ph.D. thesis, Institut National Polytechnique de Lorraine,
Nancy, France.
[131] Levy, B. and Mallet, J.L., (1998). Non-distorted texture mapping for sheared
triangulated meshes. ACM-SIGGRAPH 1998 Conference Proceedings, Or-
lando, Florida, pp. 343-352.
[132] Levy, B., (1999). Modelisation a base topologique: Combinatoire et Plonge-
ment. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy,
France.
[133] Libing, W., (1993). Probability field simulation. Proceedings of the 1993 meet-
ing, Stanford Center for Reservoir Forecasting, Journel, A. (ed.), Stanford
University, 20 p.
[134] Lienhardt, P., (1989). Subdivisions of N-Dimensional Spaces and N-
Dimensional Generalized Maps. Proc. Annual A.C.M. Symposium on Com-
putational Geometry, Saarbrucken, R.F.A., June 1989, pp. 228-236.
[135] Lienhardt, P., (1989). Subdivisions of surfaces and generalized maps. Proc.
Eurographics 1989, Hamburg, Germany, September 1989, pp. 439-452.
[136] Lienhardt, P., (1991). Subdivision de surfaces et cartes generalisees. Rairo
info, theorique et applications, V. 25, No. 2, pp. 171-202.
[137] Lienhardt, P., (1991). Topological models for boundary representation: a com-
parison with n-dimensional generalized maps. C.A.D., V. 23, No. 1, pp. 59-82.
[138] Lienhardt, P., (1994). N-Dimensional Generalized Combinatorial Maps and
Cellular Quasi-Manifolds. International Journal of Computational Geometry
and Applications, V. 4, No. 3 (1994), pp. 275-324.
[139] M. Loeve, (1955). Probability theory. Van Nostrand, Princeton, New Jersey.
[140] Loop, C., (1994). A G1 triangular surface of arbitrary topological type.
Computer-Aided Geometric Design, V. 11, pp. 303-330.
[141] Luenberger, D.G., (1969). Optimization by vector space methods. John Wiley,
New York, 326 p.
[142] Lundell, A.T. and Weingram, S., (1969). The topology of CW Complexes. Van
Nostrand Reinhold, New York.
[143] Magara, K., (1976). Water expulsion from elastic sediments during com-
paction: direction and volumes. Am. Assoc. Pet. Geol. Bull. V. 60, pp. 543-
553.
BIBLIOGRAPHY 589

[144] Mallet, J.L., (1974). Presentation d'une methode d'interpolation et d'une


methode de filtrage. Ph.D. thesis, Institut National Polytechnique de Lorraine,
Nancy, Prance.
[145] Mallet, J.L., (1974). Methodes et techniques de la cartographie automatique
numerique. Sciences de la terre, Nancy, Serie Informatique Geologique, V. 4,
280 p.
[146] Mallet, J.L., (1984). Automatic contouring in presence of discontinuities. Geo-
statistics for Natural Resource Characterization, NATO AST Series C: Math.
and Phys. Sciences, V. 122, Reidel, pp. 669-677.
[147] Mallet, J.L., (1989). Discrete Smooth Interpolation. ACM-Transactions on
Graphics, V. 8, No. 2, pp. 121-144
[148] Mallet, J.L., (1992). gOcad: A Computer-Aided Design Program for Geological
Applications in Turner, K. (ed.), Three-Dimensional Modeling with Geoscien-
tific Information Systems, Kluwer Academic Publishers, Dordrecht, Holland,
Nato ASI Series C, V. 354, pp. 123-141.
[149] Mallet, J.L., (1992). Discrete Smooth Interpolation in Geometric Modeling.
Computer-Aided Design, V. 24, No. 4, pp. 177-191
[150] Mallet, J.L., (1997). Discrete Modeling for Natural Objects. Journal of Math-
ematical Geology, V. 29, No. 2, pp. 199-219
[151] Mallet, J.L., and Shtuka, A., (2000). Blending Based Stochastic Simulators.
Journal of Mathematical Geology, V. 32, No. 3, pp. 367-379.
[152] Mantyla, M., (1988). An Introduction to Solid Modeling. Computer Science
Press, Rockville, Maryland, 401 p.
[153] Mao, S., and Journel, A., (1997). Stochastic mapping of layer surfaces con-
strained by seismic data and deviated wells. Proceedings of the 1997 meeting,
Stanford Center for Reservoir Forecasting, Journel A. (ed.), Stanford Univer-
sity, 26 p.
[154] Marechal, A., (1984). Kriging seismic data in presence of faults. Geostatistics
for Natural Resource Characterization, NATO ASI Series C: Math, and Phys.
Sciences, V. 122, Reidel, pp. 271-294.
[155] Mariez, O., (1997). Modelisation de Solides par synthese de I'analyse d'images
3D et de modeles d base de surfaces non differentiates. Ph.D. thesis, Institut
National Polytechnique de Lorraine, Nancy, France.
[156] Matheron, G., (1968). Les Variables Regionalisees et leur Estimation. Masson,
Paris.
[157] Matheron, G., (1973). The intrinsic random functions and their applications.
Advances in Applied Probability, V. 5, pp. 439-468.
[158] Maunder, C.R.F., (1996). Algebraic Topology. Dover Publications inc., Mine-
ola, New York, 375 p.
[159] M. Metivier, (1968). Notions Fondamentales de la Theorie des Probabilites.
Dunod, Paris, 304 p.
[160] Medwedeff, D.A., and Suppe, J., (1986). Kinematics, timing and rates of fold-
ing and faulting from synthetonic sediments geometry (abs.) EOS, V. 67, p.
1223.
590 BIBLIOGRAPHY

[161] Meyers, D., and Sloan K., (1992). Surfaces from contours. ACM Trans. Graph.,
V. 11 No. 3, pp. 228-258.
[162] Millman, D., and Parker, K., (1977). Elements of Differential Geometry.
Prentice-Hall, Englewood Cliffs, New Jersey.
[163] Minoux, M., (1983). Programmation mathematique. Dunod, Paris, 294 p.
[164] Moretti, I., and Larrere, M., (1989). LOCACE: Computer-Aided Construction
of Balanced Geological Cross Sections. Geobyte (October), pp. 16-24.
[165] Morgan, F., (1993). Riemannian Geometry. Jones and Bartlett, Boston, 119
P-
[166] Mortenson, M.E., (1985). Geometric Modeling. John Wiley, New York, 763 p.
[167] Nielson, G.M., (1987). A Transfinite, Visually Continuous, Triangular Inter-
polant. In Geometric Modeling: Algorithms and New Trends, Farin G.E.
(ed.), SIAM publ. co., pp. 235-246.
[168] Omre, H., (1984). The variogram and its estimation. Geostatistics for natural
resources characterization, Verly, G., et al. (ed.), Reidel, Dordrecht, Holland,
pp. 107-125.
[169] O'Rourke, J., (1994). Computational Geometry in C. Dover Publications, New
York, 286 p.
[170] Overveld, C.W., (1995). Pondering on discrete smoothing and interpolation.
Computer-Aided Design, V. 27, No. 5, pp. 377-384.
[171] Pardo-Iguzquisa, E. and Chica-Olmo, M., (1993). The Fourier Integral
Method: an efficient spectral method for simulation of random fields. Jour-
nal of Mathematical Geology, V. 25, No. 2., pp. 350-365.
[172] Pegna, J., and Wolter, F.E., (1992). Geometrical Criteria to Guarantee Cur-
vature Continuity of Blend Surfaces. Transactions of ASME, Journal of Me-
chanical Design 114, pp. 201-210.
[173] Piper, B., (1987). Visually smooth interpolation with triangular Bezier
patches. Society of Industrial Applied Mathematics (SIAM): Geometric Mod-
eling, Algorithms and New Trends, Farin, G.E. (ed.), pp. 221-233.
[174] Poincare, H., (1895). Analysis situ. Journal de 1'Ecole Poly technique, V. 2,
No. 1, pp. 1-121.
[175] Poincare, H., (1900). Second complement a I'analysis situ. Proc. London Mat.
Soc., No. 32, pp. 277-308.
[176] Poincare, H., (1904). Cinquieme complement a I'analysis situ. Re. Circ. Mat.
Palermo, No. 18, pp. 45-110.
[177] Press, H., Teukolsky, S.A., Vetterling, W.T., and Flannery, B.P., (1992). Nu-
merical Recipies. Cambridge University Press, Cambridge, 994 p.
[178] Rajan, V.T., (1991). Optimality of the Delaunay triangulation in Rd. Proc.
7th Annual ACM Sympos. Comput. Geom., pp. 357-363.
[179] Rossignac, J., and O'Connor, M., (1989). SGC: a Dimension-Independent
Model for Pointsets with Internal Structures and Incomplete Boundaries. Ge-
ometric Modeling for Product Engineering, Wosny, M., et al. (ed.), North-
Holland, Proceedings of the IFIP/INSF Workshop on on Geometric Modeling.
Rensselaeville, USA, September 1988, pp. 145-180.
BIBLIOGRAPHY 591

[180] Rossignac, J., and Requicha, A., (1991). Constructive Non-Regularized Geom-
etry. Computer-Aided Design, V. 23, No. 1, pp. 21-32.
[181] Rossignac, J., (1996). Specification, representation, and construction of non-
manifold geometric structures. ACM Siggraph 96 course: Computational Rep-
resentations of Geometry, 1996.
[182] Rossignac, J., and Cardoz, D., (1997). Structured Topological Complexes: A
feature-based API for non-manifold topologies. Proceedings of the ACM Sym-
posium on Solid Modeling 1997, pp. 1-9.
[183] Rossignac, J., and Cardoz, D., (1999). Matchmaker: Manifold BReps for non-
manifold r-sets. Proceedings of the ACM symposium on Solid Modeling, pp.
31-41.
[184] Rossignac, J., (1999). Edgebreaker: Connectivity compression for triangle
meshes. IEEE Transactions on Visualization and Computer Graphics, V. 5,
No. 1, pp. 1-17.
[185] Rossignac, J., and Szymczak, A., (1999). Wrap and Zip decompression of the
connectivity of triangle meshes compressed with Edgebreaker. Computational
Geometry (Elsevier), V. 14, pp. 119-135.
[186] Le Roux, J.P., (1992). Determining the channel sinuosity of ancient fluvial
systems from paleo-current data. Journal of Sedimentary Petrology, V. 62,
No. 2, pp. 283-291.
[187] Rouby, D., Cobbold, P.R., et al., (1993). Least square palinspastic restoration
of regions of normal faulting application to the Campos basin (Brazil).
Tectono-physics, V. 221, pp. 439-452.
[188] Royer, J.J., and Shtuka, A., (1997). Stochastic imaging of environmental data
Geosciences and Water Resources, Bardinet P., and Royer J.J. (ed.), Springer
Verlag, Berlin , pp. 101-114.
[189] Ruspini, E., (1970). Numerical Methods for Fuzzy Clustering. Inf. Sci., V. 2,
pp. 319-350.
[190] Rutherford, A., (1962). Vectors, Tensors and the Basic Equations of Fluid
Mechanics. Cambridge University Press, New York, 346 p.
[191] Sage, L., Mosconi, A., Moretti, I., Riva, E., and Roure, F., 1991, Cross section
balancing in the central Apennines: An application o/LOCACE. The American
Association of Petroleum Geologists, pp. 832-844.
[192] Samson, P., (1996). Equilibrage de structures geologiques 3D dans le cadre
du projet gOcad. Ph.D. thesis, Institut National Polytechnique de Lorraine,
Nancy, France.
[193] Samson, P., and Mallet, J.L., (1997). Curvature analysis of triangulated sur-
faces. Journal of Mathematical Geology, V. 29, No. 3, pp. 391-412.
[194] Schwartz L., (1959). Theorie des Distributions. Hermann, Paris, 352 p.
[195] Schwarzacher W., (1975). Sedimentation Models and Quantitative Stratigra-
phy. Elsevier, New York, 382 p.
[196] Sclater, J.G., and Christie, P.A.F., (1980). Continental stretching: an expla-
nation of the post-mid-Cretaceous subsidence of the Central North Sea Basin.
In J. Geophysical Res., V. 85, pp. 3711-3739.
592 BIBLIOGRAPHY

[197] Segonds, D., (1998). Integration de I'approche parametrique dans le


geomodeleur gOcad. Ph.D. thesis, Institut National Polytechnique de Lor-
raine, Nancy, Prance.
[198] Sedov, L., (1975). Mecanique des milieux continus. Editions MIR, Moscou,
1975, 539 p.
[199] Shtuka, A., (1994). Simulation, traitement et visualisation des images
numeriques: apport du codage par indicatrices en geostatistiques. Ph.D. the-
sis, Institut National Polytechnique de Lorraine, Nancy, France.
[200] Shtuka, A., Samson, Ph., and Mallet, J.L., (1996). Petrophysical simulation
within an object-based reservoir model. Proc. NPF/SPE-European 3D Reser-
voir Modeling Conf. Stavanger, pp. 47-56.
[201] Shmaryan, L., and Hewett, T., (1996). Fast Probability Field Simulation with
FFT. Proceedings of the 1996 meeting, Stanford Center for Reservoir Fore-
casting, Journel A. (ed.), Stanford University, 25 p.
[202] Sibson, R., (1981). A brief description of natural neighbour interpolation. In-
terpolating multivariate data, Barnett, V. (ed.), John Wiley, pp. 21-36.
[203] Sneath, P.H.A., and Sokal, R., (1973). Numerical Taxonomy. Freeman, San
Francisco, 367 p.
[204] Sokolnikoff, I.S., (1956). Mathematical Theory of Elasticity. McGraw-Hill,
New York, 1956, 476 p.
[205] SokolnikofT, I.S., (1964). Tensor Analysis: Theory and Applications to Geom-
etry and Mechanics of Continua. John Wiley, New York, 1964, 361 p.
[206] Sokolnikoff, I.S., (1956). Mathematics of physics and modern engineering.
McGraw-Hill, New York, 1966, 752 p.
[207] Srivastava, R.M., (1992). Reservoir Characterization with Probability Field
Simulation. Proceedings of the 67th SPE conference, Washington, D.C., article
No. 24753, Soc. of Pet. Eng., pp. 927-938.
[208] Stocker, J.J., (1969). Differential Geometry. Wiley, New York.
[209] Strang, G., (1976). Linear Algebra and its Applications. Harcourt Brace and
Co., international edition, New York, 505 p.
[210] Stolum, H.H., (1996). River meandering as a self-organising process. Science,
V. 272, March 1996.
[211] Suppe, J., (1983). Geometry and kinematics of fault bend folding. Am. J. Sci.,
No. 283, pp. 684-724.
[212] Suppe, J., (1985). Principles of Structural Geology. Prentice-Hall, Englewood
Cliffs, New Jersey.
[213] Suppe, J., and Xiao, H.B., (1992). On the origin of Roll Over. American
Association of Petroleum Geologists Bulletin, V. 76, No. 4, pp. 509-529.
[214] Sun, T., Meakin, P., Torstein, J., and Schwartz K., (1996). A simulation
model for meandering rivers. Water Resources Research, V. 32, No. 9, pp.
2937-2954.
[215] Tarantola, A., (1987). Inverse Problem Theory. Elsevier, Amsterdam, 613 p.
[216] Thibaut, M., (1994). Geometric des surfaces de faille et depliage 3D. Methodes
et applications. Ph.D. Thesis, Joseph Fourier University, Grenoble, France.
BIBLIOGRAPHY 593

[217] Tipper, J., (1976). The study of geological objects in three dimensions by the
computerized reconstruction of serial sections. Journal of Geology, V. 84, pp.
476-484.
[218] Tipper, J., (1977). A method and Fortran program for the computerized re-
construction of three dimensional objects from serial cross sections. Computer
and Geosciences, V. 3, pp. 579-599.
[219] Tompson, A.F.B., Abadou, R., and Gelhar, L.W., (1989). Implementation of
the three-dimensional turning bands random field generator. Water Resources
Research, V. 25, No. 10, pp. 2227-2243.
[220] Turk, G., and O'Brien, J.F., (1999). Shape Transformation Using Varia-
tional Implicit Functions. ACM-SIGGRAPH'99 Conference Proceedings, Los-
Angeles, California, August, pp. 242-250.
[221] Tutte, W., (1984). Graph Theory. Encyclopedia of Mathematics and its Ap-
plications, V. 21, Cambridge University Press, New York.
[222] Viseur, S., Shtuka, A. and Mallet, J.L., (1998). New Fast, Stochastic, Boolean
Simulation of Fluvial Deposits. SPE Annual Technical Conference and Exhi-
bition, New Orleans, article No. 49281, September 1998.
[223] Voronoi, D., (1908). Nouvelles applications des parametres continus a la
theorie des formes quadratiques. Recherche sur les paralleloedres primitifs.
Journal Reine Angew. Math. 134.
[224] Wackernagel, H., (1995). Multivariate Geostatistics. Springer Verlag, Berlin,
256 p.
[225] Walton, D.J., and Meek D.S., (1996). A triangular G1 patch from boundary
curves. Computer-Aided Design Journal, V. 28, No. 2, pp. 113-123.
[226] Watson, D.F., (1981). Computing the n-dimensional Delaunay tesselation with
application to Voronoi polytopes. Comput. Journal, V. 24, No. 2, pp. 167-172.
[227] Weaver, R.C., (1964). Relative merits of interpolation and approximating func-
tions in the grade prediction problem. Computers in the mineral industries,
Parks, G.A. (ed.), Part 1: Stanford Univ. Publ. in the Geological Sciences, V.
9, pp. 171-185.
[228] Weiler, K., (1988). The Radial Edge Structure: a topological repesentation for
non-manifold geometric boundary modeling. Geometric Modeling for CAD
Applications, Elsevier Science Publish., pp. 3-36.
[229] Weisstein, E.W., (1999). CRC Concise Encyclopedia of Mathematics. Chap-
man and Hall/CRC, London, 1969 p.
[230] White, N., Jackson, J., and Mackenzie, D., (1986). The relationship between
the geometry of normal faults and that of the sedimentary layers in their hang-
ing walls. Journal of Structural Geology, V. 8, No. 8, pp. 897-909.
[231] Whitehead, J.H.C., (1949). Combinatorial Homotopy I. Bull. Am. Math. Soc.,
V. 55, pp. 213-245.
[232] Whittaker, E.T., (1923). On a new method of graduation. Proceedings of the
Edinburgh Mathematical Society, V. 41, pp. 63-75.
[233] Whittle, P., (1963). Prediction and Regulation. University of Minnesota, Min-
neapolis (ISBN 0-8166-1148-3).
594 BIBLIOGRAPHY

[234] Wietzerbin, L., (1994). Modelisation et parametrisation d'objets naturels de


formes complexes en trois dimension. Ph.D. thesis, Institut National Poly-
technique de Lorraine, Nancy, France.
[235] Williams, G., (1987). The geometry of listric normal faults and deformation
in their hangingwalls. Journal of Structural Geology, V. 9, No. 7, pp. 789-795.
[236] Woodward, N.B., Boyer, S.E., and Suppe, J., (1989). Balanced Geological
Cross-sections: An Essential Technique in Geological Research and Explo-
ration. American Geophysical Union, Short Course in Geology, V. 6, 132p.
[237] Xu, W., Tran, T.T., Srivastava, E.M. and Journel, A.G., (1992). Integrating
seismic data in reservoir modeling: the colocated coKriging alternative. Pro-
ceedings of the 67th Annual Technical Conference of the Society of Petroleum
Engineers, Washington, article SPE 24742, pp. 833-842.
[238] Yao, T.T., (1998). Conditional spectral simulation with phase identification.
Jour. Math. Geology, V. 30, No. 3, pp. 285-308.
Index

Abstract i-cell, 61 Certainty factor, 144


Active set, 171 Cerveny law, 240
Adjacency, 40, 53 Channel, 233, 531
Adjacent cells, 40 Classification, 533
Anisotropic weightings, 150, 378 Closed, 60
Anisotropy, 554 Closed set, 30
Closure, 31
Back-stripping, 421 Clustering, 534, 567
Balanced restoration, 420 CoKriging, 509
Balancing ratio, 145 Colocated coKriging, 509
Ball, 29 Compaction, 429
Barycenter, 105, 309 Computer-aided design, 199
Bary centric Conjugate gradient, 176
coordinates, 126, 183, 254 Consistency, 63, 153
parameterization, 126, 251 Constraint, 8, 140
BBRF, 520 Continuity, 12, 33, 34, 224, 272, 278,
BBS, 525 280, 420
Beautifying algorithm, 305 Continuity equation, 420
Beauty of a triangle, 305 Control
Bellman principle, 115 delta, 257
Bezier patch, 323 gradient, 187
Blending function, 158, 529 net, 322
Blending-Based Random Function, 520 node, 140, 147, 158
Boundary, 31 node (fuzzy), 164, 168, 190
Brisson-Lienhardt theorem, 61 point, 182, 184, 188, 263
property, 183, 186, 256
CAD, 199, 204 segment, 270
Cdf, 447, 451, 468 straightline, 264
Cell thickness, 269
definition, 37 throw, 274
iterator, 76 Convex hull, 322
transformation, 77 Coons patch, 129
virtual, 41 Corner point, 125
Cell centered, 126 Covariance function
Cellular definition, 460
decomposition, 51 exponential model, 464
partition, 36 Gaussian model, 464
synthesis, 60 nested model, 465
CellView, 49 range, 464
Centered RV, 447 spherical model, 464
Central limit theorem, 454 Covariance matrix, 451

595
596 INDEX

Cumulative distribution function, 447, nonlinear, 169


451, 468 normalized, 140
Cumulative membership function, 538 simple, 9
Curvature soft, 9
Gaussian, 215 DSI equation
mean, 215 global, 153
of a curve, 201 local, 160
of a surface, 205, 211, 213 DSI iterative algorithm, 165
tensor, 205, 211 DSI weightings
Cut, 133, 313 anisotropic, 150, 378
exponential map, 366
Darcy's law, 243 harmonic, 149, 364
Dart isotropic, 149
cell-key, 84 DSP, 533
definition, 53, 57 DSP constraint
free, 60 intrinsic probability, 540
magnetic interpretation, 66 association, 551
sewn, 60 gradient, 557
virtual, 83 local proportions, 548
Deconvolution, 25 Dual of a graph, 98
Deformation analysis, 392 Dupin indicatrix, 223
Deformation of a horizon, 405 Dynamic constraint, 166
Delaunay
tessellation, 98, 99 Edge, 86
theorem, 100 Elongation, 397
Developability-index, 221 Embedded, 37
Developable, 215, 221 Embedding, 44, 46, 63
Differential equation, 2, 3, 203, 218 Embedding consistency, 63
Differential geometry, 199 Ergodic correction, 523
Dilatation, 394 Ergodicity, 462, 480
Dimension, 34 Euler operators, 48
Dirac, 238, 522 Euler-Poincare, 46
Discrete Fourier transform, 484 Eulerian strain tensor, 400
Discrete model, 7, 139 Event, 444
Discrete modeling, 5 Exponential covariance model, 464
Discrete smooth interpolation, 14, 139
Discrete smooth partition, 533 Facies, 534
Discrete topological model, 5 Fast Fourier transform, 486
Discriminant, 534 Fault, 130, 133, 235, 245, 272, 371
Displacements, 402 Fault-throw, 272, 273
Distribution, 521 First fundamental form, 206
Dividing-wall, 86 First fundamental tensor, 205
DSI, 14, 139 Fitting factor, 145
DSI constraint, 9 Fourier transform, 484, 486
canonic, 140 Frame
cross, 9, 148 definition, 86
definition, 8, 140 operations, 89
dynamic, 166 Free, 60
equality, 9, 174 Frenet frame, 202
hard, 9
inequality, 9, 174 Gaussian
INDEIX NDEX 597

covariance model, 464 Inequality constraint, 9, 174


curvature, 215 Interior, 31
random variable, 449 Invariants, 400
Generalized map, 57 Involution, 56
Genericity, 148 Isometric
Geodesic, 216 constraints, 290
Geometric continuity, 224 mapping, 408
Geomodeling, 4 Isomorphic
Ghost well-marker, 384 cells, 44
Gluing frames, 90 cellular partitions, 43
GMap Isomorphism, 43
definition, 57 Isoparametric
implementation, 81 constraints, 297
transformations, 74 curve, 204
Gradient, 207 Isotropic weightings, 149
Granularity, 101 Iterator, 76
Graph, 153, 223, 229, 246, 301, 302
Green-Gauss theorem, 356 Jacobian, 208
Gregory
patch, 331 Kriging
patchwork, 336 colocated coKriging, 509
GRFS, 481 ordinary, 504
Grid simple, 506
cell centered, 126
corner point, 125 Lagrange Multipliers, 396
cracking, 130 Lagrange multipliers, 504
cutting, 133 Lagrangean strain tensor, 400
definition, 122 Laplacian, 351
irregular, 132 Lattice, 87
regular, 122 Likelihood function, 542
simple node, 131 Listric fault, 411
split node, 131 Local topological dimension, 34

Hard constraint, 9 Magnet, 66


Harmonic weightings, 149, 364 Manifold, 35
Heisenberg uncertainty principle, 512 Map, 69
Heterogeneities, 489, 531, 549 Mapping, 33
Homeomorphic, 34 Mass preservation, 429
Homeomorphism, 34 Mean curvature, 215
Horizon, 2, 193, 245 Membership function, 538
Hyperplane, 141, 171, 172 Metric, 205, 206, 250, 291, 353, 564
Metric tensor, 205
Image processing, 22 Minimum deformation
Implicit surface, 134 constraints, 433
Incidency, 40 principle, 403
Incident Model
cell, 40, 43, 45 definition, 88
VertexView, 50 operations, 89
Independence, 453 Morphing, 380, 381
independence, 453 Moving centers, 559
Indicator, 448, 460 Multigrid, 181
598 INDEX

Neighborhood, 6, 32, 147 Probability, 445


Nested model, 465 Probability distribution function, 447,
Neural networks, 534, 569 448, 452
Node, 139 Proportion map, 549
simple, 131 Pseudo-continuity, 12, 280, 305
split, 131 Pseudo-distance to data, 191
Non-manifold, 35, 40
Nonlinear constraint, 169 Radial edge, 35
Normal score-transform, 470, 511 Radial tangent, 334
Normalized RV, 447 Random
Nugget effect, 464 Fourier series, 474
function, 459
Object, 35 sampling, 455
Off-lap, 389 variable, 446
On-lap, 387 Range, 464, 466
One-to-one, 33 Ray tracing, 237
Open, 60 Recursive subdivision, 350
Open set, 30 Region, 75, 83, 88, 91
Orbit Regular
definition, 6, 58 curve, 200
traversal, 75 grid, 122
Order of an RF, 461 surface, 205
Orientability, 68, 69, 218 Relative developability-index, 221
Orientation, 218 Relaxation, 174, 175, 558
Osculating Reparameterization, 200, 207-209
circle, 201 Resampling algorithm, 309
paraboloid, 222 Restoration, 418
Restoration vectors, 406
P-field, 488 RFS, 474
Paleo-geographic coordinates, 406 Rigid, 280, 372, 416, 438
Pants algorithm, 119 Roughness, 141
Parameterization global, 13, 15
barycentric, 251 local, 15, 141
canonic, 253 matrix interpretation, 142
global, 193, 247, 253, 287
induced, 253 Score-transform theorem, 450
local, 248, 251 Sculpting, 107
Parametric Second fundamental form, 211
curve, 199 Second fundamental tensor, 205
surface, 203 Semipositive definite, 463
Partition, 36, 152 Sewn, 60
Patch, 249, 319 SGS, 516
Patch algorithm, 110 Shannon theorem, 443
Pdf, 447, 448, 452 Shapes, 107
Permeability tensor, 243 Sharpening , 22
Permutation, 59, 71, 82 Sill, 466
Piecewise, 196, 200, 245, 248, 310, Simple curve, 200
331, 419 Simplex, 40
Principal Simulation, 445
components, 564 Simulator
curvatures, 213 blending-based, 519
INDEX 599

definition, 494 a surface, 221


sequential, 514 Ungluing frames, 90
Skin algorithm, 118 Uniform
Smoothing, 167 random function, 488
Snell law, 239 Random Variable, 448
Soft constraint, 9 Unsew, 78, 130
Soft DSI constraint, 144 Upscaling, 542
Spatial URF, 488
covariance, 462
variogram, 462 Variance, 447
Sphere, 29 Variance of estimation, 504
Spherical covariance model, 464 Variogram, 460
Spreading factor, 243 range, 466
Standard deviation, 447 sill, 466
Stationarity, 461 VertexView, 50, 51
Statistic, 457 Virtual cell, 41
Stiffness, 13, 151, 152 Voronoi
Stochastic, 443 diagram, 99
Store, 83 region, 99
Strain tensor, 394, 400, 416, 418
Striae, 375 Wave front, 237
Strip algorithm, 113 Weightings, 141, 149
Structural constraints, 548 anisotropic, 150, 378
Style, 149, 445, 514 exponential map, 366
Style of an RF, 483 harmonic, 149, 364
Subdivision, 360 isotropic, 149
Well-marker, 379-381, 390, 391
Tangent
plane, 205
to a curve, 200
Taylor approximation, 147
Tesselation, 97
Tomography, 23
Topological space, 32
Topological transformation, 33
Topologically equivalent, 34
Topology, 28
Transformation, 33
Transmitter, 304
Traversal, 75
Triangle
curvilinear, 318
linear, 287
Triangulated surface, 228
Triangulation, 218
Trimming algorithm, 312

Uncertainty, 445, 512, 547


Unfolding
a horizon, 293, 406
a layer stack, 418

You might also like