Professional Documents
Culture Documents
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
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
vn
vii CONTENTS
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
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.
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.
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.7 Vectorial function y> denned on the set 0, consisting of the nodes of
a graph g(l,N).
The set of constraints C is split into three subsets C~, C = , and C>:
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
(
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.
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
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:
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)\.
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):
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=:
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
then the solution (p will be smoother in the direction (a, @i) than in the
direction (a, fa).
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
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 )
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:
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.
Figure 1.11 Modeling salt dome with DSI: (A) initial model and data. (B) final
model. (Data courtesy of T-Surf)
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
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.
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:
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
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).
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
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
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.
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
The family O(lRn) of all the open sets of ]Rn verifies the following prop-
erties:
The family ]C(Mn) of all the closed sets of Mn verifies the following
properties:
Figure 2.3 An example of a set A of 1R2, its interior A, its closure A, and its
boundary dA.
o
In other words, A is the biggest open set contained in A.
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.
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:
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.
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.
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).
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."
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).
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
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).
3. Choose a cellular partition P(A) of A containing all the cells of the cellular
partition P*(A*):
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. 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
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.
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:
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 ) .
written as follows
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).
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:
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].
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):
Moreover, the cell corresponding to the head of v is referred to as view edC ell (v):
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,
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
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.
13
For the sake of clarity, the output argument is noted with a | sign.
52 CHAPTER 2. CELLULAR PARTITIONS
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
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.
The class of z-equivalence consisting of all the VertexViews that are i-adjacent
to w G P(A) is noted as iyW
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.
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:
For any index i > 0, the transformation o,i so defined is an involution16 called
i-adjacency on P(A):
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
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:
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:
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:
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.
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.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
is called "GMap of the boundaries" of G if D' and the {o^j's are 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
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):
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 "real" i-cells of 'P(A) are the images of "abstract" ^-cells of G by the
component ^ of 0 = {(/>o,..., 0n}:
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
in addition, for any j' > i the boundary of the j-embedding (f)j(d) contains
&(d):
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
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:
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
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).
20
It should be noted that such a division of D into two subsets is not unique.
2.4. GENERALIZED MAPS 67
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
Note that these functions p,+ and /j, are such that
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:
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
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
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
It can be checked that the functions {&} so denned are invertible and, in
addition, the functions {/3j : j = 2 , . . .,n} are involutions:
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
1. The first step consists in restoring the set D and denning the functions
TT+ and QQ as association-tables:
Gk corresponds to an n-GMap
Micro transformations { t j }
In practice, the macro transformations Tk presented above are decomposed
as follows
Delete an cti involution between two Darts x and y of the current GMap in
such a way that the following relationships become true:
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.
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
a local 0-cell iterator can be used for scanning all the vertices linked by
an edge to a given vertex.
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. Initialize:
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).
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:
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.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
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
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, ...).
private:
int n_; // n_=n
Set<Dart*> darts_;
CellManager cm_;
BoolMarkManager bmm_;
EmbeddingStore es_;
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
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
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).
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.
By definition, for any cellular partition P(]Rn+l} honoring the following con-
straints
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):
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.
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
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.
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.
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):
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):
(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.
(D2) The boundary of the Delaunay's tessellation 'D(P) is the convex hull of
the point set P.
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):
// 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
// 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)
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.
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
/3-shapes
To each tetrahedra t belonging to the initial 3D Delaunay tetrahedralization,
we can associate a coefficient b(t) such that
// 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
Define gj and ii as
Choose g as the center of gravity of the set of points {g^} weighted by the
{li} coefficients:
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:
The optimum of (u) is achieved when its vectorial derivative vanishes (see
page 147):
Figure 3.9 Building a triangulated strip between two open polygonal curves
C(P) and C(Q).
and this shows that, to honor the constraint (3.7), then n must be associated
with the smallest eigen value A of C.
With such a constraint, for k < L, each edge e(k) can be associated with a
triangle T(k) such that
The union of all the triangles T(k) so defined constitute a simply connected
triangulated surface T(S):
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
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.
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
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.
and
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*.
Step 3 Apply a skin algorithm to the pair of closed curves C(P*) and
C(Q*).
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]).
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
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.
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:
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.
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
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
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
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.
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]).
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:
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.
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:
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.
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.
Definition
Let A be a closed polygonal region of Mn and let P(A) be a cellular partition
of A honoring the following constraint:
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
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 ?'.
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 clear that the surface Sa is no more than the boundary of the region a
so denned:
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.
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
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:
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:
139
140 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
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:
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
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)):
Using these matrices and notations (4.2), the local and global roughness de-
nned above can be written according to the following matrix form
Comment
Most of the time in practical applications, the coefficients {v(a, (3)} are defined
as being independent of v:
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):
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."
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
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)):
means that it is more important to honor the constraint 02 than to honor the
constraint c\.
It should be noted that
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
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
In this criterion, 0 and w are positive coefficients playing the following roles:
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:
This implies that the balancing ratio w must be chosen according to the
following equation:
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:
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* (</?)
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
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
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:
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}}:
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
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
This partition of the matrix </? induces a similar partition of the matrices [W*
and Q* used to define R*(p) (see equation (4.24)):
4
See definition of / and L on page 147.
4.3. UNIQUENESS OF THE DSI SOLUTION 153
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.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
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
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
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 us now consider the orbit 7V(o!) of a. According to (4.38), we can thus
write
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
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:
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}'-
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
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:
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}.
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.
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:
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
Variation of p((p)
For any soft constraint of c C~, we can observe that
with :
162 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
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
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:
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:
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
} // 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:
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.
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
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
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
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
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
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:
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.
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:
for_all( c <E C ) {
if( c is dynamic ) update c
}
} Jl end : for_all( a I )
} // end : while ( more iterations are needed )
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:
tends to pull the current solution <> toward the minimum of R*(^} while the
loop
} // end : for_all( a e / )
} // end : while( more iterations are needed
176 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
It can be shown (e.g., see [90]) that the optimal step S[P] in the direction d/[p]
is such that
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)
Let xv(a., s] and dl'(a) be the components of x(s) and d corresponding to the
component (pv(ot) of (f>:
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:
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
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
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:
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
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.
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 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*:
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:
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.
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:
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:
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
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:
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
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
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:
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.
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
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.
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
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*).
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
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.
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:
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
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
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.
199
200 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETR
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:
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
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):
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.
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
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
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
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:
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
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 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 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:
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:
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
In other words
Note that
Moreover, according to equations (5.20), (5.21), and (5.18), the scalar product
of grade/? by t is such that
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:
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
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
Let x p (w, v) be the parametric equation of the tangent plane Tp(<S), as defined
by
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):
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
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
This curve is drawn on <S and its unit tangent t = t() is such that
212 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETR
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:
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
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:
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:
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
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\
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).
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):
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
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.
Figure 5.8 Examples of non-orientable surfaces: (A) Moebius ribbon and (B)
Klein bottle.
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
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.
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.
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:
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
In other words, within the framework (U, V, N), locally <S is the graph of a
function Z f ( X , Y) such that
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
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.
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.
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.
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
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)):
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}.
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).
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^.
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:
where [Ai] and Bi are a square symmetrical matrix and a column matrix,
respectively, as defined by
5.5. DISCRETE MODELING 231
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
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:
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
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.
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:
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.
Fault detection
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).
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
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).
Figure 5.19 Wave front W(t) and associated ray path r(t) crossing an interface
Ji between two homogeneous regions 71 and 'R,.
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
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
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:
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 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:
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
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
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
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}.
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:
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):
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
-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
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:
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.
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.
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:
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
then it can be observed that the derivatives of </?T are constant on T and such
that
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:
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):
It is easy to check that the associated domain DT does not depend on T and
is such that
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
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
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
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
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
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
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
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
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:
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:
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:
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:
For the sake of simplicity, in the rest of this section the components8 of G^1
will be noted as follows:
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:
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
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
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:
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:
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
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
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).
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
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
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
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
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.
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;
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
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
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
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:
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
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.
By definition
6.4. CONTINUITY THROUGH FAULTS 279
ip is C continuous at point p = x(w, v) if, for any pair of real numbers (a, b),
the following condition holds true:
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
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).
and defined by
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[:
17
Pay attention to the signs '+' and '', which may have changed.
6.4. CONTINUITY THROUGH FAULTS 283
Referring to figure (6.17), in this particular case, the rigid displacement T>
corresponding to the throw (P'(si) P(si)} ig sucn that18
is equivalent to
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
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:
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.
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.
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)).
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
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
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
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.
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
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:
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 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 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:"
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:
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
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).
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) 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 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
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:
For this purpose, it suffices to define U(CKO), u(ai) and u(a 2 ) as follows:
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:
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)
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
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
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:
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.
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):
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):
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:
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:
with:
304 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES
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
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]).
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:
// 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).
For the sake of consistency with previous notations, the points of P* are noted
as follows
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.
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-.
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:
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
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:
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.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
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.
These curves are the images of the edges of the triangle's unit parametric
domain DT-
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:
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
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.
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.
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
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 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
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 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:
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
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.
and
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 329
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.
it is deduced 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
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):
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).
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.
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:
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
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
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]_):
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:
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:
Step 1: Initializations
The first step consists of the following series of initializations:
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
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.
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
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
Moreover, according to step 2, the unit vectors NO and NI have been built in
such a way that
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
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:
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.
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
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
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
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
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.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:
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
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
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'-
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
and it may be observed that the area DT(&I c*i, c^)! of the triangle DT((*, cti, 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
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
Observing that the angles 01 and 02 always belong to [0, TT] so that their sine
is always positive, it can be concluded 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.
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
From equations (7.25), (7.31), and (7.32), it can easily be concluded that
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
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
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
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:
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)):
Similarly and due to equations (7.41), the functional J((p] defined by equation
(7.17) can be obtained as the following limit:
Let us now assume that the DSI method used in the recursive subdivision
algorithm presented above is based on the following weightings:
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
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.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)\.
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.
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).
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.
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
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:
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 other words, fault-throw directions t(x) that make an angle greater than
9 with projf(v} are excluded from ^-"(A, 0).
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
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.
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.
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
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.
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.
four neighbors /3^, (3^ , ^, and /?Q~ whose locations after step 1 of the above
algorithm are assumed to be such that
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.
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.
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
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:
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.
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:
For T(S1} to pass by IPf (), the local interpolation (pr(u, v] of (p on T must
honor the following constraint:
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
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.
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).
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
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:
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.
3. Build the field of vectors m(a) colinear to the vectors m*(ct:) such that
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:
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.
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.
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:
Figure 8.12 Cross section showing the discrepancies {di} observed between a
seismic horizon <S* and a series of well-markers {Wj}.
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.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 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
The components {guiuj} of the metric tensor associated with 7 are stored in
an (n x n) symmetric matrix G, as 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.
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
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
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:
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
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:
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:
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
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)}.
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:
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
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.
Deriving this vector with respect to ul allows us to write the following impli-
cations:
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:
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.
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
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
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
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.
as follows:
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:
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).
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):
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)
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:
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}.
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[^:
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
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:)).
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.
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
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
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.
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
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:
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.
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
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:
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
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.
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
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
21
It is assumed that the z axis is oriented positively upward.
8.6. UNFOLDING A STACK OF LAYERS 431
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:
DSI constraint
Let d, dy, d^+, dc~, and ac be coefficients such that
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:
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:
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
The next sections show how these equations can be turned into DSI con-
straints.
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
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
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.
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:
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
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:
Summing these terms for all 3-cells surrounding the node a and not cut
by a fault generates the following composite terms and
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:
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 )}.
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
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
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.
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.
2
See section (9.2.1).
9.2. PROBABILITIES IN A NUTSHELL 445
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.
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:
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.
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
From the definition of JP, it is easy to infer the following properties for any
cdf:
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 following straightforward relation always holds for any indicator RV I A '
In this sum, {zi} represents a series of real values, while the events {Ai} are
assumed to realize a partition of 13.
This RV is fully defined by the two parameters a and b or, equivalently, by its
mean and variance, which are
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:
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
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
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
From the definition (9.1) of JP, it can be shown that any bivariate cdf
z zF
has the following properties:
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:
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
This implies that any covariance matrix [Czz] is always semipositive definite.
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.
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.
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.
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*):
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
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
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
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.
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
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:
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:
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:
or, similarly, if
9.3. RANDOM FUNCTIONS 463
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
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.
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.
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
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
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
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
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
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:
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;):
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
15 =]Ti,T 2 ] is the period of time during which the surface of the water
was under observation.
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.
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:
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 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
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.
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
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.
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
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
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]):
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:
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).
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
where the random functions Z% (u, u;) and Z| (u, LJ) are themselves defined
recursively as follows:
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:
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
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
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
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).
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
Assuming that hlmin < hlmax for each i, u can always be denned as a vectorial
function of u such that
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:
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
with
Referring to equations (9.55), Zk(w} can be turned into the following integral:
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
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
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:
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:
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
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}-
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
In the above equation, the random coefficients ^/ Cl ...fc p (^') are assumed to be
defined by
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)).
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
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
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:
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
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:
Taking into account condition (9.73) and equations (9.92) or (9.90), it can be
deduced that
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
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 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:
Comment 1
Let ras(u) and cr|(u) be the mean and the variance of the random function
5(11,0;) to build
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).
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)
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
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.
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:
38
Choosing a Gaussian law is a practical choice, not a fundamental choice.
9.6. STOCHASTIC SIMULATORS 497
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):
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:
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:
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:
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:
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 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.
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)
while .R(u, o>) is a "residual" random function honoring the following con-
straint:
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*}.
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
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
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
Taking into account the fact that Z(u, u) is assumed to be order 2 stationary,
it is easy to show that
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
For the same reason, the estimation variance cr|;(u) vanishes at 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.
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:
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:
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
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
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
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
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
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.
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 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
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.
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.
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
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
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):
} II end: while
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
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).
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]).
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;):
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.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):
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
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:
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.
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.
In practice, this condition is rarely perfectly honored, thus, for each event
<jj 0, the following "ergodic correction" operation must be performed:
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:
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
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
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
Comment 1
Observe that equation (9.170) is simply a first-order approximation of the
following general nonlinear model:
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:
guarantees that ^(u,^)! will remain lower than 1 with a probability greater
than 0.95.
530 CHAPTER 9. STOCHASTIC MODELING
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
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).
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)
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
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.
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
represents the probability for the node a to be located in the facies Fv:
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:
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
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.
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^:
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].
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:
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:
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 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;:
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]:
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
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.
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
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:
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
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.
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.
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
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
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:
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):
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
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.
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
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.
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
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.
with:
// 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
then it can be shown [126] that the average value of Wl decreases 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:
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
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:
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
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):
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}:
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:
If we let
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
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:
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:
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.
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.
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 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;
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 curves fc(w) shown in figure (10.18)-B 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.
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
[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
[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
[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
[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
595
596 INDEX