This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
(x)\.
contrast to chapter (4) of this book which focuses on mathematical aspects of this method, here we are mainly interested in showing that this method is in fact very simple and can be easily understood. For simplicity's sake, in this section we will consider only soft constraints c G C~ plus a limited subset CL of C^ defined later (see equation (1.8)). For a complete presentation, we refer to section (4.5), which allows the hard constraints c (E C= and c 6 £> to be taken into account.
Introduction As suggested in figure (1.8), let us consider a scalar continuous function (p defined on the segment 17 = [1, M] and let 17 be the set of nodes corresponding to the regular sampling of 17 with a step equal to 1:
In figure (1.8), the nodes a € 17 correspond to the white points, while the black points correspond to some given data points {£, (p(l) : I € L} to be interpolated and associated with a given subset L of 17. For this purpose, a classic method [55, 76] consists in looking for a spline function ip minimizing the "global roughness" R((p] such that
In this expression, [i(x) > 0 is a given local "stiffness" function (that can be taken, for example, constant equal to 1), while R((p\x) can be interpreted as a measure of the "local roughness" of (p at point x € 17. If we let
14
CHAPTER 1. DISCRETE MODELING FOR NATURAL
OBJECTS
then, as suggested in figure (1.8), we can verify that a finite difference approximation of d?(p/dx2 is such that
If we neglect the side effects1 that occur at node a = 1 and a = M, then, for any a e fJ, we can thus write2
then we can say that R((p) is an approximation of the global roughness R((p): We conclude that minimizing R((p] or R((p) gives approximately equivalent results; this conclusion is at the origin of the Discrete Smooth Interpolation method [147, 149] presented in the next sections and in chapter (4).
Discrete Smooth Interpolation For simplicity's sake, let us consider a discrete model A/(1(O, TV, ?, C). In this case, (p has only one component so that no distinction will be made in this section between (p and its unique component
The set L is called the set of "Control-Nodes" and is associated with a particular subset3 CL of the set of hard constraints C=:
Tje aim is to compute the values in such a way that lr This side effect does not exist if we assume that (p is periodic and has a period equal to n. 2 Note that N(a) represents the neighborhood of a while JV°(a) represents its orbit (see page 5. 3 Note that L, and thus CL may be empty.
1.3. INTERPOLATION15
15
• the resulting function ? be "as smooth as possible" on C/(f7, TV), • the "control values" {?(•£) : £ G I/} be strictly honored, and • each of the constraints4 c 6 C~ be respected "as much as possible."
For this purpose, we propose to measure the local roughness R((p a] of (p in the neighborhood of each node a G 0 and the degree of violation p(p\c) of each constraint c 6 C~ by (p as follows:
In this definition of the local roughness jR(<^|o;), the {v(a, /3)}'s are arbitrarily given coefficients (e.g., see page 149) and the Discrete Smooth Interpolation method (DSI) proposes to look for a function ip minimizing the following "generalized roughness" criterion R*((p}:
In this criterion: • (i(a) > 0 is a given positive "stiffness" function modulating the importance of the local roughness R(
(oi) • R((p\a). escaen
It can be shown (see section (4.3)) that the solution (p minimizing R*(
) 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 equality constraint c = c(r, T r ):
1.4. EXAMPLES OF APPLICATIONS
25
Figure 1.16 3D Medical tomography with DSI: Imaging some vessels of a human brain from six 2D X-ray views corresponding to six different directions of X-rays in the 3D space (contrary to seismic rays, X-ray paths are rectilinear).
Figure (1.16) gives an example of the 3D variations of (p obtained with DSI in the case of the imaging of the vessels of a human brain. In this example, each cell was traversed by six rays corresponding to 2D X-ray images taken in six different directions. Experimental results have shown that this approach is, at least, as efficient as classical methods (see [124, 125]). Similar results could be obtained in geological applications.
Deconvolution Let A/(1(O, TV, y?, C] be a discrete model defined as follows: • SI is the set of the nodes of a regular ra-dimensional grid. • N(a) is such that /3 € N(a) if a and (3 are two adjacent nodes of the grid. •
i(a) of any i-cell a E Pi (A) is called an embedding of a in the embedding space E. As shown in figure (2.10), a single cellular partition P(A] can have multiple embeddings. Abstract topological representation of a cellular partition Note that an isomorphism between two cellular partitions is given if: 1. there is the same number of i-cells in both partitions for alH > 0, and 2. the cells can be arranged in such a way that they fulfill the conditions (2.4), and (2.5). The above conditions (1) and (2) are purely combinatorial. They do not depend on "geometric properties" such as the exact shape of the cells or the dimension of the embedding space. Thus, the notion of isomorphism introduced above suggests the following concept for the topological modeling of any manifold object A associated with a given cellular partition P(A}: To each i-cell a E Pi(A), associate an arbitrary and distinct element a* called "abstract i-cell" and define the set Qi(A) as the union of all these abstract i-cells. Define the set Q(A) as the union of all the sets Qi(A): (a, /?)} are such that where w(a) is a given positive function, then the value It is less important to respect the soft constraints than to have a smooth solution )/d(f>"(a) = 0; hence the component (pv(oL) of (f> must satisfy the following equation:6 [o] be a given initial approximated solution let w be an estimated value of the balancing factor while ( more iterations are needed ) { \ 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 , (a:), and the square error of estimation (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. (a.ij} located on TP(p,N) This condition is equivalent to the following linear equation: r(a:,ai, 0:2) through the edge E (01,02) as defined by the following equation where N T (a) is the unit normal vector orthogonal to E(a\, 0.2) oriented positively outward from DT(a,ai,a2): M), let D™ (a, a x , a 2 |a) be the quadrangle 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)):
Define a family of rules "Incidencies" on Q(A) reflecting the incidency conditions (2.5) related to P(A). 8
Note that, in this case, 'P(A) may be identical to T'(B} while a is different from b.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD
OBJECT
45
Figure 2.11 Depending on the dimension of the embedding space, a topological object may or may not "geometrically" self-intersect. However, from the topological point of view, such a geometrical intersection is not to be considered as such. Whatever model (Q(A), Incidencies) is chosen, it will preserve the information related to the cellular partition P(A). Accordingly, the name "abstract topological representation" o f P ( A ) is proposed for (Q(A), Incidencies). Conversely, if A is an n-dimensional object belonging to an embedding space E = Mm, then P(A) can be thought of as a "geometric realization" also called an "embedding" of (Q(A), Incidencies) through a series of (n + 1) mappings > = {<^o, • • •, 4>n} honoring the following conditions that mirror the constraints (2.4), and (2.5): 1. (j>i is a bijection between Qi(A) and Pi(A) associating each abstract i-cell a* € Qi(A) with one single real i-cell a 6 Pi(A), and conversely:
2. If i > 0, then, for any a* e Qi(A) and any a*' e Qi-i(A), the bijections fa and fa-\ preserve the incidency relationships:
Cornment 1: Maps and Generalized Maps The above concept of abstract topological representation of a cellular partition is at the origin of the notions of "Maps" and "Generalized Maps" (GMaps) presented in section (2.4). The notion of Generalized Map was introduced in the geometric modeling field by Lienhardt in the early 1990s [134, 135, 137, 138] to provide a rigorous algebraic framework for the description of the topology of a cellular partition, and it can also be used as the backbone of software implementation.
46
CHAPTER 2. CELLULAR
PARTITIONS
Comment 2: Self-inter sect ions of embeddings
As mentioned above, an abstract topological representation of a cellular partition P(A] contains all the topological information concerning the neighborhood properties9 of the associated object A. Furthermore, such representation allows for more flexibility in visualizing geometric objects, and one can "draw" geometric intersections that "do not count." For example, figure (2.11) shows a cellular partition P(A) of an object A and its associated abstract representation P*(A). The 3D object A does not self-intersect, while its 2D image A' does and appears as a non-manifold object. However, carefully interpreted as a non-manifold object, A' represents the same topological properties as the manifold object A. The same trick is used for a representation of the Klein bottle represented in figure (5.8). The Klein bottle is defined as a manifold object in JR4, thus it is free of self-intersections. The self-intersection of its representation in 7R can be neglected if we interpret figure (5.8) as a "projection" of an abstract topological representation of a cellular partition as we did with the object A' above. Such representation are also called "immersions."
2.3.5
Euler-Poincare theorem
Consider a cellular partition P(A) of a manifold curve A into a series of adjacent curvilinear segments (edges) joining a finite set of points (vertices) of the curve. Whatever the number of vertices and edges, it is obvious that • if the curve is open, then the number of vertices (0-cells) is equal to the number of edges (1-cells) plus one, and • if the curve is closed, then the number of vertices (0-cells) is equal to the number of edges (1-cells).
One can wonder whether similar relations exist for cells of surfaces and, more generally, for cells corresponding to a cellular partition of any manifold object. The Euler-Poincare theorem gives an elegant answer to this question: Theorem
Let A be a manifold object. For any cellular partition P(A) of .A, the EulerPoincare characteristic %(A), defined by
is independent o f P ( A ) . If A is an n-manifold object, then it is easy to check that x(A) can also be 9 It should be noted, however, that advanced topological concepts like "knots" are not taken into account by such a representation (see [8]). For example, the topological model presented in this book makes no distinction between a simple torus and a torus with one or several knots.
2.3.
CELLULAR PARTITION OF AN N-MANIFOLD
OBJECT
47
Figure 2.12 Examples of cellular partitions of open surfaces: the Euler-Poincare characteristic x = V — E + F is equal to 2 minus the number of boundaries whatever the cellular partition. written as follows
where 7^(^4)1 represents the number of i-cells in P(A). Examples The formal proof of this general form of the Euler-Poincare theorem is based on the theory of homology, which is far outside the scope of this book [105]. However, we can easily verify the correctness of this theorem using examples such as, for example, those presented in figures (2.6), and (2.12). The case of 2-manifolds As suggested in figures (2.6), and (2.12), in the special case of a 2-manifold surface A, the Euler-Poincare characteristic can be written:
It is also possible to show that x(A) can be decomposed into an alternate sum of three numbers {xi(A) : i = 0,1, 2} called "Betti numbers" [105]:
48
CHAPTER 2. CELLULAR
PARTITIONS
More generally, Betti numbers are denned for any n-manifold object A as the ranks of the homology group of A and were proved to be invariant by Poincare [176, 229]. These Betti numbers were used by Poincare to prove the formula (2.8) extending to any n-manifold object the formula (2.9) previously discovered by Descartes and Euler. Another famous topological invariant of a 2-manifold surface A is its "genus" g(A) denned as the largest number of non-intersecting, simple closed curves that can be drawn on A without dividing it into two parts. It can be noted that g(A) also represents the number of "handles" of A: cutting a handle does not divide A into two parts and simply generates 2 holes. For any closed connected orientable10 surface A of genus g(A), it can be shown that the Betti numbers are
This explain why the closed surfaces without handles represented in figure (2.6) have an Euler-Poincare characteristic x(A] equal to 2. If AI and A2 are two manifold surfaces, then it can be shown [2] that the Betti numbers characterize homeomorphisms between AI and A? in the following sense:
Historical note In the case where A is a. closed surface homeomorphic to a 2-sphere, formula (2.9) reduces to the famous Euler formula:
This remarkable result, which is the earliest discovery in topology, is due to Descartes who established it in 1639 but the formula bears the name of Euler who rediscovered it and published a proof in 1751. Application to geomodeling From a practical point of view, in a modeling system, the Euler-Poincare formula (2.8) can be used to control the consistency of operators transforming a cellular partition P(A) of a manifold object A into a cellular partition P(A'} of another manifold object A'. For example, if an operator T adds a vertex V to a cellular partition of a manifold surface A, then, according to (2.9), the cellular partition of the resulting surface A' = T(A\V) must preserve the relationship x(A) = x(A')This implies that the operator T can be implemented, for example, according to one of the following procedures: • Create one new triangular face incident to an edge on the boundary of A with two new edges and one new vertex V. • Split (kill) one edge and replace it by two new edges with a common new vertex V. 10
For a definition of the notion of orientability, see pages 68 and 218.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD OBJECT
49
• Split (kill) a face with n vertices and replace it by n new triangular facets with n new edges and one new common vertex V.
Such operators preserving the Euler-Poincare characteristic are referred to as "Euler operators" in the literature [152].
2.3.6
Notion of CellView
As shown in figure (2.13), consider a cellular partition of a manifold object A consisting of two adjacent polygonal facets F\ and F% that share a common edge E, and let V\ and Vz be the two vertices corresponding to the end points (boundary) of E: • The common edge E can be viewed either as an element of the boundary of jFi or as an element of the boundary of F^; these two different views of the same object can be coded as follows:
• Each common vertex Vi (i G {1,2}) can be viewed either as an element of the boundary of the boundary E of F\ or, as an element of the boundary of the boundary E of F% as follows:
This recursive concept of a "cell viewed from another cell," also referred to as "Cell-Tuple-Structure" in the literature, was introduced by Brisson [35, 36, 37] as a key element to describe cellular partitions. This section is a general presentation of this important concept. Definitions
Let P(A) be a given cellular partition of an n-manifold object A and let v be a nonempty list of cells of P(A):
By definition, v is called a "CellView" of CQ from Cn or, more simply, a CellView, if the two following conditions11 are honored:
Moreover, the cell corresponding to the head of v is referred to as view edC ell (v):
Depending on the dimension of viewedCell(v), one can say that 11
Note that these conditions are consistent with constraints (2.2).
CHAPTER 2. CELLULAR PARTITIONS
50
Figure 2.13 An example of cellular partition P(A) of a 2-manifold object A embedded in JR2 and its associated family P-z(A) ofl-cells. The subset P(A) of the Vertex Views ofP(A) (represented as bullet-headed segments) is deduced from P(A) thanks to the algorithm presented on page 52. • v is a "VertexView" if dim(viewedCell(v)) = 0, • v is an "EdgeView" if dim(viewedCell(v)) = 1, • v is a "FaceView" if dim(viewedCell(v)) = 2, • v is a "VolumeView" or a "SolidView" if dim(viewedCell(v)) = 3, Geometric representation of a VertexView It can be observed that VertexViews are pure topological entities and, at first, it is a nonsense to speak of their geometry. In practice, however, as shown in figures (2.13), and (2.14), it is convenient to represent geometrically each VertexView v = (Co, C*i,..., Cn} as a bullet-headed segment located and oriented as follows: • the head (bullet) of v is located "infinitely" close12 to the vertex Co and represents the location of the VertexView, • the tail (segment) of v is located "infinitely" close to the edge C\ and is aligned with this edge, and • v is located inside the cell Cn. VertexView/cell incidency By definition, a VertexView w and a cell C are said to be incident if w contains the cell C:
12
In other words, any neighborhood of the vertex Co must contain the head of v.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD
OBJECT
51
Figure 2.14 Vertex View decomposition P(A) of a cellular partition P(A) of a 2-manifold object A. Note that the 2-cell F is such that E £dF and generates a pair of "twin" cells w and w.
Note that this notion of Vertex View/cell incidency is distinct but conceptually similar to the notion of cell incidency introduced on page 40: if we refer to figures (2.13), and (2.14) where VertexViews are identified to bullet-headed segments, then we can say that a VertexView and a cell are incident if they "touch" each other. Vertex View decomposition of a cell C In the remainder of this chapter, the notion of VertexView plays a central role when describing the topological relationships between the cells of a cellular partition P(A) of an n-manifold object A. It is thus of paramount importance to show how to retrieve all the VertexViews of all the cells of P(A). For this purpose, let us consider a cell C belonging to a cellular partition P(A) of an object A and let v be the CellView of C from itself: The following recursive algorithm13 may be used to "explode" this CellView into a set of VertexViews ws relative to the given cellular partition P(A}:
13
For the sake of clarity, the output argument is noted with a | sign.
52
CHAPTER 2. CELLULAR
for_all( Cell d e B(C) ) { if( d G dC ) niter <- 1 else niter <- 2 for( iter=l ; iter
PARTITIONS
inner loop
• CellView_explode( Vi,P(A),ws )
} } }
Notion of twin Vertex Views In the above algorithm, the purpose of the inner loop controlled by the predicate (d G dC} is to duplicate the CellView v^ when Ci is an "internal" cell of A that is used twice by C as a boundary. This allows cells such as those corresponding to the internal edge14 E in the left-hand side of figure (2.14) to be "exploded" in a consistent way. As a result, the above algorithm generates a pair of "twin" VertexViews noted w and w, respectively, and consisting of copies of exactly the same list of cells:
As shown in figure (2.14), the geometric representations of such twin VertexViews are assumed to be located in Cn in such a way that the shortest path between them, within Cn, crosses Cn-\. Set P(A) of the Vertex View's of a cellular partition P(A) Let P(A) be a given cellular partition of a manifold object A. By definition, the set of all the VertexViews of P(A) is noted as P(A). Figure (2.13) shows an example of such a set P(A) in the case of an object A embedded in JR2. It is always possible to use the following algorithm15 for "exploding" P(A) into a set P(A) of elementary "bricks" corresponding to VertexViews: CellPart_explode(CellPart P(A), Set
• CellView_explode( v,P(A),P(A) ) } }
It should be observed that this algorithm assumes that the cellular partition P(A) of the object A to be exploded already exists and is given. This means that 14
See also the "free edge" in figure 2.17. For the sake of clarity the output argument is noted with a | sign.
15
2.3.
CELLULAR PARTITION OF AN N-MANIFOLD OBJECT
53
• this algorithm is a descriptive algorithm showing how to deduce the set P(A) of VertexViews from a given cellular partition P(A) of an object A, and • this algorithm cannot be used to construct a cellular partition P(A) associated with a given object A from scratch. However, from a theoretical point of view, this algorithm is extremely important because it shows that any cellular partition P(A) can be recursively decomposed into a set of VertexViews whatever the object A and the dimension of the embedding space (see figure (2.13)). In other words, this algorithm shows that the topology of any cellular partition of a manifold object can be represented by a set of VertexViews plus adjacency relations that will be presented in the next section. Prom a computer science point of view, this opens the door to a unified topological model where the topological database contains only one type of object corresponding to VertexViews. In section (2.4), we will present such a topological model based on this observation and composed of: • a unique elementary data type called "Dart," consisting of an abstract representations of VertexViews, and • an algebraic structure, called "GMap," playing the role of a database and consisting of a set of Darts plus a set of operators that allow navigation from a Dart to its neighboring Darts.
2.3.7
VertexView adjacencies
This section shows how VertexViews can be used to describe adjacencies between the cells of a cellular partition P(A) of an n-manifold object A: Notion of i-adjacency between VertexViews Let us consider two VertexViews w and w' belonging to P(A):
By definition, we will say that w 6 P(A) and w' 6 P(A) are i-adjacent if they share the same n-cells for any n ^ i. In other words, we have:
With such a definition, it can be observed that twin Vertex Views (w,w), as defined on page 52, are z-adjacent for any i. Moreover, each twin VertexView w (resp. w) may be z-adjacent with a set of one or several VertexViews {w'i, w'2,.. .}[i] different from its twin w (resp. w). In such a case, to keep only one «-adjacency per twin Vertex View, it is proposed to proceed as follows: 1. cancel all the i-adjacencies of w (resp. tD); 2. restore the i-adjacency of w (resp. w) with the "closest" VertexView w'j taken in the set {u>i,u>2, • • -}[z]-
54
CHAPTER 2. CELLULAR
PARTITIONS
Figure 2.15 Vertex Views (black bullet-headed segments) of a cellular partition P(A) and associated classes of equivalences corresponding to i-adjacencies (shaded): it can be seen that, for a given VertexView w, the associated classes w*-1' depend strongly on the index i. In the above step 2, the word "closest" refers to the geometric representation of the VertexViews as defined on pages 50 and 52 and it is implicitly assumed that the path, within Cn, between two twin VertexViews sharing the cells (Co,..., Cn} never crosses the common cells {Co, • • . , C n _i}. For example, the twin VertexView w in figure (2.14) is initially 1-adjacent to each of the VertexViews {wi^w^^w}^ but only the 1-adjacency between (w,wi] is kept. Set of classes of equivalences P^ (A) As pointed out by Levy [132], the notion of i-adjacency between VertexViews allows for the introduction of a relation of i-equivalence on P(A) noted as CLi and defined as follows:
The class of z-equivalence consisting of all the VertexViews that are i-adjacent to w G P(A) is noted as iyW
while the set of all these classes of equivalence is noted as P^(A):
As shown in figure (2.15), for a given VertexViews w, the classes of ^-equivalence iuM containing w are strongly dependent on the index i.
2.3. CELLULAR PARTITION OF AN N-MANIFOLD
OBJECT
55
Figure 2.16 An example of cellular partition P(A) of a 2-manifold object A and its associated set P(A) of Vertex Views. The adjacency relationships at between Vertex Views are deduced from the classes of equivalence P^'(A).
Figure 2.17 An example of a cellular partition P(A) and its associated set of Vertex Views corresponding to a 2D geological cross section A. For the sake of clarity, the ao involutions are not drawn, while the ai and 0,2 involutions are represented by single light grey links and double bold links, respectively. Set of involutions {a^} defined on P(A) Thanks to the constraints (2.2) and the above definition of the notion of z-adjacency, it should be noted that any class w^ contains one or two Ver-
CHAPTER 2. CELLULAR PARTITIONS
56
Figure 2.18 The upper part of (A) shows the a\ and 0,2 involutions associated with Vertex Views corresponding to a pair of adjacent tetrahedra. The lower part of (A) is an exploded view of these two tetrahedra showing the as links; the ao links are not represented, while the a» links are represented by i parallel segments for i > 0. Part (B) shows an exploded view of a solid consisting of polyhedral cells where only the as involutions are represented.
texViews: As shown in figure (2.16), this suggests introducing a transformation a^ from P(A) to itself denned as follows:
For any index i > 0, the transformation o,i so defined is an involution16 called i-adjacency on P(A): From a graphical point of view, as shown in figures (2.14),(2.15), (2.16), (2.17), and (2.18), the following notations will be used: • A class of equivalence w^ = {w,w'} or, equivalently, the associated involution o^, will be represented by a dashed segment if i = 0, one solid line if i = 1, two solid lines if i — 2, and three solid lines if i = 3.
• For simplicity's sake, in the case where w^ = {w} contains only one VertexView, the associated involution will not be represented. 16
An involution is a transformation T that is equal to its own inverse: T = T l.
57
2.4. GENERALIZED MAPS
2.4
57
Generalized Maps
As previously mentioned page 45, in the geometric modeling field, the notion of Generalized Map (GMap) was introduced by Lienhardt17 in the early 1990s [134, 135, 137, 138] to provide a rigorous algebraic framework for the description of the topology of a cellular partition P(A) through its set of Vertex Views and its associated involutions {«»}. It should be noted that the notion of Generalized Map is similar and equivalent to the concept of "Cell-Tuple-Structure" independently introduced by Brisson [35, 36, 37].
2.4.1 GMap associated with a cellular partition P(A) Definition 1 Let n > 0 be a given integer and let G(D, a 0 ,0:1,..., an) be a (n + 2)-tuple such that
By definition, in the frame of this book, we will say that G(D, ao, ai,..., an) is a "Generalized Map" of dimension n or, more simply, an n-GMap or a GMap if the three following constraints are honored: 1. The involutions {ao, a i , . . . , o-n-i} do not have any fixed point on D:
2. The transformations {oti ooci+2+k} are involutions for any i > 0 and any k>0:
3. The transformations {«j oa^ +2+ fc} have no fixed point for any i > 0 and any k > 0:
Figure (2.19) shows examples of 0-GMap, 1-GMap, and 2-GMap. 17 GMaps are derived from the concept of "Combinatorial-Map" introduced by Edmonds [72] and used for modeling subdivisions of surfaces [112, 135, 221].
58
CHAPTER 2. CELLULAR PARTITIONS
Figure 2.19 Examples of (-l)-GMap, 0-GMap, 1-GMap, and 2-GMap consisting of sets of simplexes. The ao links are represented by dashed segments, the a\ links are represented by arcs of circles, and the ct? links are represented by two parallel segments.
Definition 2 For n = — 1, a ( —l)-GMap Q(D] is defined18 as a finite set D of abstract elements called Darts without any involutions defined on D:
figure (2.19) shows an example of (—l)-GMap.
Graphical representations As suggested in figures (2.19), and (2.20), the same graphical notation will be used for representing both Darts and Vertex Views or the involutions {on} and {fli}, respectively.
Examples of GMaps One can find in figures (2.19), and (2.20) some examples of n-GMaps. It should be noted that 0-GMaps look very similar to 1-GMaps, but they are different: 0-GMaps do not have 0,1 links and are modeling pairs of points while 1-GMaps represent polygonal curves. Notion of orbit and i-orbit Let C?(£>,0!o,ai, • • -,<^n) be an n-GMap and let d e D be a given Dart. We call "orbit" of d relative to {a^, a - / , . . . , a/t} and we note 18 There are notions, such as GMap of boundaries, that are derived from an n-GMap by removing some involutions. For these definitions to be consistent, (—l)-GMaps must be denned.
2.4. GENERALIZED MAPS
59
Figure 2.20 An example of cellular partition P(A) of a 2-manifold surface A associated with its 2-GMap G and with the 1-GMap dG of its boundaries.
Figure 2.21 Examples ofi-orbits (grey areas) related to a given Dart d in the case of a 2-GMap. From top to bottom of this figure, these i-orbits correspond to an abstract 0-cell, an abstract 1-cell and an abstract 2-cell incidents to the Dart d, respectively. the set of all the Darts that can be reached from d using any combination of these involutions. In other words, < Oj, C K J , . . . , &k > (•) is the group of permutations on D generated by {0:$, QJ, . . . , o^}. In particular, the set of darts corresponding to the following orbit of d is called the i-orbit of d:
For the sake of conciseness, the following equivalent notation can also be used
60
CHAPTER 2. CELLULAR PARTITIONS
to characterize the i-orbit of d:
Figure (2.21) shows some examples of «-orbits. GMap of the boundaries Let G = Q(D,aQ,ai,.. .,an) be a given n-GMap (see figures (2.20), and (2.22)). By definition, the (n - l)-GMap
is called "GMap of the boundaries" of G if D' and the {o^j's are such that
• for any Dart d G D', the involution o4-i is such that
Dual of a GMap By definition, the dual of an n-GMap G(D, QJQ, a i , . . . , an] is also an n-GMap G(D*, O!Q, ai> • • •>a n) such that
Open and closed GMap
Sewn and free Darts Let Q(D,ao,ai,.. .,cc n ) be an n-GMap and let d € D be a given Dart; by definition:
2.4.2
Cellular synthesis
The entire section (2.3) was dedicated to the decomposition of a manifold object into cells whose adjacencies where represented by a set of VertexViews and involutions. In this section we present the opposite point of view which consists in rebuilding a cellular partition P(A) from an abstract representation consisting of a GMap.
2.4. GENERALIZED
MAPS
61
Figure 2.22 Decomposition of a solid into polyhedric cells (A) represented by a GMap and its associated boundary (B) also represented by a GMap. Notion of "abstract" i-cell Comparing figures (2.15), and (2.21) allows a strong analogy between an iorbit in a GMap and a i-cell in a cellular partition to be pointed out. This suggests introducing the notion of "abstract" i-cell as follows: By definition, in a GMap G = Q(D, ao, c u i , . . . , a n ), any i-orbit of a Dart d G D is called an "abstract" i-cell of G incident to d:
Brisson-Lienhardt theorem As suggested in figure (2.20), any n-GMap G = Q(D^o.Q1a\^.. .,a n ) can be associated with a cellular partition P(A) of an n-manifold object A in such a way that • There is a one-toone mapping 0 from D to the set of VertexViews P(A):
• If {ao,..., an} are the involutions corresponding to the adjacencies defined on P(A), then, for any integer i € [0, n], the above one-to-one mapping 0 is such that
• The above one-to-one mapping 0 has (n + 1) components {>o,..., >n} such that
• The ith component
62
CHAPTER 2. CELLULAR
PARTITIONS
• The above one-to-one mappings (0o, • • •, >n-i} establish a one-to-one correspondence between the "abstract" ?-cells of dG and the "real" z-cells of (P(A) n dA). (see examples in figures (2.20), and (2.22)). This fundamental theorem is a direct consequence of the concept of abstract topological representation of a cellular partition introduced on page 44 and is, in fact, a compilation of several theorems due to Brisson and Lienhardt (see [35, 37, 138]). Interpretation of Brisson-Lienhardt theorem If we refer to the definition of isomorphism presented on page 43, one can observe that the above Brisson-Lienhardt theorem can be seen as introducing an isomorphism 0 from an "abstract" GMap (!), ao,ai,.. .,a n ) to a "real" GMap £ ( P ( A ) , a 0 , a i , . . . , a n ) :
This suggests considering the valuated graph G = (?(£), a 0 , a i , . . .,an] as a representation, in an abstract space, of the topology of a cellular partition P(A) of a real manifold object A belonging to the embedding space IRm. In such a representation: • The VertexViews associated with P(A) are the images of the Darts of D:
• The "real" i-cells of 'P(A) are the images of "abstract" ^-cells of G by the component ^ of 0 = {(/>o,..., 0n}:
According to Brisson-Lienhardt theorem, each "abstract" i-cell consists in the set of Darts whose images are the VertexViews incident to its associated real •i-cell in the embedding space Mm. Conversely, the definition of a "real" i-cell as the image by fa of an "abstract" i-cell can be considered as a "cellular synthesis." It should be noted, however, that a representation of an entity is not the entity itself. In particular, a Dart is an abstract entity that is different from a VertexView, and, from a practical point of view, this means that A Dart represents a sorted list of cells but, contrary to a Vertex View, a Dart does not consist of a sorted list of cells.
2.4.
GENERALIZED MAPS
63
Figure 2.23 An example of a pair of adjacent 2-cells whose i-embeddings are consistent for i = 0 and inconsistent for i = 1. Implementing 0 = {>o,..., >n} as a list of embeddings According to this interpretation of the Brisson-Lienhardt theorem, at any time, each "abstract" z-cell
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 embeddings 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 iembedding 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,
CHAPTER 2. CELLULAR PARTITIONS
64
Figure 2.24 Interpretation of the three constraints on a 2-GMap. in addition, for any j' > i the boundary of the j-embedding (f)j(d) &(d):
contains
It should be noted that embeddings of i-cells are always consistent in the important case where the three following conditions are honored: 1. all the cells are simplexes, 2. embeddings of vertices are given, and 3. for i > 0, the i-embedding of any i-cell is linearly interpolated from the embedding of its vertices. Figure (2.23) shows a pair of adjacent 2-cells whose 0-embeddings of their common vertices are consistent, while the 1-embeddings corresponding to their common edge are inconsistent. Constraints on GMaps As suggested in figure (2.24), the three constraints in the definition of the notion of GMap (see page 57) can easily be interpreted as follows: 1. The constraint (2.13) simply means that any Dart d mapped to a VertexView w = 4>(d} G P(A) such that
can be found only on the boundary of the n-manifold object A for i = n where n is the dimension of the GMap.
65
2.4. GENERALIZED MAPS
2. The constraint (2.14) means that Vertex Views w — (f>(d) of two adjacent cells of P(A) must be completely "sewn" by involutions along their common boundary:
3. The constraint (2.15) means that Vertex Views w = <j)(d) incident19 to a same cell of P(A) cannot generate "topological" folds:
Discrete model Mp(£li,Ni,(pi,CVi)
associated with z-cells
To any n-GMap G = G(D, 0:0, a i , . . . , an) and for any given integer i e [0, n], it is possible to associate a set 0^ and an operator Nf on Oj denned by
In other words, Nf(k) is the set of all the abstract i-cells of G "adjacent to fc" that can be reached from k in one step on G corresponding to an on involution. If we define the neighborhood Ni(k] of any i-cell k G fij as follows
then we can build a discrete model .Mp(r^, A^, ^, C^J where (pi(k) is a vector of p real values attached to the i-ce\\ k G f^ while C(fi is a set of constraints on the function
See definition (2.11).
CHAPTER 2. CELLULAR PARTITIONS
66
Figure 2.25 Examples of DSI interpolations on i-cells of a cellular partition of a surface (A) composed of polygonal facets. The interpolated property is attached to the Q-cells (vertices) in part (B), to the 1-cells (edges) in part (C) and to 2-cells (facets) in part (D). The values of the interpolated property are color coded and vary smoothly from an i-cell to its neighboring i-cells. • The 2-cells correspond to the polygonal facets themselves and the set N$(k) associated with a facet k consists of all the facets sharing an edge with k. Any set of attributes <^2 defined on these facets can be interpolated by DSI using the model A / t p (f^2, A^,
which can be used to define the ^-embedding fa (d) of any Dart d belonging to k. Such an approach is widely used in this book for modeling the components of the embeddings corresponding to the geometry and the properties of objects represented by discrete models (e.g., see chapter 6).
2.4.3
"Magnetic" interpretation of Darts
Let n be a strictly positive integer. For any n-GMap G(D, CKQ, • • -, a n ), the set of Darts D can always be split into a pair of "twin" subsets20 D+ and D~ of equal size and such that
20
It should be noted that such a division of D into two subsets is not unique.
2.4. GENERALIZED MAPS
67
Figure 2.26 Magnetic interpretation of pairs of Darts of a 2-GMap associated with a manifold object (Moebius ribbon). Black Darts correspond to positive poles of magnets, while white Darts correspond to negative poles. If the object is orientable (part A), then each Dart is linked, by cn,i involutions, but only with Darts of opposite polarity. If the object is non-orientable (part B), then some (or all) Darts may be linked with Darts having the same polarity. In this figure, for the sake of clarity, the interior of the 2-cells are represented in a transparent way. This suggests grouping the Darts into pairs (d~~, d+) interpreted as little magnets 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 properties:
68
CHAPTER 2. CELLULAR PARTITIONS
In practice, it is convenient to define the functions ^ and // , respectively, on D+ and D~ as the inverses of TT+ and TT~:
Note that these functions p,+ and /j,
are such that
Figures (2.26), and (2.27) show examples of the magnetic interpretation of Darts.
2.4.4 Orientability Surfaces play an important role in the field of geomodeling. From a practical point of view, "orientable" surfaces are the only ones that can be encountered 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 nGMap 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 example, a Moebius strip (see figure (2.26)-B). This suggests the following painting algorithm21 where the input argument D* is an empty set while d* is an arbitrary dart of D: GMap_paint( Q(D, aQ,.. .,a n ), d*, D*T ) { if(d* G D*) return D* <— £>* U {d*} for( i = l\ i
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 associated 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.
CHAPTER 2. CELLULAR
70
PARTITIONS
Figure 2.27 An example of 2-Map associated with a 2-GMap. The "magnetizer" function JJL transforms each twin Darts (d~,d + ) into a magnet m, while the "pole" functions IT~ and TT+ associate each magnet respectively with its corresponding Darts d~ and d+. The ai involutions are represented by simple links, the 0:2 and /?2 involutions are represented by double links, and the J3\ permutation is represented by oriented arcs of circles. • from a computer science point of view, a Map can be used for storing a "compressed" 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 2GMap G = Q(D, a 05 «i, ^2) introduced in section (2.4.3) and let Ai(M, /3i, $2) be the algebraic structure derived from G as follows:
Using the function p,+ = (TT + ) l denned on page 68, it is observed that the above relationships (2.30) can also be written more concisely as follows:
2.4. GENERALIZED MAPS
71
It can be noted that the functions (3\ and /?2 so denned are invertible and, in addition, /32 is an involution:
We will see below how the notion of n-Map generalizes the algebraic structure M.(M,P\,fl2) presented in this introduction. Definition Let n > 1 be a given integer and let jVf (M, f 3 \ , . . . , /3n) be a (n + l)-tuple such that22
By definition, we will say that M(M, 0i,.. .,(3n) is a "Map" of dimension n or, more simply, an n-Map or a Map if the following constraint is honored [22]: • the transformations {/5j+2+fc ° A} are involutions for any i > 1 and any k > 0 such that (i + 2 + k) < n:
A 0-Map is defined by M(M) = M. Converting an n-GMap into an n-Map The relationships (2.31) presented in the introduction to this section in the particular case of a 2-GMap can be generalized as follows for converting an n-GMap G = £(D,a 0 ,ai, • • -, an} into an n-Map G+ = M(M, fa,.. .,/?„) called "Map of the positive side" of G:
It can be checked that the functions {A} so defined are invertible and, in addition, the functions {/3j : j = 2 , . . .,n} are involutions:
22 Recall that a permutation (3 is an invertible operator for which j3(m} is called "successor" of 77i, while /3~l(m) is called "predecessor" of m.
72
CHAPTER 2. CELLULAR
PARTITIONS
Similarly, it is possible to define as follows the n-Map G = M(M, /?i,..., j3n) called the "Map of the negative side" of G:
It can be checked that the functions {&} so denned are invertible and, in addition, the functions {/3j : j = 2 , . . .,n} are involutions:
It should be observed that M is the set of magnets ra = (j,(d+,d~} obtained in reversing the polarity of the magnets of M. For example, if we refer to figure (2.27), G+ corresponds to the map on the right-hand side of the figure, while G~ corresponds to the figure obtained by reversing both the orientations of the magnets and the direction of the (3i links. Converting a connected n-GMap into a connected n-Map Converting a connected n-GMap G(D, ao, 0:1,..., an) into a connected n-Map A4 (M, /?i,...,(3 n ) can be performed in three steps23 as follows: 1. The first step consists in applying the painting algorithm presented on page 69 for building the set D+ containing half of the Darts of D: Build_£> + ( g(D,a0,...,an), £>+T ) { • choose a Dart d E D • D+ <— 0 GMap_paint( < ? ( D , a 0 , . . . , a n ) , d, D+ ) }
2. The second step consists in building M and defining the function /j,+ as a table of associations [123]: Build_M_At+( £>+, M\ ^ ) { • M<—0 • let {x, /j,+ (x)} be an empty table of associations for_all( d+ e D+ ) { • build a new magnet m • M <— M U {m} • add ((i + ,m) to the table {x,p,+ (x)} } }
3. The third step consists in building the functions {/% : i — 1,.. .,n} as follows: 23
For the sake of clarity, output arguments are noted with a | sign.
2.4.
GENERALIZED MAPS
73
Build_/3(£(L>,a 0 ,...,a n ), £>+, //+, {/31;.. .,/?n}T ) { for_all( d+ e D+ ) { • m <— /^ + (d + ) for( i — I ; i
2. The second step consists in restoring the involutions (o^ : i = 1,..., n} as follows: Build_a( M(M,/3i,...,/3 n ), TT+, a0, {ai,...,a n } T ) { for_all( m 6 M ) { • d+ <—7r+(m) • d~ •<— ao(d+) for( i = l ; « < n ; i + +) { • a.i(d+] — ao o TT+ o ^i(m) • ai(d~) = 7r + o/?- 1 (m) } } }
74
CHAPTER 2. CELLULAR
PARTITIONS
Compressing an orientable connected n-GMap It can be observed that the number of Darts of an orientable connected nGMap is twice the number of magnets of its associated n-Map. Moreover, an n-GMap contains one more operator than its associated n-Map. This clearly shows that, from a computer science point of view, n-Maps are more than twice as small as their associated orientable n-GMaps. Accordingly, as long as we have to deal with orientable n-GMaps, their associated n-Map can be considered as a "compressed" representation of the same object.
2.4.6
Operations on GMaps
So far, cells and CellViews have been introduced in a descriptive perspective where the notion of VertexView appears as the elementary entity to which an object can be decomposed. This section introduces the opposite point of view where Darts are used in a constructive perspective showing that they can be used as the kernel of a topological modeler. The basic idea consists in building a series of n-GMaps {G°, G 1 ,...} where: • G° corresponds to the empty n-GMap:
• Gk corresponds to an n-GMap
deduced from Gk~l by a "macro" transformation Tk:
At any time, each "abstract" n-GMap Gk is assumed to be mapped to a "real" n-GMap Q(Pk(Ak], 0$, a ^ , . . . , a£) = 4>(Gk] associated with a partition Pk(Ak) of an n-manifold object Ak. Micro transformations { t j } In practice, the macro transformations Tk presented above are decomposed as follows where each tj is a "micro" transformation. For example, Bertrand [22] proposes choosing the following minimal set of micro transformations {tj}: • Create an isolated Dart x and add it to the current GMap; the involutions associated with this isolated Dart x are initialized as follows:
• delete a Dart from the current GMap.
2.4. GENERALIZED MAPS
75
• Create an on involution between two Darts x and y of the current GMap in such a way that the following relationships become true:
• Delete an cti involution between two Darts x and y of the current GMap in such a way that the following relationships become true:
It should be noted that, in general, these micro transformations {tj} do not transform a GMap into a new valid GMap: they must be combined carefully to build authorized macro transformations Tk able to transform a GMap Gk~l into another valid GMap Gk honoring the constraints (2.13), (2.14), and (2.15). Orbit traversals In addition to the micro transformations presented above, for any given Dart d, there is a need for a set of traversals that allow all the Darts belonging to an orbit < a ^ , . . . , otik > (d) to be scanned. For example, these traversals are used in operations related to • The definition of a transformation tj described above and used for building a valid transformation Tk. • Geometrical queries required by geometrical algorithms such as — computing the intersection of two surfaces, — scanning the boundary of an z-cell, and — detecting the region (n-cell) containing a given point.
• Display of the embeddings of ^-cells. If we note C^+1 the number of distinct combinations < o^, a^ 2 ,..., otip > of p > 1 involutions taken in the set {ao,...,a n }, then, according to the binomial formula, it is well known that we have:
We conclude that there are (2n+1 — 1) possible traversals corresponding to all the possible orbits < a ^ , . . . , a^p > (d) of any Dart d G D. From a practical point of view, the following general algorithm can be used for traversing the orbit < CKi[i],0^2], • • ••>oti(k] > (d) and applying the operator do_it() to each traversed Dart: Orbit_traversal( Q(D,ao,.. .,an), k, i[-], d, do_it ) { • build new empty set of Darts: traversed • build new empty stack of Darts: to-traverse
76
CHAPTER 2. CELLULAR PARTITIONS • traversed <— traversed U {d} • to-traverse • push(cf) while ( to-traverse not empty ) { • d* <— to-traverse • pop() • do_it(cT) • traversed <— traversed U{d*} for( j = I • j < k ; j + + ) { if( a i [j](d*) 0 traversed ) { • to.traverse-push(oti[j](d*))
} } } }
Abstract i-cell iterators By definition, we call "abstract z-cell iterator," or more simply "i-cell iterator," any algorithm allowing exactly one, and only one, Dart per abstract i-cell24 honoring a given criterion to be scanned. Among the most frequently used i-cell iterators, the notions of global and local i-cell iterators can be mentioned: • A global z-cell iterator is used for scanning one Dart per abstract i-cell of a GMap. For example, in the case of a surface composed of adjacent polygonal facets (see figure (2.25)): — a global 2-cell iterator can be used for scanning all the facets of the surface, — a global 1-cell iterator can be used for scanning all the edges of the surface, and — a global 0-cell iterator can be used for scanning all the vertices of the surface.
• A local i-cell iterator is used for scanning one Dart per abstract icell incident25 to a given fc-cell. For example, in the case of a surface composed of adjacent polygonal facets (see figure (2.25)): — a local 2-cell iterator can be used for scanning all the facets adjacent to a given facet, — a local 2-cell iterator can be used for scanning all the facets incident to a given edge, — a local 2-cell iterator can be used for scanning all the facets incident to a given vertex, — a local 0-cell iterator can be used for scanning all the vertices incident to a given facet, and 24
Recall that, according to the definition given page 61, abstract z-cells are identified to i-orbits. 25 See definition on page 59.
2.4. GENERALIZED MAPS
77
Figure 2.28 Examples of "sewing" transformation performed on a pair ofl-cells of a 2-GMap. — a local 0-cell iterator can be used for scanning all the vertices linked by an edge to a given vertex.
2.4.7
Cell transformations
Minimal set of cell transformations {Tk} Using the micro transformations {t/} and the traversals introduced in the preceding section, it is possible to build the following set of cell operators {Tk} transforming a given n-GMap into a new, valid n-GMap honoring the constraints (2.13), (2.14), and (2.15): • create_cell(n, gm, ncell-def) creates and adds to the n-GMap gm a new n-cell whose type and associated embeddings are defined by the input argument ncelLdef; • delete_cells(n,grn, d) removes from the n-GMap gm and deletes all the i-cells currently incident26 to a given Dart d for i < n. However, if the deleted z-cells share vertices with adjacent n-cells, then the Darts corresponding to these vertices are kept in the n-GMap gm and the adjacent cells remain unchanged. As a result, a "hole" will appear in the associated object modeled by the n-GMap. • sew_cells(n,gra, do,di) sews a pair of n-cells (Co,Ci) incident respectively to a pair of given Darts (do,di) of the n-GMap gm (see figure (2.28)). Such a sewing operation is possible only if the pair of (n — 1)cells (Fo,Fi), called "faces" and incident respectively to (d 0 ,di), honor the following preconditions:
26
See definition on page 59.
78
CHAPTER 2. CELLULAR PARTITIONS These preconditions (1) and (2) specify that F0 and FI must be free boundaries of CQ and Ci, while precondition (3) allows us to define an isomorphism27 between the subcells of FQ and F\. If these preconditions are honored, then the sewing operation is performed as follows: 1. For all pairs of Darts (d'Q,d'i) incident to (Fo,Fi) do:
This operation generates a common face F resulting from the merging of FQ and F\. 2. For all i G [0,n] and for each i-cell C incident to F do: — if C has several embeddings, then discard all but one and dispatch the remaining one to each Dart incident to the new common face F.
unsew_cell(n, gm, do) unsews the (n — l)-cell F incident to a given Dart do in the n-GMap gm. This operation consists in "freeing" all the Darts incident to F and is performed as follows without any precondition: 1. Initialize:
2. For all Darts d incident to F do:
This operation generates a new (n — l)-cell F' incident to di 3. For all i € [0, n] and for each i-cell C incident to F or F' do: — if C does not have an embedding, then create one and dispatch it to the other C Darts; the value for this new embedding is copied from the previous shared embedding.
• merge_gmap(n,gm, added-gm) adds all the Darts and abstract cells of the n-GMap added-gm to the n-GMap gm. This operation is only possible if the two GMaps have the same dimension n and are embedded in the same space JRm. 27
See definition on page 44.
2.4. GENERALIZED
MAPS
79
Figure 2.29 (A) Cellular partition P(A) and subpartition P'(A) of a surface represented by thin and bold lines, respectively. (B) Nested representation of the associated GMaps G (in black and white) and G' (in black only). Darts surrounded by a grey circles in part (C) can be removed to produce a simplified version of G' represented in part (D). Extended set of cell transformations {Tk} In addition to this minimal set of transformations {Tfc}, it is convenient to add transformations built using traversals and the minimal set of cell transformations defined above; for example: • collapse_cells(n, gm, d) calls delete_cells(n, gm, d) and then performs some additional sewing operations to fill the hole thus generated. • break_cell(n,gra, i,d, eg) realizes a "radial" partition of the i-cell C incident to a given Dart d in the n-GMap gm. Such a radial partition consists in replacing the 2-cell C and all its adjacent cells by a set of new cells sharing a common new vertex whose embedding is defined by CQ. In practice, many such additional "composite" transformations can be defined as combinations of other transformations previously defined.
2.4.8
Cellular subpartition
In biological objects, cells can be gathered into subsets, called organs, which themselves can be considered as "macro cells" constituting a subpartition of the initial object. This leads to the notion of cellular subpartition introduced by Levy [132] and illustrated in figure (2.29). More precisely, for any given pair of cellular partitions P(A) and P' (A) of
80
CHAPTER 2. CELLULAR PARTITIONS
a manifold object A, P'(A) is a cellular subpartition of P(A) if:
For example, in figure (2.29)-A, thin lines represent a cellular partition P(A) of a surface A while bold lines represent a cellular subpartition P'(A] of P(A). If the cellular partition P(A) is represented by a GMap G = Cj(D,ao,.. .,an), then building a cellular subpartition P'(A) of P(A) is equivalent to splitting D into a series of subsets {.Di,..., Dw}, with each of them corresponding to a "macro" n-cell28 of P'(A) and honoring the following constraints:
It is then possible to represent P'(A) by a GMap G' = G(D', a'0,..., a'n) fully deduced from G and such that
The basic idea is to consider the GMap of the boundaries associated with the subsets {£>i,..., DN} and to link the latter by a function o!i denned as follows:
It is verifiable (see [132]) that the combinatorial structure G' so defined is actually a GMap. Figure (2.29)-B shows the GMap G corresponding to the cellular partition represented by thin lines in figure (2.29)-A, while figure (2.29)-C shows the GMap G' associated with the cellular subpartition represented by bold lines in figure (2.29)-A. Simplifying a cellular subpartition It is always possible to simplify the boundaries of the macro n-cells of a cellular subpartition by replacing a series of Darts by one or two "macro Darts." For example, in figure (2.29)-C, each series of Darts surrounded by a grey circles can be replaced by one or two macro Darts represented in figure (2.29)-D. 28 For example, in figure (2.29), such a "macro" n-cell corresponds to a set of triangles bounded by a bold line.
2.5. IMPLEMENTING GMAP-BASED MODELS
81
Figure 2.30 (A) Horizon and fault surfaces corresponding to the boundaries between geological layers: the union of all these (2-manifold) surfaces generates a non-manifold object that cannot be represented by a GMap. (B) The volume denned as a partition of the 3D space generated by the horizon and fault surfaces (2-Dividing-Walls) is a 3-manifold object that can be represented by a 3-GMap.
2.5
Implementing GMap-based models
So far, the notion of GMap has been considered as a theoretical framework allowing the topology of cellular partitions of manifold objects to be described. It must be noted, however, that Darts and involutions used in GMaps are very basic notions that are far from geological concepts such as horizons and layers. For this reason, if we want to implement a topological model based on GMaps, we need to consider two levels of concepts: • a "basic" level (see section (2.5.2)) corresponding to the implementation of the notions of Darts, involutions and GMap, and • an "advanced" level (see section (2.5.3)) corresponding more directly to geological objects. From a practical point of view, there are many different possible implementations of these two levels of concepts; as an example, in this section the outlines of the implementation used in the gOcad software are presented.
2.5.1 Introduction In practice, the modeling of an object A* can be considered from two points of view: • either we try to model the object A* itself and this leads to "Boolean" or "Brep" approaches [183], • or we consider the elements of A* as contributing to the partition P(A) of a manifold object A containing A* which leads to the notion of cellular model. Within the framework of section (2.5), we will see how GMaps can be actually used for building cellular models in a hierarchical way. In the proposed approach, as suggested in figures (2.17), and (2.30), let it be assumed that
82
CHAPTER 2. CELLULAR PARTITIONS • the manifold object A to be partitioned, called the "universe," is identical to the whole space lRn+l: • the object A* to be modeled is fully contained in the universe A and consists of a series of elements {Wi,..., WN} called "dividing walls," that correspond o o to n-manifolds objects whose interiors { W I , - - - , W N } do not intersect each other:
• isolated objects with a topological dimension lower than n do not contribute to the partition "P(A), but can be added to the model as "decoration" elements. It should be noted that decoration elements could also be included in the topological model. For this purpose, instead of considering a model as a GMap, it would be necessary to consider a model as composed of a "chain" of GMaps {G^, G^ 2 ,...}. In such a model, each G3n. could then be considered as an "extended" nj-GMap [73] with the following form
where a is a set of permutations allowing "navigation" from a Dart in the Tij-GMap G3n. to Darts of an adjacent GMap. As already mentioned, in the realm of geomodeling such an extension is not really necessary and will not be presented in this book.
A geological example of a 3D cellular model As suggested in figures (2.1), (2.30), and (2.34), if A* consists of geological horizons and fault surfaces [155, 69], then: • the universe A is the whole 3D space, or a part of the 3D space, bounded by a bounding box, which constitutes the (n + 1 = 3)-dimensional object to be split by the elements of A*, • dividing walls correspond to horizons and faults (dim= n = 2), and • decoration elements may correspond, for example, to well-paths (dim= n — 1 = 1) or scattered data points (dim= n — 2 = 0).
A geological example of a 2D cellular model As suggested in figures (2.2), and (2.17), if A* consists of a set of curves corresponding to the intersections of the horizons and faults with a finite or infinite open surface29 X, called "cross section" [155], then: • the universe A is identical to X and constitutes the (n + 1 = 2)-dimensional object to be split by the elements of A*, • dividing walls correspond to curves (dim= n = 1) induced by the intersections of horizons and fault surfaces with the cross section X, and 29
Note that X may be a plane or a curved surface that does not self-intersect.
2.5.
IMPLEMENTING GMAP-BASED MODELS
83
• decoration elements may correspond, for example, to scattered data points (dim=n- 1 = 0). Notion of virtual Darts When constructing a brass statue, it is always necessary to build small tubes connecting the exterior to the interior of the mold into which the melt metal is poured. Once the statue is completed, the metallic parts (barbs) generated by these small tubes are removed to preserve the aesthetic aspect of the statue. Similarly, as shown in figure (2.17), GMaps may need "unaesthetic small tubes" in the following two cases: • in the connections between the object A* to be modeled and the boundary of the universe A, and • in the connections between a dividing wall30 not connected to other dividing walls. The cells corresponding to these connections and, more generally, any cell considered of no use, can be declared "virtual." The Darts incident to these virtual cells are called "virtual Darts" and do not need to have an embedding. In practice, the virtual cells and their associated virtual Darts are not displayed in graphical applications.
2.5.2
Basic level: GMaps
From a computer science point of view, the notion of GMap can be implemented in many different ways and the complete description of such implementations is far beyond the scope of this book. In this section, we merely give the outlines of a possible implementation based on the C++ language:31 Notion of Store For the sake of clarity, in the rest of this section, we will call "Store" any C++ class with the following prototype: class StuffStore { Stuff create_stuff(); void destroy_stuff( Stuff s ); Stuff get_stuff( Gid gid ); Gid get_gid( Stuff s ); private: //— info related to a database // for Stuff objects
} 30
In geology, this is the case, for example, when a lens (internal region) is fully contained in a layer (external region). 31 In practice, for efficiency reasons, a real implementation of Darts and GMaps should be quite different and much more complex, but conceptually close to the simplified presentation proposed in this section.
84
CHAPTER 2. CELLULAR PARTITIONS
Such a class is assumed to implement an interface with a database for objects belonging to the Stuff class, and the member functions offer the following services: • create-stuff(
) is assumed to
— create a new Stuff object, — if needed, store the new Stuff object in the StuffStore, and — return the new Stuff object.
• destroy-Stuff(s) is assumed to remove the Stuff object s from the StuffStore and then, if need be, delete it. • get-stuff(gid) is assumed to return the Stuff object, contained in the database and associated with the key gid belonging to the Gid abstract class (Gid is an acronym for Generalized-identifier). • get-gid(s) is assumed to return the Gid of the object s contained in the database. A naive implementation of GMaps Prom a conceptual point of view, the Darts of an n-GMap could be represented as the following recursive data structure: class Dart {
private: // n = dim of the GMap Dart *alpha_[n+1]; Gid embedding_[n+l]; Boolean mark_[32]; }
Assuming that n < 30 is the dimension32 of the associated n-GMap, the private fields of such a data structure hold the following information where the index i is assumed to belong to [0,n]: • alpha ..[i] is the address of the Dart linked to the current Dart by an c^ involution. • embedding-[i] is the Gid corresponding to a key enabling retrieval of the i-embedding of the current Dart in the database assumed to be implemented as an instance of the EmbeddingStore class. • raar/c_[32] is an array of 32 bits used to mark the Darts: — the (n + 1) first entries marfc_[0] to mark-[n] are reserved for storing flags in such a way that mark^i] — true means that the current Dart is marked as an "i-cell-key" used by the CellManager (see explanation below), 32 Note that this is simply a practical programming assumption, allowing the array _marfc[32] to be implemented as a 32-bit word.
2.5. IMPLEMENTING GMAP-BASED MODELS
85
— the entry mark-[n + I] is equal to true if the current Dart is virtual, and — the (32 — (n + 2)) remaining entries of mark-[-] can be used dynamically for storing temporary flags in algorithms using Darts (z-orbit traversal, i-cell iterator, ...).
Theoretically, to ensure the consistency of the embeddings (see section (2.4.2)), all the Darts of an z-orbit should have the same Gid stored in their respective embedding_[i] private buffers. To guarantee that such a property is always true, each instance of the GMap class contains an instance of the CellManager class that uses the following strategy when applied to a given Dart of the GMap: • If there is only one i-cell-key Dart in the i-orbit of the current Dart managed by the CellManager, then do nothing. • If there are more than one z-cell-key Darts in the z-orbit of the current Dart managed by the CellManager, then choose one i-cell-key Dart in the z-orbit and: — set the flag mark-[i] of all the others Darts of the i-orbit to false, and — find the Gid of the embedding of the z-cell-key Dart of the i-orbit and assign its value to the field embedding-[i] of all the Darts of the z-orbit.
As a consequence, from a conceptual point of view, the implementation of an n-GMap associated with such a Dart data structure should look like the following: class GMap { // n = dim of the GMap public: GMap( int n );
private: int n_; // n_=n Set
}
In this data structure, the BoolMarkManager class is assumed to be in charge of the management of the (32 — (n + 2)) last bits of the flags stored in the mark[-] array of the Darts. In particular, the BoolMarkManager provides a mechanism preventing the situation where two different algorithms might try to use the same bit at the same time.
2.5.3
Advanced level: Notion of Model
In geomodeling applications, users want to build easily partitions of the 3D space corresponding, for example, to geological layers and fault blocks. As
86
CHAPTER 2. CELLULAR PARTITIONS
figures (2.30), and (2.32) show, during the modeling process, 2-manifold surfaces corresponding to horizons and faults are built and then assembled: such an assembling operation generates non-manifold configurations similar to the binding of the pages of a book that cannot be directly represented by a GMap. As suggested in figure (2.30), rather than trying to model the non-manifold topological relationships between a set of surfaces {Wi,..., WN} directly, it is more relevant to consider a cellular partition P(1R3} of the 3D space honoring the following constraint:33
Any cellular partition P(1R ) so generated can be represented by a 3-GMap. Similarly and as illustrated in figure (2.17), a set of 1-manifold curves in the 2D space can be assembled in a non-manifold way to build a partition of this 2D space. More generally, the technique of partitioning the IRn+l space by a series of n-manifold objects whose union is non-manifold is the solution proposed by Levy [132] and presented in this section for implementing advanced level concepts such as the notions of Model, Region, Frame and Edge. In practice, these concepts should be translated in terms of data structures not described in this book. Notions of Dividing-Wall, Frame, and Edge By definition, any orientable n-manifold object W embedded in the Mn+l space is called an n-Dividing-Wall of Mn+l or, more simply, a DividingWall. Moreover, for any cellular partition P(lRn+l) honoring the following constraint,34
we will say that • the (n+l)-GMap F(W) = Q(D~\JD^,o^,.. .,a£+i) associated with P(Mn+1) is a Frame of W, and • the (n - l)-cells of F(W] are the Edges of F(W). Note that, due to the orientability of W and as explained on page 71, the set of Darts belonging to the GMap F(W) can always be split into twin sets Dp and D~p such that
This allows the notions of positive side F+(W) and negative side F~(W) of the Frame F(W) to be defined as the following twin isomorphic (n — 1)33
Recall that Pi(A) is the set of i-cells of P(A). Note that we are interested only in vertices contributing to the description of the boundary of W.
2.5. IMPLEMENTING GMAP-BASED MODELS
87
Figure 2.31 In a Model, each n-Dividing-Wall W generates a cellular partition P(]Rn+l) of the embedding space and is associated with a "Frame" F = F(W] consisting of an (n + l)-GMap of this partition. Such a Frame F = F(W) delegates the responsibility for its embedding to a Lattice L(W) whose cellular partition is in turn associated with an n-GMap. GMaps:
According to equations (2.41)-2, it is clear that both F+(W) and F (W) can be identified with GMaps of the boundary of W. An illustration of the notions of Dividing-Wall, Frame, and Edge can be found in figure (2.31). Figure (2.36) shows a wireframe representation of the Frames associated with the Dividing-Walls presented in figure (2.34). Delegation of embedding: Notion of Lattice Let W be an n-Dividing-Wall. For any cellular partition P(W) of W, the associated n-GMap is called a Lattice of W. Let us now consider the (n— l)-GMap dL(W) of the boundary35 of L(W) and let dL'(W) be the (n—l)-GMap corresponding to a given cellular subpartition36 of this boundary: 35 See 36
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 contributing 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 common edge are modeled by 0:3 and 0:3 involutions. Each oti involution is represented by i parallel segments (Q>Q are not shown). The Darts belonging to free edges are characterized by 0:3 (of) = 0:2(d), and, in this case, only as links are represented.
It can be observed that, the cellular partition P(Mn+1) associated with the Frame F(W) of W can always be chosen in such a way that • F+(W) is isomorphic to dL'(W) • F~(W) is isomorphic to 8L'(W) In other words, as figure (2.31) shows and as suggested by Levy [132], it is always possible to define a function crFL associating each Dart d G (D~p(jDj,} of the frame F(W) with a Dart d € D'L of the "simplified" version dL'(W) of the boundary of L(W):
In a certain sense, it can be said that this function aFL allows a Frame to "delegate" its embedding to a Lattice. Notions of Model and Region Let {Wi,..., WN} be a set of n-Dividing-Walls embedded in the JRn+1 space such that By definition, for any cellular partition P(]Rn+l} honoring the following constraints
we will say that
2.5. IMPLEMENTING GMAP-BASED MODELS
89
Figure 2.33 Examples of "gluing" operations performed on two pairs of Frames associated with 2-Dividing-Walls and 3-Dividing-Walls, respectively. • the (n + l)-GMap M(Wi,..., WN) = G(D, ao,..., an+i) associated with the cellular partition P(JRn+l) is a Model of {Wi,..., WN}, and the dimension of this Model is defined as being equal to (n + I):
• the (n + l)-cells of M(Wi,..., WN) are the "Regions" of M(Wi,..., WN). An illustration of these notions of Dividing-Walls, Model, and Regions can be found in figure (2.30).
2.5.4
Operations on a Model
If our purpose is to build 3D or 2D geological models such as those represented in figures (2.1), and (2.2) interactively, then we need to have a tool for "gluing" a free Edge of an n-Dividing-Wall (horizon or fault) to an Edge of another nDividing-Wall. As shown in figures (2.32), and (2.17), from a topological point of view, these n-Dividing-Walls are represented in the lRn+ embedding space by their Frames, and the gluing operation corresponds to the installation of an links between the Edges of these Frames (see figures (2.32), and (2.33)). In this section, we present this fundamental operation and its inverse, with other lesser operations - all very useful in practical applications.
90
CHAPTER 2. CELLULAR PARTITIONS
Gluing and ungluing Frames The most important operations on a Model are gluing and ungluing of Frames associated with n-Dividing-Walls; as suggested in figures (2.32), and (2.33): • glue_frames(m, do,di) glues, in a "non-manifold" way, a Frame FQ of the Model m "between" two adjacent Frames {Fi,F%} of ra. If we note
the dimension of the Dividing-Walls of m, then the Frames FQ, F\ and F-2 are assumed to contain, respectively, the Darts (do, ^1,^2), such that
The gluing operation consists of "inserting" FQ "between" (Fi,F 2 ) very like a new page between two existing pages of a book. Such gluing is performed along a common "edge" E\<2 shared by (F\,F<2) and an edge EQ of FQ such that — Ei2 is the (n — l)-cell incident to d\ and cfo, and — EQ is the (n — l)-cell incident to do.
This gluing operation is only possible if do honors the following precondition, specifying that do is free:37
If this precondition is honored, then the gluing operation is performed as follows: 1. Discard (do not remove) the embeddings of all the z-cells incident to do for i < (n — 1). 2. Add din involutions between the pairs of Darts (do,di) and the pair of Darts (a^ +1 (d 0 ),d 2 ). 3. Add all the ctf involutions between the Darts necessary to honor the constraints (2.13), (2.14), and (2.15). 4. For any Dart <5i belonging to the (n — l)-cell containing do, assign the same embedding as do to 6\.
It should be noted that — Starting the gluing operation by linking the two pairs of given Darts (do,di) and (a^ +1 (do),d2) by an a^ involutions fully defines the "direction" of the gluing. 37 If a^(do) and an ° &n+i(do) belong to the same virtual cell, then do should also be considered as free. In practice, the gluing operation must be slightly modified to take care of this special case.
2.5. IMPLEMENTING GMAP-BASED MODELS
91
— It is always possible to have d<2 = o£ + i(di). In this case, F\ = F<2 and the gluing operation is very similar to a sewing operation except that we are "sewing" two Frames, FQ and FI = F?.
• unglue_frame(m, d) unglues the Frame F incident to a given Dart d in the Model m. If we note the dimension of the Dividing-Walls of m, then this operation is performed without any preconditions, as follows: 1. Restore an a^ involution between the two Darts d and o;^+1(d). 2. For all the Darts that were initially contained in the same (n — l)-cell as d. add all the a^+i involutions necessary to honor the constraints (2.13), (2.14) and (2.15).
It should be noted that the glue-frames () and imglue_frame() operations are not neutral relative to the regions of the model: 1. glue_frames(m, do, d\) can kill a region containing the Dividing-Walls associated with the Frames to be glued and replace it by two new regions located on both sides of these Frames. 2. unglue_frame(m, d) can kill the two regions located on both sides of the Dividing-Walls associated with the Frames to be unglued and replace them by a new region resulting from the union of the two killed regions.
This means that, as a side effect, these two operations may modify the list of regions associated with the Model m. Other operations Among the many other operations that can be defined on an n-Model, we can mention: • Addition of a new Frame to a Model. This allows the number of "DividingWalls" contributing to the partition of the object associated with the Model to be modified incrementally. • Removal of an existing Frame from a Model. As a side effect, this operation can modify the model's list of regions. • Retrieving the region of a Model containing a given point. • Retrieving all the Frames of a Model surrounding a given region. • Cutting the cells of a Model by a new n-Dividing-Wall.
Comment about virtual cells As shown in figure (2.17), we have been led to introduce "virtual" cells in Models to take into account the case where a region is fully included in another region. We have already mentioned that the virtual cells do not need to have embeddings, and this is relevant as long as we do not perform a cut operation of a Model by a new Dividing-Wall. For example, if we want to cut the cells of the two-dimensional Model shown in figure (2.17) by a curve (1-DividingWall) intersecting the virtual 1-cell, then
92
CHAPTER 2. CELLULAR PARTITIONS
• we actually must know the embedding of the virtual cell, and • the virtual cell has to be partitioned to take into account its points of intersection with the cutting curve. Such an approach is too heavy and ineffective. A better approach consists of maintaining a tree that describes the inclusion relationships of the regions within the Model and proceeding as follows: 1. "Prepare" the Model to be cut by removing all the virtual cells. 2. Perform the cut operation. 3. Use the inclusion relationships between the new regions for installing new virtual cells connecting the boundary of a region to the boundary of each of its subregions. Note that operation (1) temporarily transforms the GMap corresponding to the Model into a graph that is not a GMap, but, from a practical point of view, this does not matter. Note also that the operation (3) is also in charge of re-establishing the Model in a state compatible with the definition of the notion of GMap.
Incremental construction of a Model In practice, the operations presented above are used for the incremental building of a Model as follows: 1. Create an empty (n + 1} dimensional Model M = M(0). 2. Create a Lattice L(W] corresponding to a cellular partition P(W) of a n-Dividing-Wall W. For this purpose it is possible to proceed as follows: (a) create an empty n-GMap L(W), (b) use the micro transformations {tj} or the create_cell() macro transformation described on pages 74 and 77 for building isolated n-cells and add them to L(W), and (c) if needed, use the sew operator described on page 77 to weld some n-cells of L(W}. 3. Create a Frame F(W] such that L(W) is a Lattice of F(W} and add W to the current Model M. 4. If necessary, repeat operations (2) and (3) for a series of n-DividingWalls {Wi,..., WN} leading to M = M(W^..., WN). 5. If necessary, use the glue operator to weld some Dividing-Walls of the Model M(Wi,...,WN). As can be seen, in this approach, the "sew" and "glue" operators perform complementary roles: • The sew operator is used to weld a pair of n-cells of a Lattice. • The glue operator is used to weld a pair of Frames.
2.6. CONCLUSIONS
93
Figure 2.34 Solid view showing an example of 3D subsurface model where the regions are bounded by Dividing-Walls corresponding to horizons and faults. Some regions have been removed to see the internal structures. (Data courtesy of Elf)
Figure 2.35 Exploded view showing the same example of 3D subsurface model as the one presented in figure (2.34). Some regions have been removed to see the internal structures.
2.6
Conclusions
Theoretical point of view According to Lienhardt [138], the main reasons for using GMaps as the basis of a topological/geometrical modeler are simplicity and rigor: • Simplicity. The definition of the notion of n-GMap is based on:
94 94
CHAPTER 2. CELLULAR PARTITIONS
Figure 2.36 Wireframe representation of the Frames of the Dividing-Walls corresponding to the 3D subsurface model presented in figure (2.34). one single data type: the Dart, and — one single type of operator: the involution. • Rigor. It is well known that controlling the construction of a geometric object and avoiding topological inconsistencies are key issues in geometric modeling. At any time, the topological properties of a cellular partition P(A) of an n-manifold object A can be algebraically computed and controlled on the associated "abstract" n-GMap. This can be extremely useful during the construction process, since it enables us to predict the result of transformations. As a consequence, it is possible to control a priori [138] the consistency of these transformations. From a programming point of view [23], these two properties of GMaps make them an excellent choice for developing a topological/geometrical modeler: • The source code of a modeler based on the notion of GMap can be extremely concise: for example, the kernel of the modeler implemented in the gOcad software comprises less than 1500 lines of C++ source code [132, 52]. • Response time is comparable with those of commercial products with similar features [23] and may be even better. For example, the main operations, particularly the traversals, have a time complexity of O(\D\), where \D\ is the number of Darts. This is not the case for many commercial modelers who often take O(\D\2) due to their lack of directly accessible topological data. • Other classic data structures, such as those derived from the well-known "winged edge" [16, 17, 152] or "radial edge" [228], often take up comparable memory space for a more restricted modeling area. • Due to the algebraic nature of the notion of GMap, it is possible to test the consistency of the software by Algebraic Specification techniques [23]. Such an approach is impossible with models based primarily on data structures rather than on algebraic properties.
2.6. CONCLUSIONS
95
Practical point of view For software developers, the following strengths of GMaps can be mentioned: • There are only two main concepts to understand: Darts and involutions. • There is a clear uncoupling of — the topology from attributes, and — the dimension of the objects from the dimension of the embedding space. • Last but not least, from a programming point of view it is possible to define a concise Application Programming Interface (API) based on the GMaps mathematical model. For geologists, GMaps provide a consistent framework to decompose the subsurface into homogeneous regions corresponding to 3-cells. In practice, as suggested in figures (2.1), (2.34), (2.35), and (2.36), the most natural partition consists of identifying these regions with the layers and fault blocks.
This page intentionally left blank
Chapter
3 Tessellations In computational geometry, "tessellation" refers to any method allowing the partitioning of a polyhedral n-dimensional object into a set of adjacent polyhedral 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 important 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
CHAPTER 3. TESSELLATIONS
98
Figure 3.1 An example of a 2-dimensional Voronoi's diagram (in white) and its associated Delaunay triangulation (in black). The Voronoi regions are represented in light grey. The Delaunay points are represented by black points, while the Voronoi points are represented by white points. Within the framework of this book, a brief summary of a couple of tessellation methods of particular interest in numerical geology will be given: • First, the Delaunay's tessellation method, which is the most commonly used technique for decomposing an n-dimensional object into a set of adjacent nsimplexes, will be presented without a proof. • Next, the important problem of building a triangulated surface denned by its bordering curves will be addressed. • Decompositions based on regular and irregular curvilinear grids that are particularly useful for modeling stratified media will also be presented. • Finally, the modeling of surfaces represented by an implicit equation sampled at the nodes of a 3D grid will be presented briefly.
3.2
Delaunay's tessellation
The decomposition of polygonal regions of the 2D plane into sets of adjacent triangles was studied in the first half of the 20th century by Voronoi [223] and Delaunay [56]. Nowadays, these pioneering works are at the origin of an important part of computational geometry. In this section, we will see how such decompositions can be generalized, and we will give some hints as to their implementation. 3.2.1
Definitions
Notion of the dual of a graph By definition, the dual of an n-dimensional graph Qn is an n-dimensional graph £/* such that any ^-cell C E Qn is associated with one, and only one,
3.2. DELAUNAY'S TESSELLATION
99
It can be observed that this definition is symmetrical and this means that the dual of the dual (Q^Y *s identical to Qn: For example, figure (3.1) shows, in bold, a 2-dimensional graph £2 with its dual C/2 represented in white. It can be observed that • each 2-cell (region) r £ £2 is associated with a 0-cell (vertex) v* 6 Q^, • each 1-cell (edge) e € Qi is associated with a 1-cell (edge) e* (E Q^
an
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 relationships with the dual Q\ can be extended as follows: • each 3-cell (region) r € Qs is associated with a 0-cell (vertex) v* e £3, • each 2-cell (face) / e £3 is associated with a 1-cell (edge) e* e £3, • each 1-cell (edge) e 6 (?3 is associated with a 2-cell (face) /* e £3, and • each 0-cell (vertex) v € ^3 is associated with a 3-cell (region) r* G £3.
Notion of Voronoi's diagram and Delaunay's tessellation Let P = {p 1 ,...,p m } be a set of m distinct points in the n-dimensional Euclidean space Mn. By definition: • We note as V(pi) and call it the Voronoi region of p^ 6 P, the n-cell of IRn consisting of all the points x that are closest to pi than any other point of P:
As shown in the shaded area of figure (3.1), each n-cell V(pi) is a polyhedral cell containing the point p^. • We note as VT>(P] and call it the Voronoi diagram of P, the set of points of Mn that do not belong to any Voronoi region V(pi):
As shown in figure (3.1), Voronoi's diagram consists of an n-dimensional graph (in white) corresponding to the union of the boundaries of the Voronoi regions. • We note as V(P) and call it the Voronoi tessellation of P, the set of all the Voronoi regions that one can build on P.
CHAPTER 3. TESSELLATIONS
100
Figure 3.2 An example of a 2-dimensional Delaunay triangulation (in black): the circumcircle (in white) of any Delaunay triangle does not contain any other vertex.
• We note as <S(p0, Pi, • • •, pn) and call it the circumsphere of a (n + 1)uplet (pcuPi, • • -)P n )' the closed ball of lRn whose boundary contains the points (p 0 ,Pi, • •-,pj. • We note as T(p 0 ,p 1 ,.. .,p n ) and call it the Delaunay triangle1 of the set P, any n-simplex whose vertices (p 0 ,p 1 ,..., p n ) belong to P and whose circumsphere <S(po,Pi> • • ->P n ) does not contain any point of P in its interior. • We note as T>(P) and call it Delaunay's tessellation of P, the set of all the Delaunay triangles that one can build on P. 3.2.2
Properties
Delaunay theorem The Delaunay's tessellation T>(P) can be identified with the dual V*(P) of the Voronoi tessellation V(P):
This theorem was proven in 1934 by Delaunay in the particular case n = 2 where the 2-simplexes are actual triangles. For a proof of the general case, the reader is referred, for example, to [169]. One can see in figure (3.1) an example of Delaunay's tessellation (in bold) in the particular case where n = 2. 1
Note that a Delaunay triangle is a real triangle only in the particular case where n = 2. In the case where n = 1, a Delaunay triangle is actually a segment, and in the case where n = 3, a Delaunay triangle is a tetrahedron.
3.2. DELAUNAY'S TESSELLATION
101
Properties of a Voronoi's diagram V(P) (VI) Each Voronoi region V(pi) is convex. (V2) A Voronoi region V(pi) is an unbounded part of ]Rn if and only if p^ is on the convex hull of P. (V3) The Voronoi tessellation V(P} is a finite cellular partition of lRn. (V4) If q is the node of the Voronoi's diagram VD(P] located at the junction of (n + 1) Voronoi regions F(p0), I^(PI), • •., V(p n ), then q is the center of the circumsphere <S(p0, p l 5 . . . , p n ) and this circumsphere does not contain any other point of P. Properties of a Delaunay's tessellation T>(P] (Dl) The Delaunay's tessellation T>(P] can be identified with the dual V*(P) of the associated Voronoi tessellation (Delaunay theorem). (D2) The boundary of the Delaunay's tessellation 'D(P) is the convex hull of the point set P. (D3) The Delaunay's tessellation T)(P) is a finite cellular partition of the interior of the convex hull of the point set P. (D4) In the 2-dimensional case (n = 2), the Delaunay's tessellation T>(P] is the triangulation of the interior of the convex hull of the point set P that maximizes the smallest angle of each triangle. (D5) A tessellation made up of n-dimensional simplexes whose vertices consist of a set of points P is a Delaunay's tessellation T>(P) if, and only if, the circumsphere of any n-simplex T G T>(P] contains no vertex of P other than the vertices of T (see figure (3.2)). The above property (D4) explains why, in 2-dimensions, Delaunay triangulations tend to generate "nice" triangles close to equilateral triangles. This is particularly important for finite element methods which use these triangles and whose numerical stability depends on the shape of these elements. Granularity of a Delaunay's tessellation T)(P} For n > 2, the property (D4) is no longer applicable, but one can observe that the Delaunay's tessellation still produces "nice" triangulations. It is only in 1989 that Raj an [178] found the following property, called the "property of granularity," which in a way generalizes and extends the above property (D4): • let A(P) be a set of adjacent n-simplexes generating a cellular partition of the interior of the convex hull of the point set P, • let s(T) be the smallest sphere containing the n-simplex T, and
CHAPTER 3.
102
TESSELLATIONS
Figure 3.3 Mean steps of the insertion of a new point p in the Bowyer-Watson Delaunay's tessellation algorithm in the 2-dimensional case: (1) A new point p is inserted in a triangle. (2) The triangle t containing the new point is retreived. (3) The set Af(t\p) of all the triangles to be removed is determined. (4) The cavity A/"(£|p) is filled with new Delaunay triangles. • let Grain(A(P)) be the radius of the largest sphere s(T) associated with the simplexes of A(P):
Rajan's granularity property guarantees that the Delaunay's tessellation T>(P) is optimal in the following sense:
3.2.3
An incremental algorithm
Many algorithms have been proposed in the literature for building Delaunay tessellations. In this section we present an incremental algorithm independently proposed by Bowyer [33] and Watson [226] that has the following advantages: • This algorithm is independent of the dimension n of the simplexes being built. • The implementation of this algorithm is simple. • This algorithm can be used for editing an existing Delaunay's tessellation by inserting new points.
3.2. DELAUNAY'S TESSELLATION
103
Bowyer-Watson incremental algorithm Let us assume that a Delaunay's tessellation V(P] is already known for a given point set P and we would like to add a new point p to P and build a new Delaunay's tessellation T>(P(J{p}). In this case, Bowyer and Watson propose using the following incremental algorithm whose principle is illustrated in figure (3.3): //— Bowyer-Watson algorithm^! • Find the n-simplex t G T)(P} containing p • Build the subset A/"(i|p) consisting of all the n-simplexes of T)(P] whose circumsphere contains p in its interior • Build the subset M*(t\p) consisting of the set of all the n-simplexes corresponding to a new partition of the region N(t\p) by n-simplexes sharing the vertex p • Build D(PU{p}) = T>(P) - N(t\p) + N*(t\p) Two comments must be made about this algorithm: • If a light spot is put at location p, then one can show that all the vertices of cW(£|p) are "lit up." As a consequence, jV*(£|p) consists of all the n-simplexes having p as a vertex whose opposite "face" is a (n — l)-simplexes of cW(t|p). • The determination of the n-simplex t containing a point p can be performed efficiently thanks to the following algorithm (see figure (3.3) - top right) which takes advantage of the orientation of the "faces" ((n — 1)simplexes) of each n-simplex t £ *D(P}\ //— Bowyer-Watson algorithni#2 • t <— any n-simplex of T>(P) • found <— false while ( found ! = true ) { for_all( face / of t ) { • let pj be the vertex of t opposite to / if( p and pf are on two sides of / ) { • t <— simplex adjacent to t and sharing / with t • found «— true • go to newJ, } else { • found <— false }//- end: if_else } //- end: for_all newJ, } //- end: while The Bowyer-Watson algorithm #1 can easily be turned into an algorithm able to build the Delaunay's tessellation T>(P) of any point set P. For this purpose, the following algorithm can be used:
CHAPTER 3. TESSELLATIONS
104
Figure 3.4 Constrained 2-dimensional tessellation: principle of the "edge swap" algorithm. //— Bowyer-Watson algorithm's • Let To be an initial n-simplex chosen in such a way that it contains all the points of P • Let PQ be the point set consisting of the (n + 1) vertices of TO • Let X>(Po) = To for_all(p€P) {
• Use the Bowyer-Watson algorithm #1:
} // end: for_all • Let £>(Po;Tb) be the subset of £>(Po) consisting of all the n-simplexes sharing a vertex with TO • Build P(P) = £>(P0) - £>(Po;T0)
The Delaunay constrained tessellation: 2-dimensional case Let P be a given set of points in the 2D plane and let 8 be a set of segments such that the vertices of any segment e E € belong to P; in addition, we assume that the segments of £ do not cross each other. By definition, we note as T>(P\£] and call it "Delaunay's tessellation of P constrained by £," any set of adjacent triangles deduced from V(P) in such a way that any segment e G £ is the edge of at least one triangle of T>(P\£). Before presenting an algorithm able to construct T>(P\£) from T)(P), let us define the "edge swap" operation as follows: if two adjacent triangles T(p 0 ,Pi, P 2 ) and T(PQ, p l 5 p 2 ) share a common edge (p l 5 p 2 ), then this edge is said to be "swapped" if the two initial triangles are replaced by two new triangles T(pl, P0, Po,) and T(p2, p0, pj$,). Using this "edge swap" operation, Cherfils and Hermeline [44] have shown that the following very simple "edge swap algorithm," illustrated in figure
3.2.
DELAUNAY'S TESSELLATION
105
Figure 3.5 Constrained 2-dimensional Delaunay's tessellation of the interior of a close curve, without internal points (left) and with internal points (right).
(3.4), converges and iteratively transforms a triangulation T>(P] into a constrained triangulation T>(P\£] respecting the segments of £: If— Edge swap algorithm (2D case) • V(P\£] <— T>(P) • ok <— false while ( ok ! = true ) { • ok <— true for_all( segment e E £ ) { let £* be the current set of the edges of the triangles of T>(P\£] that intersect e if(£V0) { • ok *— false for_all( e* € £ * ) { • swap the edge e* and update T>(P\£) } //- end: for_all } //- end: if } //- end: for_all } //- end: while
The planar closed curve Delaunay's tessellation As a consequence of the edge swap algorithm presented above, if the segments of £ constitute a planar closed curve and if P is a given point set, then, as shown in figure (3.5), it is easy to build a triangulation filling the interior of this curve: for that purpose, we have only to build a constrained tessellation T>(P\£) and then to remove all the triangles that have a center of gravity outside the closed curve generated by £. As suggested by figure (3.5), one can easily imagine the following algorithm for inserting dynamically points in P at select locations to improve the quality of the tessellation:
106
CHAPTER 3.
TESSELLATIONS
Figure 3.6 Switching a face of tetrahedra f with an edge e replaces the two tetrahedra sharing the face f by three tetrahedra sharing the edge e. //— Planar closed curve Delaunay's tessellation • let £ = set of edges of a closed curve • let P = set of vertices of £ • compute T>(P) while( 'D(P) is not optimal ) { • look for the "ugliest" triangle Tu of D(P) • compute the barycenter p of Tu • use the Bowyer-Watson algorithm for inserting p in P and £>(P) } • use the edge swap algorithm for computing £>(P|£) • remove from £>(P|£) the triangles whose barycenter is outside the closed curve associated with 8. This simple algorithm can be adapted in many different ways depending on the properties one wishes to obtain for the resulting tessellation (e.g., see [51]). The Delaunay constrained tessellation: 3-dimensional case Let P be a given set of points in the 3D space, and let T be a set of triangles such that the vertices of any triangle t 6 T belong to P; in addition, it is assumed that the triangles of T do not cross each other. By definition, we note as Z>(P|T) and call it "Delaunay's tessellation of P constrained by T" any set of adjacent tetrahedra deduced from T>(P) in such a way that any triangle t G T is the face of at least one tetrahedron of £>(P| T). It is possible to extend the edge swap algorithm to the 3-dimensional case, but this is considerably more complex than in 2 dimensions. As suggested in figure (3.6), one of the origins of this increased complexity is that a 3D edge of ta etrahedron must now be swapped with a 3D face of a tetrahedron, that is to say, a triangle. This type of algorithm will not be presented; refer to [88] for an exhaustive presentation of such an approach.
3.2.
DELAUNAY'S TESSELLATION
107
Figure 3.7 Constrained ^-dimensional Delaunay's tessellation of the union of a series of adjacent complex geological regions. The edges of the tetrahedra are constrained not to cross the horizons and fault surfaces. A simpler method consists in allowing the insertion in P of new points located on the triangles of T. In practice, these additional points, called "Steiner's points" are chosen iteratively on the current triangles of T intersected by some edges of £>(P|T). The insertion of these new points changes the tessellation locally and tends to remove the undesirable intersections. Figure (3.7) gives an example of 3-dimensional tessellation obtained with this approach: as shown in this figure, the interior of complex geological regions bounded by closed surfaces can be tessellated while preventing the edges of the tetrahedra from cutting these surfaces.
3.2.4
Sculpting a point set
There are some applications where an unknown solid is defined by an unstructured set of points corresponding to a sampling of this solid in 3D space. In such a case, one can think of using the 3D Delaunay's tessellation algorithm for building a discrete model of this solid as follows: 1. Use the unconstrained 3D Delaunay's tessellation algorithm to build the smallest convex solid containing the given set of points. 2. Remove simplexes from this solid to build a non-convex "shape" approximating, as far as possible, the unknown solid. Depending on the strategy used for removing simplexes from the initial convex solid, one can distinguish the following methods:
CHAPTER 3. TESSELLATIONS
108 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(
where B represents the current boundary of the solid to be constructed. Visibly, such a coefficient can be considered as a measure of the "flatness" of the tetrahedra belonging to the boundary of the current solid. Assuming that a positive threshold (3 is controlled interactively by the user, Boissonat [29] suggests removing some of the tetrahedra with a coefficient b(t) greater than /3 from the initial 3D Delaunay tetrahedralization. The originality of the method comes from the way the tetrahedra are removed from the current solid: • Only tetrahedra (and the triangles and edges they contain) are removed. • Only the tetrahedra whose removal generates neither a modification of the topology of the current solid nor a removal of an initial data are removable. Consequently, at any one time, it is forbidden to remove: — tetrahedra that do not share any face with the boundary of the current solid, — tetrahedra that share 3 or 4 faces with the boundary of the current solid, and — tetrahedra that share a face, and thus 3 vertices, with the boundary of the current solid, but whose fourth vertex is itself on the boundary of the solid. Contrary to a-shapes, the objects so generated have a constant topological dimension equal to 3 and can be considered as consistent objects that can be used as discrete models. We propose calling these objects /3-shapes.
3.3. NON-DELAUNAY TRIANGULATED SURFACES
109
Figure 3.8 Triangulation of 3D non-planar closed curves: series of links are determined to decompose the curves into more or less planar adjacent loops.
3.3
Non-Delaunay triangulated surfaces
As we will see in chapter 6, triangulated surfaces play a central role in the modeling of the subsurface. For this reason, it is important to have a large set of methods allowing initial versions of these surfaces to be built from rough data. The Delaunay's tessellation presented in the previous section is a very efficient tool, but this method is applicable only if the surface to be built is a part of a plane. For this reason, we present in this section some new methods that do not suffer from this limitation and are particularly well adapted to geological problems when the surface to be built is defined by its boundary: • the "patch algorithm" corresponds to the case where the surface to be built interpolates a 3D closed curve (see figure (3.8)), • the "strip algorithm" corresponds to the case where the surface to be built interpolates two 3D open curves (see figure (3.9)),
• the "skin algorithm" corresponds to the case where the surface to be built interpolates two 3D closed curves (see figure (3.12)), and
the "pants algorithm" corresponds to the case where the surface to be built interpolates one series of 3D closed curves correlated with another series of 3D closed curves (see figure (3.15)).
110
CHAPTERS.
3.3.1
TESSELLATIONS
Patch Algorithm
Formulating the problem As shown in figure (3.8), let us consider a closed 3D polygonal curve C(P), denned by an ordered set of M vertices assumed to be numbered2 as follows:
By definition, any method allowing a triangulated surface T whose boundary is identical to C(P) to be built, is called a "patch algorithm:"
In practice, we have to consider two cases: • If C(P} is planar and is not self-intersecting, then a natural solution consists in using the planar closed curve Delaunay's tessellation algorithm presented on page 105. • If C(P) is a not a planar curve or is self-intersecting, then it has to be subdivided into a series of approximately planar, not self-intersecting, adjacent closed curves to which the planar Delaunay's tessellation algorithm can be applied. A recursive subdivision algorithm Let "P(g, n) be a plane orthogonal to the unit vector n and containing the point g: • The orthogonal projection TT(X) of any point x £ JR3 on "P(g, n) is such that
and we note P* the orthogonal projection of P onto "P(g, n):
• Conversely, the original p(i) G P of any point 7r{p(i)} G P* will be noted as T°{P*(*)}
Based on these notations, it is proposed using the following recursive "patch algorithm" to build a triangulated surface T honoring the constraint (3.5): 2
We recall that the notation (o%b) represents the rest of the division of a by b.
3.3. NON-DELAUNAY TRIANGULATED SURFACES //— Patch algorithm void Patch( C(P), T ){
111
//- Patch algorithm
// //- input C(P) = closed 3D polygonal curve //— output T = triangulated surface honoring (3.5) • look for an optimal plane "P(g, n) such that P* = TT(P) => C(P*) ~ C(P) • M= P //- number of vertices of P • dmm <
hOO
• ?"min *
-L
• Jmin *
J-
for( i = l ; i < M ; i + +) { for( j = i + 1 • j < M ; j + + ) { if({p*(z),p*(z + l)}n{p*(j),P*(j + l)} ^ 0 ) { •d=||p*(t)-P*U)ll if( d <
dmin
)
* dmin *
d
* 1min *•
1
A /i
i
.
^
* Jrrnn *
{
J
} If- end if } //- end if } //- end for j } //- end for i II
if( imin == —1 ) { //~£(P*) does not self-intersect • T <— Delaunay's tessellation of C(P*) (see page 105) • reset each node of <9T = C(P*) to its initial location in 3D: p*(i) — 7r°(p*(*)) Vp*(i)eP* • set DSI Control-Nodes on P* • apply DSI to T to set the location of internal nodes } else { • as shown in figure (3.8), split C(P) into two closed curves C(P') and C(P") sharing (p(i m m),p(jmin)) as common edge • Patch( C(P'),T' ) • Patch( C(P"),T" ) • T <— T' U T" } //- end if_else } //- end Patch
Looking for an optimal plane P(g, n) The patch algorithm presented above only works well if an "optimal" plane "P(g, n) can be found such that
In practice, we suggest proceeding as follows:
CHAPTER 3. TESSELLATIONS
112 • Define gj and ii as gj
=
center of gravity of (p(i), p(i + 1))
li
=
||p(* + l)-p(t)||
• Choose g as the center of gravity of the set of points {g^} weighted by the {li} coefficients:
It is possible to check that g so defined is the center of gravity of the curve C(P}. • Choose n as the eigen vector associated with the smallest eigen value of the 3 x 3 symmetrical matrix C defined by
We will show herein below that such a choice for g and n is optimal in the following sense:
Proof According to the definition (3.6) of TT(-), we have:
i
If we want to minimize X\^ • ||g^ — ^(gJI) 2 under the constraint ||n||2 = 1, then we have to look for the optimum of the following function where A is a Lagrange multiplier (see [141, 90, 163]):
The optimum of £(u) is achieved when its vectorial derivative vanishes (see page 147):
In other words, the optimal choice for n corresponds to an eigen vector of C associated with the eigen value A:
3.3. NON-DELAUNAY TRIANGULATED SURFACES
113
Figure 3.9 Building a triangulated strip between two open polygonal curves C(P) and C(Q).
Combining (3.8), and (3.9), we obtain
and this shows that, to honor the constraint (3.7), then n must be associated with the smallest eigen value A of C. 3.3.2
Strip Algorithm
Formulating the problem As shown in figure (3.9), let us consider two polygonal open curves C(P] and C(Q) whose vertices correspond to the two following ordered point sets P and <5, respectively:
By definition, any method allowing a triangulated surface T whose boundary contains C(P] and C(Q) to be built is called a "strip algorithm:"
In practice, as illustrated in figure (3.9) we will look for an ordered list £ of L edges such that
114
CHAPTER 3. TESSELLATIONS
Moreover, to obtain a triangular mesh, we impose the following constraints:
With such a constraint, for k < L, each edge e(k) can be associated with a triangle T(k) such that
To obtain "nice" triangles, it is wise to introduce the following additional constraint:
The union of all the triangles T(k) so defined constitute a simply connected triangulated surface T(«S):
As suggested in figure (3.9), this triangulated surface T looks like a rectangular strip of triangles limited by a polygonal boundary <9T such that In the following paragraphs, we propose to determine an optimal list of edges £ respecting the constraints (3.10), and (3.11). For this purpose, we present a dynamic programming method similar to those proposed by [86, 43, 51, 41]. Dynamic Programming approach As shown in figure (3.10), the set of all the possible edges e(k) can be represented by a 2D rectangular network E with M rows and TV columns and with nodes E(i,j) such that
Each list £ corresponds to a path in the network between the nodes .E(l, 1) and E(M,N); according to the constraint (3.10), any valid path corresponds to a series of rightward and downward steps between E(l, 1) and E(M, N}:
3
Note that the criterion ||e(fc)|| 2 can be replaced by many other possible criteria such as, for example, the length ||e(A;)|| or the area of the triangle generated (see Meyers [161]). In practice, all these criteria give similar results.
3.3. NON-DELAUNAY TRIANGULATED SURFACES
115
Figure 3.10 A triangle strip algorithm: 2D network whose nodes correspond to all the possible edges e(k] between a vertex p(ik) and a vertex q(jfe)Let jCij be the set of all the partial valid paths between E(l, 1) and E(i,j], and let tij be the "optimal" element of Lij denned by
It is clear that the optimal path SMN is identical to the optimal list 8 denning the optimal triangulated strip T to build. Building an optimal path £ The Dynamic Programming theory is based on the Bellman principle [18], which can be formulated in the following, very general, way: Any optimal solution can be composed only of partial optimal solutions. Within the framework of our problem, this principle can be interpreted as follows:
These values A(i,j) can be gathered into a matrix [A] with easily computable M rows and N columns, thanks to the following algorithm based on the above relation (3.12):
116
CHAPTER 3. TESSELLATIONS
Figure 3.11 Part (A) shows a triangulated surface bridging two open curves. Part (B) shows the same surface after applying "resampling" and "beautifying" algorithms.
Once the matrix [A] has been computed, it is possible to build the optimal list £ using the following iterative algorithm, which is a straightforward consequence of the Bellman principle (see equation (3.12)):
In the above program, the operation a 0 b represents the list resulting from the concatenation of two lists a and b.
3.3.
NON-DELAUNAY TRIANGULATED
SURFACES
117
Figure 3.12 Building a triangulated surface (skin) between two closed 3D curves. Taking links into account It may be that we want to constrain the triangulated surface T generated by the above strip algorithm to honor a given edge link, for instance, {p(i), q (.?')}• In this case, to honor such a constraint, the only possibility is to split the initial problem into two subproblems associated with the two pairs of curves {C(P)i,C(Q)i} and {C(P) 2 ,C(Q) 2 } such that
Example Figure (3.11)-A gives an example of a triangular strip between two open 3D curves. The resulting triangulated surface presents very skewed triangles and, would benefit from being "resampled" and "beautified" (see sections (6.6.2), and (6.6.1)) to achieve a better triangulation, similar to the one shown in figure (3.11)-B. Comment It should be noted that the "strip" algorithm presented above can also be viewed as a tool for automatically correlating two curves of the 3D space. For example, this algorithm can be used for correlating the curves contained in a pair of non-intersecting surfaces corresponding to geological cross sections. This is particularly interesting in the development of an algorithm able to build automatically a 3D cellular model from a series of cross sections (see [155]).
118
CHAPTERS.
TESSELLATIONS
Figure 3.13 Linking the closest points p*(fc) and q*(/i) of two closed curves can lead to the construction of an incorrect skin between these two curves.
3.3.3
Skin Algorithm
Formulating the problem As shown in figure (3.12), let us consider two closed 3D polygonal curves C(P*) and C(Q*} denned by two ordered sets P* and Q* of M and N vertices assumed to be numbered4 as follows:
and
By definition, we call "skin algorithm" any method allowing a triangulated surface T whose boundary is identical to the union of C(P*) and C(Q*) to be built:
Solution derived from the strip algorithm
Let us cut the curves C(P*) and C(Q*) at nodes p*(fc) e P* and q*(/i) e Q*, and let P and Q be the new point sets obtained by renumbering P* and Q* as follows:
Prom P and Q so defined, two new, open polygonal curves C(P) and C(Q] whose geometry is the same as C(P*} and C(Q*) can be built and the strip 4
The notation (a%6) represents the rest of the division of a by b.
3.3.
NON-DELAUNAY TRIANGULATED SURFACES
119
Figure 3.14 Installing links between two closed curves enables us to constrain the shape of the skin joining these two curves. algorithm thus used for building a triangulated surface between C(P) and
C(Q).
The only difficulty arises when choosing the points p*(fe) 6 P* and q*(/i) 6 Q*. A naive solution consists in choosing these two points to minimize ||p*(&) — q*(/i)|| - this can lead to surprising results such as the one shown in figure (3.13). In practice, a better choice of the pair of points (p*(fc),q*(/i)) can be obtained as follows: • Build the 3D Delaunay's tessellation D(P* U Q*) of the point set (P* U Q*). • Extract the convex hull of (P* U Q*} which, according to property (-D3) page 101, is the boundary <9£>(P* U Q*} of V(P* U Q*). • Look for the shortest edge (p*(fc), q*(/i)) belonging to dT>(P* U Q*) and such that p*(fc) € P* and q*(/i) € Q*. Taking links into account The skin algorithm described above is fully automatic and may produce solutions that do not cope perfectly with the triangulated surface shape initially sought by the user. For example, in figure (3.13), it can be seen that this algorithm correlates the points of C(P*) and C(Q*) automatically, without taking into account the similarities between these two curves. As shown in figure (3.14) and to take these similarities into account, some links between pairs of points (p*(fc),q*(/i)}, located on C(P*) and C(Q*), respectively, have to be installed manually. These pairs of points split the closed curves C(P*) and C(Q*) into a series of pairs of open curves to which the strip algorithm can then be applied (see [70]). 3.3.4 Pants Algorithm Formulating the problem Let us consider two families of closed curves given in the 3D space: • a family {C(P«) : a = 1,.. .,ra} consisting of closed curves "more or less" located in a plane A, and
120
CHAPTER 3. TESSELLATIONS
Figure 3.15 An example of pants joining two families of 3D closed curves. • a family {C(Q*p) : /3 = l,...,n} consisting of closed curves "more or less" located in a plane B. Moreover, we assume that A and B are "more or less" parallel in the sense that these planes eventually intersect, far from the curves {C(P*}} and {C(Q^}}. For example, as shown in figure (3.15), if ra = 1 and n — 2, then these two families of curves can be considered as the pants' boundary. For this reason, we propose calling "pants algorithm" any method that allows the construction of a continuous surface whose boundary is coincident with two given families of curves (C(P*)} and {C(Q*p)}. Solution derived from the skin and patch algorithms As you can see, the pants problem is a generalization of the skin problem. A solution based on a four-step algorithm using the patch and skin algorithms already presented in sections (3.3.1), and (3.3.3) is proposed below. For the sake of simplicity, we will assume that {C(P*}} and {C(Q*p)} are planar and that planes A and B do not intersect: Step 1 — In the plane A, build a closed curve C(P*) containing all the curves {C(P*}}. — Use the constrained Delaunay's tessellation algorithm (see page 105) for filling the gap between C(P*) and the family {C(P*}} with triangles (see top figure (3.16)). — Displace C(P*) toward the plane B one third of the distance between planes A and B (see bottom figure (3.16)) Step 2 — Perform the same operations as in step 1 above on the second family of curves {C(Q*p}}.
3.3. NON-DELAUNAY TRIANGULATED SURFACES
Figure 3.16
121
Step 1 of the pants algorithm.
Step 3
— Apply a skin algorithm to the pair of closed curves C(P*) and C(Q*).
Step 4
— Merge the three triangulated surfaces generated by the above three steps into one unique surface T. — If needed, apply a "beautifying" algorithm (see page 305) to reach a more regular triangulation. — Set DSI Control-Nodes on the boundary of T, and apply DSI to obtain a smooth surface (see bottom of figure (3.15)).
It should be noted that other efficient solutions derived from the 3D Delaunay tesselation of the set of points corresponding to the vertices of the two families of curves have been proposed (e.g., see [30]).
Taking links into account As in the case of the skin algorithm, adapting this algorithm to take into account some links installed interactively between the two families of curves is straightforward. This is particularly useful in practical applications when the user wishes to constrain the resulting surface to cope with some predefined shape he/she has in mind.
CHAPTER 3. TESSELLATIONS
122
Figure 3.17 An example of a regular 3-grid embedded in the 1R3 space. As you can see, this grid is cut by a set of geological faults that generate split nodes. The geometry of the cubic 3-cells bordering the faults has been adjusted to fit the geometry of these faults.
3.4
Notion of a regular n-grid
3.4.1
Definition
Let us first consider an n-dimensional parametric space Mn associated with the following entities: • {Uk1...kn} is the infinite family of n-cells of Mn corresponding to generalized5 unit parametric squares defined by
where u1 is the ith coordinate of u, while ki is assumed to be a nonnegative integer. RNi...Nn is a "rectangular" closed region6 of Mn defined7 by
where {Ni,..., Nn} are assumed to be n given positive integers. 5
The cells {C/fe 1 ...fc n } are actual squares only in the case where n = 2. Such a region is actually a rectangle only in the case n = 2. Note that Ukl...kn is the closure of Ujtl...kn (see definition on page 31).
6
7
3.4.
NOTION OF A REGULAR N-GRID
123
Let m > n be a given integer, and let x(u) = X(M I , .. .,w n ) be a mapping8 from JRn to JR771. By definition, the image GNi...Nn of the parametric rectangle RNi...Nn is called a regular (curvilinear) n-grid of JRm, while the image Ck^...kn of any unit parametric square Ukl...kn is called an n-cell of the regular n-grid:
One can observe that the n-cells {Ck1...kn} so denned generate a partition of the regular n-grid:
Most of the time in geological applications, the embedding space has a dimension equal to m = 3. An example of a regular 2-grid can be seen in figure (6.22), and an example of a regular 3-grid embedded in the 1R3 space is in figure (3.17). Practical convention From a practical point of view, from now on, we will assume that there is an implicit cellular decomposition of the boundary of each cells C'fc1...fcn such that the i-cells of dCk-^...kn are the images of the ^-cells of dU^...^- In particular: • the vertices of dCki...kn are the images of the vertices of dUkl...kn, • the edges of dCkl...kn are the images of the edges of dUkl...kn, • the faces of <9Cfe1...fen are the images of the faces of 5f/fc 1 ...fe rt , • and so on.
As a consequence, we can consider the n-cells {C^...^} as generalized "curvilinear" rectangles,9 and the associated regular n-grid as a curvilinear grid. Importance of regular 3-grids in sedimentary geology As shown in figure (3.17), regular curvilinear 3-grids are particularly well adapted to the modeling of geological stratigraphic layers. In this particular case, as suggested in figure (10.1), the following notations for the components of the parameter u are traditionally used
and these curvilinear coordinates (w, v: w) are interpreted as follows: 8 Note that x(u) may be discontinuous: in geology, such discontinuities occur in the case where JRn is affected by some faults. 9 The cells {Cfc 1 ...fc n } are actual curvilinear rectangles only in the case where n — 2.
124
CHAPTER 3. TESSELLATIONS
Figure 3.18 An example of a regular curvilinear 3-grid fitting the geometry of a paleo-channel. Each section is modeled as a Coons patch (A*, B*, C*, D*) deduced by curvilinear transformations of the boundaries of a rectangle (A, B, C, D). • w corresponds to the "paleo-vertical" direction orthogonal to the layer that can be considered as the "geologic-time" axis. Implicitly, it is assumed that there is an unknown monotonic increasing function10 t = t(w) linking the geological time t to w. • (u, v) corresponds to the "pseudo-horizontal" surface parallel to the layer that can be interpreted as the "paleo-horizon" at the time t = t(w) of deposition. In a way, we can consider (w, v) as "paleo-geographic coordinates" at geological deposition time t = t(w). In other words, thanks to an adequate parameterization, regular 3-grids can capture not only the geometry x(u) of the layers, but also information related to the geological depositional process. In practice, if needed, such information can be used by numerical geology algorithms such as, for example, balanced reconstructions [160, 95, 236] and depositional models (e.g., see section (10.3.5) page 556). Other types of parameterizations can be found to cope with the geometry of complex geological bodies [200]. For example, figure (3.18) shows a 3-grid modeling the geometry and the internal structures of a paleo-channel: In this case, u1 corresponds to the stream lines while (u 1 ,^ 2 ) define the sections of the channel.
3.4.2
n-GMap associated with a regular n-grid
As shown in figure (3.19), the abstract topological space (see page 44) associated with a regular n-grid is generally identified with its n-dimensional parametric space. In this parametric space, it is easy to build the n-GMap Q(D, ao,..., an] associated with the partitioning of the regular n-grid GjVi...JVn induced by the unit parametric squares: 10 Note that pinchouts and unconformities may generate discontinuities for the "geological time" function t = t(w).
3.4. NOTION OF A REGULAR N-GRID
125
Figure 3.19 The parametric space of a regular n-grid plays the role of abstract topological space where darts are represented by small, white, bullet-headed segments. In this space, cracks are installed in order to introduce geometric discontinuities 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 n°t be "topologically" adjacent (see figure (3.19)). If the aim is to introduce a discontinuity along an (n — l)-cell called "crack" shared by U^ ...kn and U# .../^, then the an links between pairs of darts (d, d'} incident to such a crack have to be changed as follows to introduce a new boundary along the common (n — l)-cell corresponding to the crack:
3.4.3
Discrete model
As discussed on page 65, for each positive integer i e [0, n], it is possible to associate a discrete model A'f p (0j, A^, (^C^J with any n-Gmap. In the specific case where a n-GMap is associated with a regular n-grid, particular attention is usually paid to the cases i = 0 and i = n: • M.p(£lo, TVio, tpo,C
126
CHAPTER 3. TESSELLATIONS
Figure 3.20 Parametric representation of a 2-cell C belonging to a regular 2-grid: the parametric domain consists of a unit square [0,1]2. • M.p(£ln, Nn, VmCpn) is called a "cell centered" model and corresponds to the modeling of p parameters (discrete embedding) attached to the n-cells of the regular n-grid. In practice, such a model is often used for modeling the physical properties of the grid cells. In geological applications, for n < 3, most of the time regular n-grids are embedded in the (x, y, z) space in a curvilinear way to fit with the geometry of geological objects. For example, figure (3.18) shows a regular 3-grid fitting the geometry of a paleo-channel.
Barycentric parameterization of the cells First, consider a regular 1-grid. Each cell C is a segment {x(ao),x(o;i)} and there is a one-to-one parametric representation x(w) that transforms the unit segment [0,1] into C:
In this parametric representation of (7, the weighting functions bi(u) are assumed to be defined as follows
while nodes {QO, cti} correspond to the vertices of C. By definition, the coefficients 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 normalized coordinate" relative to C. More generally, any cell C of a regular n-grid can be parameterized as
3.4. NOTION OF A REGULAR N-GRID
127
follows on the unit hypercube [0, l]n:
In this definition of x(u), the set of nodes {o^...^} consists of the 2n vertices of C assumed to be numbered as suggested in figure (3.20) in such a way that By definition, the coefficients {bi1 ( w 1 ) , . . . , bin(un}} are called the "barycentric coordinates" of x(u) relative to the vertices of C, while {w 1 ,..., un} are called its "local normalized coordinates" relative to C. Let us now address the problem of finding the parameter u = [u 1 ,..., un] that corresponds to the location of a given point p = x(u) inside the cell C. According to equation (3.14), this parameter is the solution of the following system of m nonlinear equations where {pj} and (x^a^...^)} represent the coordinates of the points {p} and (x(o;j1...in)} in the Mm embedding space, respectively:
If U[j] is a given initial estimation of the solution, then the problem reduces to the determination of an increment Au such that /J (u^] + Au) is equal to zero for all j. According to the Taylor series expansion formula (4.27), this is equivalent to saying that Au should be such that
By introducing the n x n square matrix D as defined by
the solution of the system of equations (3.15) can be written as follows:
It can be observed that the dimension m of the embedding space is greatei or equal to the topological dimension n of the grid. This system of equations can be solved in a least square sense as follows:
128
CHAPTER 3.
TESSELLATIONS
Figure 3.21 Building a Coons patch with linear weighting functions: the resulting surface is the sum of two linear interpolations of pairs of curves minus a bilinear interpolation of the four vertices. In conclusion, a better approximation U[i+1] of the parameter u corresponding to the location p can be obtained thus:
In practice, this updating formula provides the basis of an iterative algorithm. Barycentric interpolation inside a cell In the case of a corner point model, a frequent problem arises where a parameter (p known by its values (p(oi) at the vertices of a regular n-grid has to be continuously interpolated in each n-cell of this grid. For this purpose, the following interpolation <£>(u), similar to equation (3.14) used for modeling the geometry of the cell, is proposed:
It can easily be verified that the function <^(u) so defined interpolates the values of (p at the vertices of the cell and varies linearly on each edge of that cell. It should be noted that local nonlinear interpolations can be defined in each n-cell. However, in such a case, these interpolations involve not only the vertices of the cells but also the vertices of the adjacent cell (e.g., see [146]).
3.4.4
Geometry of a regular n-grid
As can be imagined, the geometry of regular n-grids can easily be adjusted thanks to DSI to fit geological objects. However, in general, before using DSI we need to have a rough approximation of the shape of these grids, and the notion of "Coons patch" is certainly the simplest way of building such approximations.
3.4. NOTION OF A REGULAR N-GRID
129
Coons patch This section addresses the problem of building a piece of surface rectangular 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 generalized by Gordon consists of a parametric surface x(w, v) defined by the following equation for any u G [0,1] and any v 6 [0,1]:
(3.17) It is easy to check that x(u, v) does interpolate the four boundary curves provided that the associated blending functions {/o, fi,go,gi} are such that
Among the many possible choices for these blending functions, those most often used are the following: • linear blending functions:
• cubic Hermit blending functions:
The Coons surfaces so denned, also called "Coons patches," are very simple to implement and are extremely useful in situations where the surface to be modeled is actually known only by its boundary. However, it is important to note that there is no possible control on the shape of the interior of the patch - this is the major drawback of Coons surfaces. Construction of a regular n-grid Let us consider the set of points (ui,Vj) belonging to [0,1] x [0,1] and such that
130
CHAPTER 3. TESSELLATIONS
Using equation (3.17) for computing the images x(wj, Vj] of these points, it can be observed that these images are distributed on a regular 2-grid GN1N2'- this shows that Coons patches provide an easy way for initializing the geometry of regular 2-grids as soon as the boundary curves are known. In practice, for n = (1,2,3), the construction of an initial shape for a regular n-grid can be viewed as a recursive process that can be sketched as follows: • First, regular 1-grids can be initialized as nodes regularly spaced on a segment. • Next, regular 2-grids can be initialized as the nodes of a discrete Coons patch. • Finally, a regular 3-grid can be viewed as being composed of two entities: — two regular 2-grids corresponding to the top and bottom surfaces boundaries initialized with Coons patches, and — internal nodes initialized as regular 1-grids joining twin nodes on the top and bottom boundaries.
3.4.5 Cracking a regular n-grid Introducing cracks in a regular n-grid is a handy way to define discontinuities of the embedding across (n — l)-cells of a regular n-grid. In geology, the need to introduce such cracks occurs in the two following situations: • If the geometrical embedding x(u) of a regular 2-grid corresponds to a geological surface cut by a fault along a curve J-, then we may want to install cracks approximating the trace of T on this surface. • If the geometrical embedding x(u) of a regular 3-grid corresponds to a geological layer cut by a fault along a surface J-", then we may want to install cracks approximating T (see figure (3.17)). In practice, in the parametric space, the image x^1(^7) is approximated by a set of (n — l)-cells where the cracks need to be installed. Of course, this is not without consequences: • If we want to preserve the regularity of the shape of the images x(t/fe1...*:„) in the embedding space, then, in general, the geometry of the image of the cracks poorly approximate f. • If we want the images of the crack to fit F correctly, then, in general, we cannot preserve the regularity of the shape of the images x(C/fc 1 ...fc n ). From a topological point of view, each crack must be implemented as an "unsew" operation on the corresponding (n— l)-cell of the n-Gmap associated with the n-grid.
3.4.
NOTION OF A REGULAR N-GRID
131
Simple nodes and split nodes of a regular n-grid Let {ufc 1 ...fc n } be the set of vertices11 of the unit parametric squares in the parametric d0m omain
The images {x(ufc 1 .../ Cn )} of the vertices so defined are the vertices of the ncells 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
Cutting a regular n-grid As mentioned above, in a regular n-grid, the regularity of the geometry of n-cells is, in general, incompatible with a good geometrical approximation of the discontinuities by cracked (n — l)-cells. Everything has its price. There is a price to pay to preserve the regularity of the geometry of the n-cells and reach a good geometrical approximation of the discontinuities. In practice, a reasonable price may be to accept the existence of polyhedral "cut cells," which no longer have a cubic topology. As shown in figure (3.22), such polyhedral cells offer a higher flexibility for modeling faulted geological layers. 11
These vertices are represented as black nodes in figure (3.19).
CHAPTER 3. TESSELLATIONS
132
Figure 3.22 An example of an irregular 3-grid composed of polyhedral 3-cells cut by geological faults: (A) The initial regular 3-grid cut by faults and horizons. (B) The exploded view of the result of the cut.
3.5
Notion of an irregular n-grid
The notion of the regular n-grid introduced in the previous section is a very practical tool for modeling geological stratified layers as long as there is no discontinuity to be taken into account. However, if we have to introduce discontinuities, then we have already seen that it is generally not possible to control both the shape of the cells and the shape of the discontinuities. For this reason, a generalization allowing more flexibility will be introduced briefly in this section: Definition
Let A be a closed polygonal region of Mn and let P(A) be a cellular partition of A honoring the following constraint:
Such a partition is called a polyhedral partition of A and can be viewed as a generalization of the notion of "regular n-grid" presented in section (3.4). For this reason, we propose calling "irregular n-grid" any partition of A honoring the constraint (3.19). Most of the time in geological applications n — 3: figures (3.22), and (3.23) give examples of such irregular 3-grids.
Comments 1. As with regular n-grids, irregular n-grids can be associated with a parametric domain in the IRn parametric space. However, in this parametric space, the unit square cells must now be replaced by polyhedral cells whose vertices {ufc} are not mandatorily distributed at the nodes of a regular lattice. 2. Any regular n-grid is, implicitly, an irregular n-grid, and this is an easy way to build an initial version of irregular n-grids.
3.5.
NOTION OF AN IRREGULAR
N-GRID
133
Figure 3.23 An example of an irregular 3-grid generated by extrusion of a 2D subdivision of a faulted surface (curvilinear pseudo-Voronoi subdivision). 3. Contrary to the case of regular n-grids, the topology of the cells of an irregular n-grid can be edited, and this offers much more flexibility; for example, • the cells of an irregular n-grid can be split into subcells, and • the cells of an irregular n-grid can be merged into macro cells,
Notion of a hybrid n-grid An excellent compromise between regularity and flexibility consists in using hybrid n-grids defined as regular n-grids with two types of n-cells: • "simple n-cells," which are identical to regular n-cells of the grid, and • "split n-cells" corresponding to "virtual" regular n-cells that have been replaced by a cellular partition, itself modeled as an irregular n-grid. In general, one needs few split cells, so that hybrid n-grids so defined can be considered as regular "almost" everywhere. In practice, split n-cells may correspond to intersections of a regular n-grid with faults or well-paths. Cutting an irregular n-grid Let J- be an (n — 1)-dimensional object12 cutting an irregular n-grid assumed to introduce discontinuities in the topology of this grid. In practice, these discontinuities are introduced by splitting the n-cells of the grid along F. Such a cutting operation can be realized as follows: 1. Determine the (n — l)-dimensional trace r(J4|^r) of the discontinuity T on the object A corresponding to the n-grid. 2
In geology, n = 3, and f is generally a fault or an unconformity.
134
CHAPTERS.
tessellations
2. Split the n-cells of the grid intersected by F(A|J-) in such a way that the new (n — l)-cells so generated fit the trace r(A|Jr). 3. Unsew (see page 78) the (n — l)-cells generated at step (2) above. Proceeding in this way preserves both the geometry and topology of the n-cells not cut by T(A\ J"), while honoring the geometry of ?'.
3.6
Implicit surfaces
Introduction Up to now in this book, only surfaces that can be represented by an explicit local parametric equation x(u, v) have been considered. There is, however, another very important class of surfaces <Sa called "implicit surfaces" [28], denned as follows by a global implicit equation: In this equation, v? a ( x ) is assumed to be a real valued function of x e D defined in a region D of 7R3 and having a gradient such that
The above condition (3.21) implies that the set Sa denned by equation (3.20) is, in actual fact, a surface (and not a volume) fully contained in the region D. Most of the time, the constraint (3.21) is replaced by the following stronger constraint and, in this case, ?a(x) is called a "normal-form" of the implicit equation of Sa'It is important to note that, for any point x located in the neighborhood of <Sa, the normal-form of an implicit equation of Sa represents the distance of x to this surface. It should be noted that any implicit surface Sa associated with an implicit equation ?a(x) (in normal-form or not) divides the domain of definition D into two complementary regions a and (D — a) such that
It is clear that the surface Sa is no more than the boundary of the region a so denned: In this context, methods for performing Boolean operations analogous to the union and intersection of regions have been proposed. For example, if a and b are regions defined by implicit equations (pa and ?&, then the implicit function corresponding to the union and intersection of these regions is denned as follows:
3.6.
IMPLICIT SURFACES
135
Figure 3.24 (A) Intersection of a tetrahedron by an isovalue surface. (B) Decomposition of an hexahedron into six tetrahedra. The sign of the associated function <pa is coded by "+" and "—" symbols. For practical applications, most of the time implicit surfaces have to be transformed into explicit triangulated surfaces. The procedure for such an operation will be explained in the next section.
Triangulating an implicit surface In practice, the function <pa defining the boundary Sa of a region a is assumed to be sampled at the nodes of a 3D discrete model approximating the domain of definition D. Let us first consider the case where the discrete model consists of a set of tetrahedra filling the region D, and let T = T(p0, p 1 ,p 2 ,p 3 ) be one such tetrahedron. It is easy to see that we have:
If T is intersected by <Sa, then each of its 6 edges can be intersected or not, and this generates exactly 26 different cases. Nevertheless, by permuting the indices of T, it can be verified that only those two types of intersections shown in figure (3.24)-A need in fact to be considered: • either three edges of T are intersected, and then Sa H T can be approximated by a triangle, • or four edges of T are intersected, and then <Sa n T can be approximated by two adjacent triangles. Most of the time, the discrete models used in practical applications are based on regular 3-grids with hexahedral cells. In this case, as suggested in figure (3.24)-B, each hexahedron can be implicitely decomposed into six adjacent tetrahedra so that the triangulation introduced above is still applicable. It should be noted, however, that triangulation algorithms derived from the above observations generally produce "ugly" triangles, and it is mandatory
CHAPTER 3. TESSELLATIONS
136
Figure 3.25 Example of implicit surface interpolating an unstructured set of points {PJ} where the unit normal vectors {Ni} are estimated from local average tangent planes. (Data courtesy of Unocal) to apply a "beautifying" algorithm to improve the "beauty" of the triangles so generated (e.g., see page 305). On the right of figure (3.25) is an example of such a triangulation which corresponds to an isovalue surface sampled at the nodes of a regular 3-grid. The Neanderthal skull Sa represented in figure (1.2)-A is another example of an implicit surface where the initial data correspond to a regular 3-grid representing X-ray "transparencies" /(x) generated by a 3D X-ray medical scanner; in this case, the surface of the skull corresponds to a given isovalue /o of this transparency implicit function and (pa is defined as follows:
Interpolating an implicit surface In practical applications, the domain of definition D is a 3D hexahedral box, and the data consist of a series of pairs
where • each p^ is a point located on the implicit surface Sa to be interpolated; • each Ni is the unit normal vector to <Sa, at location p i; oriented toward the interior of the region a. We propose to interpolate the unknown function (f>a at the nodes of a linear regular 3-grid filling the domain D and associated with a corner point discrete model A/(1(0, TV, (/p 0 ,C^ a ). For the sake of simplicity all the 3-cells of the grid are assumed to be cubic with the length of each edge equal to 1. For each data (p^,Ni), the following pair of twin constraints are introduced:
3.7. CONCLUSIONS
137
• At point PJ, the function (pa should be equal to zero:
• At point PJ , the derivatives of the function <pa should be such that
where w7 is the normalized coordinate of the grid in the jth direction while N;? is the jth component of Ni in this coordinate system.
It will be seen in section (4.7.2) that the equations (3.23), and (3.24) can be transformed into the so-called "Control-Property" and "Control-Gradient" DSI constraints that are added to C(fa. The DSI algorithm can then be used for interpolating ?a at the nodes of the grid: figure (3.25) shows an example of the resulting implicit surface interpolating an unstructured set of points p^ where the unit normal vectors Nj are given. It should be noted that methods based on different interpolation techniques 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 normalform of an implicit equation of <Sa (see definition 3.22) then, in the neighborhood of this surface, for any small real value e, a surface «Sa(er), parallel to Sa and located at approximately a distance equal to £ from <Sa, can be defined as follows: If e is positive, then Sa(£) is located inside the region a, but it is located outside a if e is negative.
3.7
Conclusions
Tessellation problems still provide a very active field of research and this chapter gives just a few ideas of the wide variety of methods proposed so far.
138
CHAPTER 3. TESSELLATION
In practice, the choice of a tessellation method depends not only on the nature of the data controlling the geometry of the object to be modeled, but also on the usage of the model itself. For example • Structural geologists have to build surfaces defined by series of cross sections. In this case, patch, strip, and pants algorithms will probably be their preferred tools. • Reservoir engineers are primarily interested in building regular and irregular 3-grids to be used as geometrical support by finite elements methods. It should be noted that the goal of the tessellation methods presented in this chapter is only to give a first-draft discrete model that will next be refined and modified to honor all the data currently available. It will be demonstrated in the next chapter, as well as in chapter 6, that the DSI method is particularly well adapted to this purpose.
Chapter
4 Discrete Smooth Interpolation= This chapter presents in full the mathematical aspects of the Discrete Smooth Interpolation method (DSI) introduced in chapter 1.
4.1
Introduction
4.1.1
Notations
Let us consider a discrete model J\An(£l, AT, <£>, C] where (p(o) is assumed to be a vectorial function with n components denned on J7:
The set 0 is assumed to contain |0| = M nodes (see page 5)
so that the set of values {^"(a) : a € 0, v = 1,..., n} contains (n • M) elements, which are dispatched as follows into n column matrices j^ : v = 1,.. .,n} of the same size M and into one global column matrix (p of size 139
140
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
From a practical point of view, in the following pages, no distinction will be made between • the function
The soft and hard constraints c € C defined by equations (1.4), (1.5), and (1.6) have the following general "canonic" form
where M stands for one of the following operators:
In this chapter, we will assume that the (n • M) coefficients {A"(a} : a E £7, v = 1,..., n} have been gathered into a column matrix Ac of size (n • M), similar to (p in equation (4.2), in such a way that we can write
It should be noted that both members of the above equation can be divided by a strictly positive constant without modifying the associated constraint. This is the reason why the assumption has been made throughout this book that each constraint c G C~ has been "normalized" in such a way that the Euclidean norm of Ac is equal to 1:
The most simple constraint corresponds to the notion of Control-Node or "fuzzy" Control-Node i G fi where ?(£) must be equal to a given value (j)f.
Such a constraint c = c(£, 0^) belongs to C= in the case of a Control-Node or C~ in the case of a "fuzzy" Control-Node and is associated with the following coefficients:
4.1. INTRODUCTION
141
Figure 4.1 Hyperplane Hc associated with a DSI constraint in the space JRn'M of possible solutions. Hyperplane Hc Let X be a point of the IRn' space. As suggested in figure (4.1), to each constraint c £ C there corresponds a Hyperplane Hc of lRn defined by It is clear that Ac is the unit vector orthogonal to Hc and the "algebraic" distance d((p\Hc) of the point ? to Hc is defined by
The sign of this distance allows ]Rn
to be split into three regions:
4.1.2 Roughness Definition The local roughness criterion R((p"\oi) of the component
The local roughness criterion R((p\a) of (p is itself defined by
142
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
R((f\a) is then used to build a global roughness criterion R(tp) denned as follows, where n(ot) is a given nonnegative "stiffness" function (see section (4.2.2)) defined on 0 and used for modulating the contribution of R((f>\a) to
R(vY
The matrix interpretation of the roughness Let (V(ct) : a e Q} be a family of M column vectors of size (n • M) defined by
Using these matrices and notations (4.2), the local and global roughness denned above can be written according to the following matrix form
where W is the block diagonal (n-M x n-M] symmetrical semipositive definite matrix with the following structure:
Each submatrix \WV] of [W] is itself an (M x M) symmetrical, semipositive definite matrix whose element W£ia2 located on row a\ and column a2 is such that
In particular, this implies that the trace of [W] is such that
4.1.
INTRODUCTION
14.3
Comment Most of the time in practical applications, the coefficients {v(a, (3)} are defined as being independent of v: The choice of these coefficients {v(a,(3}} is limited by the general conditions (2) and (3) of the theorem presented on page 153. Taking into account the definition (1.3) of the orbit N°(a) of a and according to these conditions (4.15), if we let
then it is easy to see that R((p\a) is proportional to the square of the discrepancy between (p(a) and
For example, if Q(£t, N] represents a regular 3-grid, it may be desirable to introduce three local independent roughness criteria associated with the 1dimensional neighborhoods corresponding to the three axis of the grid (see [147]). In such a case, the multiple measures of the local roughness can be gathered into one single "composite" local roughness defined as follows:
The DSI method presented in this chapter can easily be adapted to take into account this extended definition of the notion of local roughness.
CHAPTER 4. DISCRETE SMOOTH
144
4.1.3
INTERPOLATION
Violation of soft constraints
Let us consider a soft constraint c G C~: Within the framework of DSI, such a soft constraint will be honored in a least square sense to minimize the local degree of violation p((/?|c) of c by ? defined by In other words, p((p\c} is no more than the square distance of
In this definition, the coefficients wc called "certainty factors," are weighting coefficients that must be chosen for modulating the contribution of each soft constraint c 6 C~ relative to the other soft constraints. For example, means that it is more important to honor the constraint 02 than to honor the constraint c\. It should be noted that
and this allows p((p) to be written in quadratic form:
Comment Due to the properties of the trace operator, we can write
4.1.
INTRODUCTION
145
We conclude that the trace of [A2] depends only on the certainty factors {wc} and is such that
Global roughness viewed as a constraint Let c = c(a) be a constraint defined by
where //(a) is the stiffness function defined in section (4.1.2), while V(a) is the weighting vector defined by equation (4.9). Using these notations, we can write
If this equation is compared with equation (4.17), it is clearly shown that the global roughness R((f>} appears as the degree of violation of a set of M particular soft constraints {c(a) : a 6 0} defined by equations (4.20).
4.1.4 Generalized global roughness Definition By definition, we propose calling the following criterion R*(
In this criterion, 0 and w are positive coefficients playing the following roles: • w is a "balancing ratio" used to balance the relative contribution of R((p) and p(np) to /?*(?). This coefficient must be estimated as a function of the order of magnitude of the variations of R(
146
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
According to equations (4.11), (4.18), and (4.22), it is easy to check that the generalized global roughness so defined can be written in quadratic form:
Estimating the balancing ratio w Let [A2] be the square symmetrical nonnegative matrix denned by equation (4.18). Looking at equation (4.24), it can be observed that the variations of R*(tp] are controlled by the matrices [W] and {(>• -a?) • [A2]}: • [W] determines the contribution of the roughness, and • {(0 • ru) • [A2]} determines the contribution of the constraints. To compare these contributions, we need to have a scalar characterization of each of them, so we propose to define them as follows: trace{[W]} trace{((f) • w) • [A2]}
= —
contribution of the roughness contribution of the constraints
Let C~\ be the number of soft constraints in C~. In practice, the problem of determining the balancing ratio TU arises only if \C~\ ^ 0, and, in this case, it can be considered that • trace{[W]}/|fi| is the average contribution of each local roughness R((p\Oi) to the variations of R*(tf>), and • trace{((/> • w} • [A2]}/\C~ is the average contribution of each constraint of C~ to the variations of R*(yy). According to the definition of 0 (see (4.23)), if we want the average contribution of each constraint to be 0 times greater than the average contribution of each node to the roughness, then we should have:
This implies that the balancing ratio w must be chosen according to the following equation:
From equations (4.14), and (4.19), we conclude that w should be chosen as follows:
4.2. THE DSI PROBLEM
4.1.5
147
Vectorial derivation
In this section, we recall briefly some basic results used in the rest of this chapter and related to the vectorial derivation of a function f ( x ) denned on Mn:
The "gradient" df/dx size n such that
of such a function is defined as the column vector of
The derivation of / relative to x* is also defined as
Using these notations, it is easy to check that the following derivation rules are always true for linear and quadratic functions of the vector x:
Moreover, if we define the "Hessian" d2f/dxdxt symmetrical matrix such that
of / as the square (n x n)
then the Taylor series expansion of / in the neighborhood of x can be written as
4.2 4.2.1
The DSI problem Definition
As mentioned on page 14, the set of constraints C contains a subset of hard constraints CL that define a region L of 0 where (p is assumed to be known and is thus a Control-Node. This allows Q to be split into two complementary subsets / and L such that L /
= = =
set of nodes set of nodes n-L
t G ^ where i G fi where
<£>(£)
is known is unknown
148
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
Among all the functions ? defined on fJ and interpolating the data {
where F{
Remark Let us consider a discrete model A4n(£l, N,
where R*((f>v] is the individual roughness associated with the 1-dimensional model A/(1(0, JV, (pv,C}. In this case, minimizing R*(tp) is equivalent to minimizing separately each individual roughness R*((pv\.
In other words, from the DSI point of view, if there is no cross constraint, then it is equivalent to • either globally interpolate the function (p associated with the n-dimensional model Mn($l,N,ip,C), • or individually interpolate each component ?" associated with each 1-dimensional model Ml(Sl,N,ip",C).
4.2.2
Genericity
At first glance, the DSI method seems to depend on arbitrary parameters {vv(a,0}} and {(j,(a)}. This is rather confusing for someone not familiar with this method. For the sake of simplicity, these parameters could have been fixed, but this would have hidden the genericity of this method: depending on the actual choice of these parameters, different types of problems can be solved and different families of solutions can be obtained. There is a wide range of possible choices for these parameters. However, we will see in section (4.3) that the uniqueness of the DSI solution can be guaranteed only when taking into account some slight limitations on the coefficients {v"(a, (3]} and /j,(a). For those who are curious to know more about these parameters, some examples of possible choices are presented below; other examples will be presented on pages 377, and 366.
4.2.
THE DSI PROBLEM
149
Choosing {v"(a,/?)}: A preliminary remark Most of the time, for simplicity's sake, the weightings {vv(ot,fl}} are chosen according to the following model:
In this expression, the coefficients {r"} are assumed to be positive and are chosen to balance the different orders of magnitude of the variations of the components {(/^(a)}, while the weightings {v(a,f3}} define the "style" of the interpolation. In practice, the variations of the components {(pv(ot)} of (p(a) are often assumed to have approximately the same order of magnitude. In this particular case, it is wise to choose all the coefficients {r"} equal to 1. The following sections propose a couple of examples of coefficients {v(a, /3)} honoring the conditions of theorem 3 page 157:
Choosing {v(a,(3}}: Harmonic weightings Let |7V0(a:)| be the number of elements of the orbit N°(a). Harmonic weightings are said to be used if the coefficients {v"(a,0) = v(a, /?)} are chosen according to the following definition:
Harmonic functions have the characteristic property of being equal, at any point, to their own mean on a circle centered on this point [87]. By using the coefficients {v(a,/3}} defined above, we can check that R((p\a] — 0 if (p(oi) is equal to the mean values of the ?(/?) surrounding the node a. For this reason and by analogy with harmonic functions, we propose to call these weighting coefficients harmonic. Harmonic weightings are currently the most frequently used in practical applications. For example, the interpolations presented in figures (1.11), (1.12), and (1.13) were obtained with such weightings. According to the remark on page 16, it can be observed that the DSI solutions so obtained are close to "Spline" functions (see also page 364).
Choosing {v(a,/?)}: Isotropic weightings Most of the time, the design of natural objects requires the use of a ddimensional graph Q([l,N) with the following characteristics: • The nodes of £/(f2, N) are embedded in the 3D space IR3. • The edges of G(£l, N) generate a mesh composed of adjacent d-simplexes.1 For example: — if d — 1, then C/(J7, N) consists of a polygonal curve, — if d — 2, then (?(fi, N) consists of a triangulated surface, and 1
A 1-simplex is a segment, a 2-simplex is a triangle, and a 3-simplex is a tetrahedron.
CHAPTER 4. DISCRETE SMOOTH
150
INTERPOLATION
Figure 4.2 Building isotropic weightings in the case of a triangulated surface. — if d = 3, then G(Q, N) consists of a tetrahedralized volume.
If the distance d(a,/3) between two adjacent nodes (a,/3) is, locally, approximately constant, then (?(fi, N) is said to be isotropic and the harmonic weightings {^(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 weighting defined by the following coefficients {v(a,P}}:
In the above expression, t(a) and t(a,/3) are defined as follows
with T(a)
= set of simplexes sharing the node a
T(ot., /3) = set of simplexes sharing the node (a, /3) |T|
= measure2 of the simplex T
Choosing {v(a,(3)}i Anisotropic weightings Let us assume that C/(Q, N} is a given ID, 2D or 3D graph embedded in the 3D Euclidean space JR3 and let ^pv(a) be a physical parameter to be interpolated with DSI on £(fi, N}. The distribution of ^(ot) may be anisotropic in 7R3. 2 |T| represents the length of a segment T, the area of a triangle T, or the volume of a tetrahedron T.
4.2. THE DSI PROBLEM
151
We assume that, at each node a of G(£l, A7"), the location x(a) of the node is given. In this case, we propose using the anisotropic weightings defined by the following choice of the coefficients {vv(a,0)}:
In this expression, • N°(a) is the orbit of the node a (see definition 1.3); • e G]0,1[ is assumed to be a given small, positive real constant3 chosen to prevent v(a,/3) from vanishing; • (v(o;) : a G £7} is a given field of vectors controlling the orientation of the anisotropy; • (j)( ct,/?|x,v ) is equal to the cosine of the angle between (x(/3) — x(a)) and v(a) in the case of an "axial anisotropy" aligned with the direction v(a); • 0( a, /?|x, v ) is equal to the sine of the angle between (x(/9) — x(a)) and v(a) in the case of a "planar anisotropy" orthogonal to the direction v(a); and • p > 0 is a given parameter chosen to control the intensity of the anisotropy: at the limit, ifp = 0, the anisotropic weightings become identical to the harmonic weightings. For example, in a stack of geological layers, if (v(a) : a € 17} represents the field of vectors normal to the horizons, then these vectors can be used to define planar anisotropic weightings, which in turn can be used to interpolate on a 3-grid a physical property (e.g., a seismic velocity) whose gradient is more or less orthogonal to the horizons. An example of the application of axial anisotropic weightings will be presented on page 377. Choosing {//(a)} The stiffness function {^(a)} has been introduced to modulate the smoothness of the DSI solution locally (see equation 4.8 page 142). The only constraint is that this weighting function must be positive (see section 4.3). There is a wide range of possible choices and the simplest one consists in using a uniform weighting: H(a) = 1 V a e fi A more interesting choice can be proposed in the frequent case where the coefficients {vv(a,(3} = v(a,/3}} are independent of v. In this case, let us define cr(a), (f>(a) and (j,(a) as follows:
3
To honor the second constraint (4.35), the value of e must be chosen strictly positive.
For example, one can choose e — 0.1.
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
152
where /t(o:) is a given positive weighting function. According to the comment presented on page 143, the global roughness R((f>] appears as the sum of the squares of the discrepancies between the values (p(a) attached to the nodes of the graph £7(fJ, N) and the mean values (p(a) of their neighbors:
In the above expression, the /}(o:) coefficients are considered "normalized stiffness" coefficients, which must be positive. In practice, the simplest choice consists in selecting p,(a) constant:
4.2.3
The DSI solution
Notations The DSI problem does not depend on the order of the values {(pv(a)} in the column matrix (p. Therefore, to simplify notations, we will assume that a permutation of the elements of the matrix
This partition of the matrix ? induces a similar partition of the matrices [W* and Q* used to define R*(p) (see equation (4.24)):
With these notations, we can express R*((p] as a quadratic function of <£/:
4
See definition of / and L on page 147.
4.3. UNIQUENESS OF THE DSI SOLUTION
153
The global DSI equation As suggested in figure (1.9), the graph of R*(
We conclude that the solutions to our problem are characterized by the following matrix equation:
We propose calling this equation the "global DSI equation." As will be seen in section (4.46), another formulation called the local DSI equation allows the same solution to be obtained iteratively (provided that this solution is unique).
4.3
Uniqueness of the DSI solution
It appears that looking for a solution to the DSI problem is nothing more than minimizing a quadratic objective function -R*(v?) that leads to the linear system (4.34). The rank of the square matrix [Wfj] defining this linear system is the only essential in proving the uniqueness of the solution. In this section we show that, under a set of very large sufficient conditions that are generally honored in practice, [Wjf] is invertible and the DSI solution is unique.
4.3.1
Consistency
Consistency of the set L The set L of nodes where ip is known is said to be DSI-consistent or more simply "consistent" if each connected component of the graph (?(fi, N) contains at least one node belonging to L. In other words, L is consistent if, for any node i G /, there is at least one node i G L such that there is a path \(i,t) e G(ft,N) joining i to L
154
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
Consistency of the weightings {v"(a,/3}} and /j,(a) The weightings {vv(a,(3}} and n(a) are said to be DSI-consistent or more simply "consistent" if, for any a G 0, these coefficients are such that
Remark Some examples of consistent choices for the weighting coefficients {vv(a,fi}} honoring conditions (2) and (3) of the above definition have already been presented in section (4.2.2).
4.3.2 Theorem 1 If L is consistent and if the weightings { v v ( a , f i } } and //(a) are consistent, then each of the associated symmetrical matrices {[VFZ/] : v = 1,..., n} of size (M x M) defined by equations (4.11), (4.12), and (4.13) has only one eigen value, let's say, AM, equal to zero and the associated unit M-dimensional eigen vector UM has its M components all equal to l/\/M:
Proof For simplicity's sake and without loss of generality, it is assumed in the following proof that n = 1 and, therefore, • no distinction will be made between ?" and ip, • no distinction will be made between [W] and [W"], and • no distinction will be made between v(a,/3) and vl'(a,f3) By definition, we have
Let A Q (a) be the coefficients, such that
Accounting for the fact that R(
4.3.
UNIQUENESS OF THE DSI SOLUTION
155
Taking into account the fact that the weightings {v(a,/3}} are also consistent, we are sure that the coefficients {X@(a)} have the following property for any a e fh
This implies that we have:
According to the definition of the notion of convex hull and due to the fact that the coefficients {X/3(a}} are strictly positive, (4.37) implies that (p(ci) must honor the following inequalities:
Let a e 0 be an index corresponding to the minimum of ? on D:
Let us now consider the orbit 7V°(o!) of a. According to (4.38), we can thus write
The above property and the definition (4.39) of a imply that Replacing a by any index a belonging to A r °(ct), it can be shown in a similar way that If the graph £?(0, N) has only one connected component, then all the nodes a € Q are connected, and the above proof can be recursively repeated for each node a of this graph. This leads to the conclusion that
According to equation (4.36), this proves that, if the graph C/(fi, N) has only one component, then [W] = \W"} is semipositive definite and has only one eigen value, let's say AM, equal to zero, and the associated unit eigen vector UM is such that5
5
Note that, according to (1.2), M is equal to the number |fi| of nodes in Q.
156
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
Corollary 1 If L is consistent and if the weightings {vv(a,(3}} and //(a) are consistent, then the associated matrices {[W"] : v = 1,..., n} defined by equations (4.11), (4.12), and (4.13) are semipositive definite, and each of them has a rank equal to ( M - l ) .
4.3.3
Theorem 2
If L is consistent and if the weightings {^^(a,/?)} and p,(a) are consistent, then any square submatrix deduced from \WV\ by removing symmetrically one row together with the corresponding column is of full rank and is thus invertible. Proof With the notations of theorem 1 above, we have:
Moreover, we know that [W] = \WV] has only one eigen value, let's say AM, equal to zero and the associated unit eigen vector UM is such that
If we consider the full set of eigen values {Ai,..., AM} and the associated unit eigen vectors {t/i,..., UM} of [W], then, due to the fact that [W] is both symmetrical and semipositive definite, we are sure that
According to the spectral decomposition of symmetrical semipositive definite matrices [15] and taking into account the fact that AM = 0, we can write
We deduce that the vectors (Vi,..., VM-I} are linearly independent in iRM, which implies that [V] is an M x (M — 1) full rank matrix:
Let us now consider the columns of [V]*:
4.3. UNIQUENESS
OF THE DSI SOLUTION
157
Each of these columns va is a vector of JR -1, and it is easy to see that [W] is the Gram matrix of the set {vi,..., VM}-
Note that, under the consistency conditions of {v"(a,0}} and //(a) (see equation (4.35)), this equation implies that the vectors {va} are non-null because:
Bearing in mind that, for i < M, the vector UM is orthogonal to any vector V^, we can easily verify the following relationship where OM-I is the null vector of-R^- 1 :
Taking into account the fact that [V] has a rank equal to (M — 1), we deduce that the above relation is the only linear dependency between the vectors {vi,.. .,VM}, consequently, the non-null vector VM can be decomposed in a unique way on {t>i,..., VM-I}'-
In other words, the following (M — 1) x (M — 1) linear system has only one solution:
This implies both that the matrix [V]*, deduced from [V]* by removing the last column VM, is invertible and also that the matrix [W] = [W"], deduced from [W] = \WV] by removing the last line and the last column, is invertible because More generally, we conclude that any submatrix \WV] deduced from [W"] by removing symmetrically one row and the corresponding column is invertible.
4.3.4
Theorem 3
If L is consistent and if the weightings {v"(a,0)} and (JL(O) are consistent, then the DSI equation has only one solution. Proof Let us consider the partition of [W*] defined by equations (4.30), and (4.31), which induces a similar partition of W. It is always possible to permute
158
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
symmetrically both rows and columns of W// to write this matrix in the following form:
where [Wjj] is deduced from \WV] by removing symmetrically the rows and columns I 6 L. Such a permutation does not change the rank of [W//]. Taking into account theorem 2 above, we can observe that
where |/| is the number of elements of the set I. Taking equation (4.24) into account, we can write
Observing that [W//] is an (n-1/| x n-1/|) symmetrical matrix, from equation (4.40), it can be concluded that [W/7] is a full rank matrix and is thus invertible. As a direct consequence, the global DSI equation (4.34) has only one solution: this guarantees the uniqueness of the solution of the DSI problem whatever the constraints may be.
4.3.5
Factorization of the DSI solution
Let us consider a 1-dimensional model M.l(Q, TV, ?, C] and let us assume that the two following conditions are satisfied: • The set L of Control-Nodes is consistent (see page 153). • C contains only the hard constraints CL (see page 14).
Under these conditions, it is possible to show that the DSI solution ?/ can be decomposed on the basis of \L\ blending functions {B\} independent of the function
4.3.
UNIQUENESS OF THE DSI SOLUTION
159
The matrix B^ of size (|/| x \L\) can be decomposed into a series of \L\ column matrices Bj, each of them having |/| rows:
This allows us to write the DSI solution as
The B\ functions play a role similar to the "Blending Functions" used in Bezier or Spline functions (e.g., [77]), and it will be shown that they have the following similar property if there is no constraint other than CL and if L and the weightings {v(a,0}} and n(oi) are consistent:
However, contrary to the Bezier and Spline functions, the DSI solution is not an approximation, but an interpolation method implying that the Bi(i] values does not necessarily belong to [0,1}. Computing the blending functions B\ Let A( be the "unit impulse," defined as follows:
With these notations, and under the conditions (4.41), it is obvious that we have: In other words, B\ is the response of the "DSI filter" to the "unit impulse" A£. The property (4.42) provides an easy way to compute the Bj blending functions thanks to DSI. Property of the blending functions B\ If L and the weightings { v " ( a , f i ) } and //(a) are consistent (see page 153), then, under the conditions (4.41), we have:
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
160 Proof
If there is no constraint other than CL and if L and the weightings {v(a, /3)} and /A(a) are consistent, then the conditions of theorem 1 on page 154 are satisfied and we have:
We deduce from this relation that Moreover, according to theorem 2 page 156, we are sure that the inverse Wnl exists because [W] is of rank (M — 1), and we can write
4.4
The local DSI equation
In this section, instead of solving the DSI matrix equation (4.34) directly, we propose an iterative approach making it unnecessary to compute and store [W*]. The major advantage of such an approach is that it provides an easy way to account for hard and dynamic constraints
4.4.1 Computing the variations of R*((p) Variation of R((p) The following can be deduced from the definition of R((p\k):
This implies that
4.4. THE LOCAL DSI EQUATION
We conclude from this relation that we have:
Variation of p((p) For any soft constraint of c € C~, we can observe that
Using the vectorial derivation rules (4.26), we obtain
This implies that d\Atc • ? — bc\21d(pv(a) can be written as
From this relation and equation (4.16), we deduce that
with :
161
162 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION According to equation (4.17), we conclude that
Variation of R*(p} Taking into account the definition of R*(y>) (see page 145) and according to equations (4.43) and (4.44), it is easy to see that
4.4.2
The local DSI equation
The DSI solution
where the terms
and
are defined by
6 Equations (4.34), (4.46), (4.49), and (4.50) are considered to be the backbone of this book and, for this reason, have been put into boxes. Dozens of DSI constraints are presented throughout this book, and, for each of them, the aim is to determine the coefficients {A^(Q)},6 c > 7?(a),andr^a|^).
4.4. THE LOCAL DSI EQUATION
163
with:
We propose calling equation (4.46) the "local DSI equation" at node a. Cross constraints It is interesting to note that, in equation (4.49), the term x^(a\ip} is different from 0 if, and only if, c is a cross constraint (see page 9). Therefore, we will say that x^.(a\(p) is the "cross constraint component" of c on (p at node a. Remark 1 We can observe that the term T^(a\(p) can also be written according to the following equation:
In the case where A^. (a) is not equal to zero, this equation can also be written as
Remark 2 Taking into account the constraints normalization (see equation (4.4)) as well as the values gv(oi) and 7^ (a) denned above, it is easy to check that the square matrices [W] and [A2] denned by (4.12), and (4.18) are such that
164
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
We conclude that the balancing ratio w defined by equation (4.25) can also be computed according to the following formula:
Taking into account equation (4.4), we also have:
Example: Harmonic weightings By developing the local DSI equation (4.46) with the harmonic weightings v(a, /#), as denned by equation (4.29), the following expressions for the terms7 Gv(ct\(p) and gv(a) are obtained:
Example: Fuzzy Control-Node constraint Let us consider a discrete model Ai n (fi, AT, ?, C) and let a G / be a given node for which the unknown component (pv(ot) of (p(oi) is known to be close to a given value >£: Such a piece of information can easily be turned into a DSI constraint c called "fuzzy Control-Node" belonging to C~ and denned by {c honored}
with : 7
In these expressions, |Ar°(o:)| represents the number of elements of the orbit TV0 (a) of the node a (see figure (1.3)). Note that, in the case of harmonic weightings, the term gv(a) does not, in fact, depend on v.
4.4.
THE LOCAL DSI EQUATION
165
This DSI constraint is certainly the simplest imaginable, and it is easy to build the associated terms T^.(o\(p) and 7^(0:) as defined by equation (4.49):
4.4.3
Proposal for an iterative algorithm
The local DSI equation presented in the previous section suggests the following iterative algorithm in estimating the solution (p: II- DSI algorithm let / be the set of nodes where
} // 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 iterations 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*(
The coefficients A, B and C are independent of (pv(oi) and
The minimum of the global criterion R*(y>) as a function of
166
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
It must be noted that, if the conditions of the theorem 3 presented on page 157 are honored, then the final solution (p is unique: the initial solution (/?[QJ, while leaving the result unchanged, influences only the speed of convergence. If the conditions of this theorem are not satisfied, then the iterative algorithm will yield a final solution that depends on the initial solution. Remark If we consider a node a with no constraint attached, then the terms Tv(a\(p) and 7" (a) are both equal to zero and the local DSI equation (4.46) becomes: { no constraint attached to a } In such a case, the shape of this equation, which tends to suggest that (p"(a} is free from any constraint, is quite confusing. However, this is not true. It is important to understand that, recursively through the graph Q(£t, N), this value y>v(oi) depends on values {<£>"(/?)} where constraints are applied, so that (pv(a) is also dependent on these constraints.
4.4.4 Dynamic constraints Prom a theoretical point of view, the constraints c 6 C should always remain unchanged during the iterative process presented in section (4.4.3). However, in practice, dynamically updating these constraints at each step of the iterative process can be extremely useful. For example: • If a constraint c is not linear, then it is always possible to linearize it in the neighborhood of the current solution (see section (4.4.5)). This current solution evolves at each iteration making it necessary to update such a linearization. • Consider the example in figure (1.11), where (f represents the geometry of a surface H that has to fit a set of points scattered in the 3D space. Each data point is assumed to attract the impact point corresponding to its projection onto the surface in a given direction. It is clear that, keeping the directions of attraction constant, the impact points change during the iteration process, thus it is wise to update them: this, in turn, implies that the constraints modeling these "attractions" need to be updated. To permit the updating of such "dynamic constraints," we propose modifying the iterative algorithm presented in the previous section as follows: //— DSI algorithm with DSI constraints
let / be the set of nodes where
4.4.
167
THE LOCAL DSI EQUATION
Figure 4.3 Smoothing a 3D surface with DSI: the initial surface is a sphere whose geometry has been randomly perturbed. }
for_all( c 6 C ) { if( c is dynamic ) • update c
}
} II end : for_all( a € / ) } // end : while( more iterations are needed ) It should be noted that, from a theoretical point of view, the uniqueness of the solution can no longer be guaranteed when such dynamic constraints are used. In general, the final solution depends both on the initial solution ?[o] and the ordering of the nodes of O used in the main loop of the DSI algorithm: initial solution c^[ one particular solution
ordering of
However, in practice, if the modifications of the constraints between two successive iterations are small, then the convergence is still observed, and the final solution is weakly dependent on the initial solution. Dynamic constraints appear to provide a very efficient way of solving problems with complex constraints. The global approach consisting of solving the matrix equations (4.34) does not allow such dynamic constraints to be taken into account: accordingly, we consider the iterative approach based on the above algorithm as the only one to be used in practical applications. Example 1: Smoothing Let us assume that we want to "smooth" the component (pv of a function (p belonging to a discrete model ^"(OjTV, 9,C). More precisely, we would like to replace the current values {^^(a) : a 6 fi} by new values {ipv(a) : a <E $1} in such a way that
168
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
• the global roughness R(tp) is smaller than R((f>0id), and • the smoothed solution ? is close to
By the mere installation of the following dynamic constraint, such a smooth solution can be very easily obtained using the iterative DSI algorithm:
This constraint is a "fuzzy Control-Node" constraint similar to the one corresponding to equation (4.52). The only difference is that (p0id is constantly modified to be equal to the value of (p at the previous iteration. In the example shown in figure (4.3), the efficiency of the smoothing method is clearly evident. Here, the smoothing algorithm was simultaneously applied to the components (
In this definition of ?, the values {xx(a),x?/(Q:),x2:(Q:)} represent the coordinates of the node a in the 3D space. As suggested in figure (4.4), let us consider a situation where • d(a) is a given direction attached to a, and • pr(a|d) is the impact point on a target T of the straight line launched from a in the direction d(a). By definition, we call a "fuzzy Control-Distance" constraint a DSI constraint specifying that a must be located at a given distance 6(a) from T in the direction d(a). If we note pT(a|d, 8} as the point such that
then it is easy to see that the notion of "fuzzy Control-Distance" can be implemented as a "fuzzy Control-Node" (see page 164) such that
It should be noted that x(a) moves at each iteration of the DSI method and the impact point p T (a|d) has to be updated at each iteration. This clearly shows that the "fuzzy Control-Distance" constraint so defined is a dynamic constraint.
4.4.
THE LOCAL DSIEQ UATION
169
Figure 4.4 Notion of "fuzzy Control-Distance:" the node a must be located at a distance 6(a) from a target T in a direction d(a).
4.4.5
Nonlinear constraints
Let us assume that (p has to respect the following constraint c
where Fc is a given nonlinear derivable function of (p. Let F'c be the vectorial derivative (see section (4.1.5)) of Fc((p) relative to 9? at a given point (p^y.
According to the Taylor series expansion formula (see equation (4.27)), in the neighborhood of ?[o] > we can write
Let us assume that Fc((p) is not constant in the neighborhood of
If we want (p to honor the constraint (4.54), then we deduce from equation (4.55) that (p must honor the following linear normalized DSI constraint c:
Let us define A£(a|>[o]) as follows:
170
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
According to equations (4.49), and (4.51), we conclude that the terms 7e (a) and r^(a|c/?) associated with the above constraint are such that
It should be noted that the resulting constraint is a "dynamic" DSI constraint because the coefficients Avc (a) and bc have to be updated at each step of the iterative process. As a consequence, we are not sure of the uniqueness of the solution yielded by the DSI iterative algorithm. Theoretically, the solution so obtained may depend on the initial solution ip^. Remark The term A^(a|(/?[ 0 ]) m the equation (4.56) can be interpreted as a "repelling force" that tends to pull
In the above expression, the chosen value of e should be small enough to prevent large modifications of ^pv (a) at each iteration.
4.5
Accounting for hard constraints
Definitions Let us assume that the solution (p of our problem has to honor strictly the sets C= and C-5" corresponding to hard constraints as defined by equations (1.5), and (1.6). Using the notations introduced on page 140, these constraints can be written as follows:
For any point (p in JR n ' M , the notions of active and inactive constraints are defined as follows:
4.5. ACCOUNTING FOR HARD CONSTRAINTS
171
Within the framework of optimization theory [90], such notions of active and inactive constraints are used to introduce the following concepts: • A constraint c e C= or c £ C> is said to be honored if it is inactive. •
Active set method Let us assume that an approximated solution corresponding to a feasible point V?[0] is known and that the aim is to find, in the neighborhood of ?[0], a new point corresponding to a lower value of the global roughness R*((p~). For this purpose, we propose to proceed iteratively for each node a of the graph as follows: 1. Let (p be a new point of JRn'M deduced from ?[Q] by replacing the components {7[o](«)} by the values obtained with the local DSI equation (4.46) without taking any hard constraints into account. 2. Build the set A.(C~, C 5 *)^) of active constraints at point (p. 3. Look for a point tp* such that
Determining (p* Let Hc be the hyperplane of lRn associated with a hard constraint c E C (see page 141). Complying with item 3 of the active set method introduced above implies finding that point of Hc that is the closest to the current point (p. In other words, (p must be equal to the orthogonal projection of (p on Hc. Bearing in mind the fact that Ac is orthogonal to Hc, it is easy to check that the orthogonal projection (p* of (p on Hc is defined by (see figure (4.1)):
172
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
Throughout this chapter, it has been assumed that the constraints are normalized (see page 140), which, according to equation (4.4), implies that the above formula can be written in the following simpler way:
Iterative algorithm To account for hard constraints, we suggest slightly modifying the iterative version of the DSI algorithm based on the local DSI equation: //— DSI algorithm with dynamic and hard constraints let I be the set of nodes where ?(a) is unknown let (f> = y>[o] be a given initial approximated solution let w be an estimated value of the balancing factor while ( more iterations are needed ) { for_all( a e / ) { for_all( v } { }
while( A(C=, C** \i{>) is not empty ) { • choose a constraint • compute • update • update } for_all( c <E C ) {
if( c is dynamic ) • update c }
} Jl end : for_all( a € I ) } // end : while ( more iterations are needed )
Existence and uniqueness of the solution Let R™' be the subspace of ]Rn corresponding to the components of <^/. Each hyperplane Hc corresponding to a hard constraint c intersects IR™' according to a "hyper-straight-line" H*:
As suggested in figure (4.5), the set of all these hyperstraight-lines is bounding a region H of IR^M defined by
4.5. ACCOUNTING FOR HARD CONSTRAINTS
173
Figure 4.5 Minimizing the global roughness (represented by contour lines) in the feasible domain H. denned by hard constraints (dashed area): initial and final solutions are represented by white and black circles, respectively. Parts (A) and (C) show the cases of one and two equality constraints, respectively, while part (B) shows the case of an inequality constraint and part (D) a combination of an inequality and an equality constraint. It is clear that H. is a convex subset of M™' , and, provided that 7i is not empty, this implies that any convex function denned on JR™ has only one minimum in Ji. If we observe that any positive definite quadratic function such as, for example, the global roughness R*(y>), is convex, then we can conclude that if
: the set of hard constraints is not empty and there is at least one feasible point
then
: the DSI solution exists and is unique
Convergence If the set H of feasible solutions is not empty, then convergence of the iterative algorithm presented on page 172 is ensured by the fact that the generalized global roughness R*(
174
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
• the initial solution c^ ' is represented by a white circle, while the DSI solution is represented by a black circle, and • the feasible region Ti. corresponds to one of the following: 1. one hyperplane Hc associated with one equality constraint (see figure (4.5)-A), 2. a convex region bounded by a series of hyperplanes {Hc} associated with inequality constraints (see figure (4.5)-B), 3. a mixing of the cases (1) and (2) where the hyperplane Hc associated with an equality constraint is "clipped" to a convex region associated with a set of equality constraints (see figure (4.5)-D), or 4. the intersection of two (or more) hyperplanes Hc corresponding to equality constraints (see figure (4.5)-C).
As can be seen in figure (4.5), the updating formula
tends to pull the current solution <£> toward the minimum of R*(^} while the loop while( A(C~,C>\ip) is not empty ) { • choose a constraint • update • update }
systematically projects this current solution orthogonally on the convex domain 7i.
4.6
Accelerating the convergence
The DSI problem is no more than a particular quadratic programming problem and the local DSI equation can be viewed as the well-known steepest descent method. This suggests that traditional methods dedicated to this kind of problem (e.g., [141, 90]) can be used for accelerating the convergence of the iterative DSI algorithm as, for example: • the successive over-relaxation method (e.g., [209], [177]), and • the conjugate gradient method (e.g., [209], [90], [177]).
Each of these methods is based on the same principle, which consists of using the result of iteration [p— 1] to improve the result of iteration \p\. The first one corresponds to a local strategy, while the second involves a global approach.
4.6.
ACCELERATING THE CONVERGENCE
4.6.1
175
Traditional methods
Successive Over-Relaxation This method relies on the following implicit assumption: If the convergence is monotonic, then it is possible to use the "direction" of variation of(p for updating (p by a new value beyond the "optimal" value proposed by the local DSI equation. In other words, if
This updating equation is generally written in the following equivalent way:
The factor LJ is the so-called "over-relaxation" coefficient, which is in general taken to be in the range [1,2]. The optimum choice of a; depends on all the parameters of the discrete model A4 n (f2, TV,
} // end : for_all( a e / ) } // end : while( more iterations are needed
176
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
The Conjugate-Gradient method Let us assume that there are neither dynamic nor hard constraints except those corresponding to CL. In this case, according to equation (4.32), the solution (pi of the DSI problem corresponds to the minimum of the quadratic form R*(
Let ]R™'M be the subspace of Mn'M corresponding to the (n • |/|) unknown components of ? stored in the submatrix <£>/, and let Rj(ipi) be the restriction of R*(
The idea of the conjugate gradient method is to build progressively at each iteration, a series of independent directions {d/[0] 5 d/[i],..., d/[p]} of JR™'M and to determine a step (scalar value) s\p] in the direction d^ such that
It can be shown (e.g., see [90]) that the optimal step S[P] in the direction d/[p] is such that
At each iteration p, the direction d/[p] is obtained as a linear combination of the gradient gradj^ at point y>/[p], with directions {^/[o],<^/[i], • • • ,^/[p-i]} obtained at previous iterations. The coefficients of this linear combination are chosen in such a way that rf/[p] is "conjugate" relative to all the previous directions in the following sense:
As a consequence of this "conjugacy" property, it is possible to show (e.g., see [90, 163]) that the gradient gradi^p+^ at iteration \p + I] and the associated direction d/[p+i] can simply be updated according to the following equations:
The conjugate gradient method can then be implemented according to the following iterative algorithm: //— DSI algorithm using Conjugate-Gradient let / be the set of nodes where ip(a) is unknown let (p *— <£>[o] be a given initial approximated solution
4.6. ACCELERATING THE CONVERGENCE
177
let gradi <— [Wjj] • <pr ~ ipi let di <— — gradi and 7 <— ||gra
} If end : while( more iterations are needed )
This method is very efficient. Furthermore, it is possible to prove that it converges in, at most, (n • |/|) iterations. However, there are two major drawbacks: 1. Because ipj is used only in the initialization phase, it is impossible to change if)i between two iterations, implying that dynamic constraints cannot be taken into account. 2. The method does not allow hard equality or inequality constraints to be taken into account.
For these reasons, the next section proposes a "pseudo" Conjugate-Gradient method that also converges very rapidly, yet still offers the possibility of taking hard and dynamic constraints into account. The Pseudo-Conjugate-Gradient method
Taking into account equation (4.45), we can observe that, for all a e O and all v 6 {!,...,n}, the components {gradf(a)} of the vector gradi in the conjugate gradient method presented above are such that
This suggests modifying the conjugate gradient algorithm as follows: //— DSI algorithm using Pseudo-Conjugate-Gradient
let / be the set of nodes where
while( A(C=,C>\(p) is not empty ) {
178
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
• choose a constraint • update • update } for_all( c e C ) { if( c is dynamic ) • update c }
let gradi be the vector defined by equation (4.59)
} // end : while( more iterations are needed ) It is important to note that, contrary to the pure conjugate gradient method, the above algorithm allows the dynamic and hard constraints to be taken into account at each step of the iterative process. As a consequence: • if there is no active dynamic and/or hard constraint other than those corresponding to C L , then the above algorithm reduces to the classical conjugate gradient method, and • if there are active dynamic and/or hard constraints, then the above algorithm is equivalent to the classical DSI algorithm based on the local form of the DSI equation. For these reasons, we propose calling "pseudo" Conjugate-Gradient method the above algorithm derived from a method initially proposed by Fletcher and Reeves [81] for minimizing non-quadratic objective functions. Computing the optimal value s It can be observed that the above Pseudo-Conjugate-Gradient method requires to compute the optimal value of s at each iteration. Unfortunately, if there are active dynamic constraints, the matrix [W//] varies at each iteration and the pseudo-conjugate directions cannot rigorously honor the conjugacy constraint (4.58): as a consequence, equation (4.57) cannot be used to determine the optimal value of s. In this section we will show how to compute this optimal value as a function of the terms gu(oi), G"(a\(p), 7"(en) and Ty(ot\(f>) denned by equations (4.47), and (4.48). For this purpose, let us consider the direction d as a vector of IRn' partitioned in a similar way to the partition of (p denned by equation (4.30):
For the sake of simplicity, the (n • |L|) components of dL are assumed to be equal to zero and we introduce the vector x(s) of lRn' denned by
4.6. ACCELERATING THE CONVERGENCE
179
Let xv(a., s] and dl'(a) be the components of x(s) and d corresponding to the component (pv(ot) of (f>:
Using the notations presented in section (4.1.5), we can write
By definition of R*(x), we have (see equation (4.22)):
According to equation (4.43), and (4.44), we also have:
Merging these two equations with equation (4.61) gives:
Let Bl>(a\i/j) and ft"(a) be the real values defined as follows for any node a e ft and any vector ^ e Mn'M:
On the other hand,
180
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
Using these notations, we deduce that equation (4.62) can be written as
According to equation (4.60), this implies:
The optimum value of s is thus the one for which dR*(x(s})/ds zero, leading us to conclude that s must be chosen such that
is equal to
where BV(OL\I^) and bv(a) are defined by equations (4.63).
4.6.2
Other acceleration techniques
The over relaxation and conjugate gradient methods can be combined with other techniques to achieve even faster implementations of the DSI algorithm. In the following, three of these possible methods are presented briefly. Fast initializers
Fast initializers are methods that allow for the rapid generation of an initial solution ?[o], close to the optimal DSI solution. For example, a very efficient method, called the "explosive data method" (see [50]) consists in propagating a "wavefront" W(t) from the initial data through iterations t = (0,1,...): //— explosive data initializer for DSI let t <— 0 let £7(t) <— set of nodes holding Control-Nodes let W(t) <— fi(t) while(fl(*) ^ ft ) { W(t + ! ) < — 0 for_all( a 6 W(t) ) { for_all( 13 €. N(a) ) { if( (3 not in ft(t) ) { • ¥>(£) <— ¥>(«)
• n(t) <— n(t) u {(3}
}
}
}
• W(t + l)<—W(t + l}U{/3}
4.6.
ACCELERATING THE CONVERGENCE
181
It is easy to extend this algorithm to other constraints such as fuzzy ControlNodes or fuzzy Control-Points (see sections (4.4.2), and (4.7)). Multigrid Methods Multigrid methods consist in decomposing the discrete model .A/P(f2, N, (p,C] into a series of simpler models defined as follows:
is deduced from .M"(n[i_i],Ar[i_i],y>[i_i],C[i_i]) by regularly removing nodes from O[j_i]
Let us assume that a series of m such models have been built that way. The interpolation of
The solution <£>[Q] s° obtained can then be used as an initial solution for the DSI algorithm applied to A4 n (f2, N, ip,C). The principal difficulty with this approach is to build the series of constraints {C[ 0 ],..., C[m]} in a consistent way. Parallel processing From a theoretical point of view, if we look at the DSI algorithm presented on page 165, it is clear that • the ordering of the nodes of the set / does not matter, • at each step of the iterative process, the application of the updating equation
always transforms the current function (p into a function closer to the DSI solution. We conclude from these observations that the main loop of the iterative algorithm presented on page 172 can be executed in parallel on several processors sharing the same memory where the model ,Mn(rj, JV, ?,£) is stored.
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
182
Figure 4.6 Spreading a constraint (white point) on the set of nodes Q* (black nodes) that correspond to the vertices of a cell of the network used by DSL (A) Case of a 1-cell. (B) case of a 2-cell. (C) and (D), case of 3-cells.
In the case where the conjugate gradient or Pseudo-Conjugate-Gradient methods presented on pages 176 and 177 are used, parallel methods can also easily be implemented to compute matrix products such as {[W/j] • dj} and {(diY • [Wjj] • (di}*} or to compute the optimal value (4.64).
4.7
The fuzzy Control-Point paradigm
There are many applications where a discrete model M.n(£l, TV, 95, C) is used for modeling the variations of a property (/? attached to a discrete curve, a discrete surface or a discrete volume (see figures (1.5), and (1-6)). In such a case, the cells8 of the mesh induced by the graph £/(fi, N) have a geometric meaning and the geometry of these cells is assumed to be defined by the location of the nodes corresponding to their vertices in the 3D space. As suggested in figure (4.6), the case may arise where a piece of information 0(p) on (p attached to a point p, belonging to a given cell, is known and has to be transformed into a DSI constraint to be added to C. In this section, we will see how to spread such a piece of information over the vertices of the cell surrounding the point p. The resulting DSI constraint is called a "fuzzy Control-Point" (FCP) constraint.
4.7.1
First tutorial example
Let us consider a cellular partition P(<S] of a "target" surface <S where all the 2-cells are triangles, and let 0 be the set of all the vertices of P(S}. The edges of P(S) define a graph £?(f2, A/"), which can be used for building discrete models (e.g., figure(1.6)-A) associated with the geometry and the properties 8
For example, segments, triangles, tetrahedra, hexahedra, polyhedra, and so on.
4.7. THE FUZZY CONTROL-POINT PARADIGM
183
Figure 4.7 Spreading a constraint on the vertices of a triangle belonging to a triangulated surface. of <5 sampled at the vertices of P(S}. For the sake of consistency with further chapters devoted to geometry, the location of any node a. G 1) will be noted as x(a) and the triangles of P(S} based on the vertices will be noted as ! Fuzzy Control-Property
Let Aip(0, N,
The linear interpolation
be written as
The aim is to define a DSI constraint spread over the region £7* = (ao, ai, o^) and specifying that In other words, we would like to "project" the value >(IP) on the "target" <S in the direction D. For this purpose, we propose to merge the equations (4.65), and (4.66) into one linear DSI constraint c e C~, distributed on the region 0* = (CKQ, o^, Q 2 ) and definedby
184
CHAPTER 4. DISCRETE SMOOTH INTERPOLATION
with:
It is easy to check that this constraint generates the following terms 7c(cKi) and rc(oti\(p) in the local form of the DSI equation at each node ctj G Q*:
Fuzzy Control-Point (sensu stricto) Let us return to the example presented in the above section, and let us consider IP as a "magnet" attracting the point p of the triangle T(X(QO), x(ai), x(ai2)) with a force proportional to a given factor wc. In other words, we would like to have p as close as possible to the given point IP with a certainty factor equal to wc. For this purpose, the triangulated surface S can be considered as being associated with a discrete model A/(3(0, .AT, <£, C) where (p represents the geometry of S:
In this definition of ?, the values (XX(Q!),X!/(Q;),X;?(Q;)} represent the coordinates of the node a in the 3D space, and we suggest adapting the notion of fuzzy Control-Properties, presented above, in such a way that where (IP1, IPy, IP*} represent the components of IP in the 3D space. In this case, the "magnet" IP attracts the point p and this generates a set of three independent "fuzzy Control-Property" constraints (cx,cy,cz] associated with each of the components of (p: This set of independent constraints is called "fuzzy Control-Point" and generates the following coefficients, 7^(0^) and T"(ai\q>), occurring in the local form of the DSI equation
where Jl* represents the set {aQ,ai,a<2\. Contrary to the notion of fuzzy Control-Property, in the case of a fuzzy Control-Point, the geometry is changing at each step of the iterative DSI algorithm such that
4.7. THE FUZZY CONTROL-POINT PARADIGM
185
• If the vertices of T(X(Q;O), x(ai),x(a2)) have moved in such a way that p is still located inside T(x(ao),x(ai),x(a2)), then the barycentric coordinates (Ai(p)} have to be updated. • If the vertices of T(x(ao), X(QI), x(a2)) have moved in such a way that p is now located outside T(x(ao),x(a!i),x(a:2)), then we have to look for a new triangle holding the projection p of IP on S, and the barycentric coordinates {Ai(p)} relative to this new triangle have to be recomputed. This implies that fuzzy Control-Points have to be implemented as dynamic DSI constraints (see section (4.4.4)). In practice, this type of constraint is quite efficient and yields excellent results (see [130, 3]). For example, the modeling of the surface presented in figure (1.11) was based on fuzzy ControlPoints. Comment 1: Generalization All of the above is independent of the fact that the target S is a surface and the fact that the nodes 17* used for spreading the constraints correspond to the set of vertices of a triangle. In practice, similar results are obtained by "projecting" IP at a point p belonging to a segment of a polygonal curve (see figure (4.6)-A), a triangle of a triangulated surface (see figure (4.6)-B), a tetrahedron of a tetrahedralized volume (see figure (4.6)-C), a hexahedron of a volume (see figure (4.6)-D), or any set of nodes 12* surrounding the impact point p. Comment 2: Fuzzy Node-on-Plane The notion of Node-on-Plane constraint is the exact opposite of the notion of fuzzy Control-Point (sensu stricto) presented above. We would now like to have a node a to be attracted by a plane P(p, N) passing by a point p and orthogonal to a unit vector N. It should be noted that the node a can belong to any type of object, for example, a curve, a surface, or a solid. The attraction of a by the plane P(p, N) tends to maintain the point
This equation can easily be turned into the following canonic DSI constraint c = c(a, N)
with:
186
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
We can be verify that this constraint generates the following terms 7^ (a) and F^(a|(/?) in the local form of the DSI equation at node a:
4.7.2
Second tutorial example
Let us consider a regular n-grid as denned in section (3.4), and let fi be the set of all the vertices of this grid. The edges of the grid define a graph (/(17, AT), which can be used for building discrete models (e.g., see figures (3.17), and (3.18)) where the geometry and the properties are assumed to be defined at the vertices of the grid. For the sake of consistency with further chapters devoted to geometry, the location of any node a 6 0 will be noted as x(a). Fuzzy Control-Property Let Aip(fi, N, ?,£) be a discrete model corresponding to a property (p to be interpolated over the set O corresponding to the nodes of the regular n-grid. As shown in figure (3.20), let p = p(u) be a given point located in a given cell C, and let us assume that • the vertices {ctii...in '• ik G {0,1}} of the cells are numbered as suggested in figure (3.20), and • the parameter u = [it1,.. ^u71]* corresponding to the location of p = x(u) in C is assumed to have been determined according to the algorithm presented on page 126. According to equation (3.16), an interpolation ?c(p) of <£ at p = x(u) in the cell C can be written as
with: As in the first tutorial example, the aim is to define a DSI constraint spread over the set of nodes 0* consisting of the vertices of C and to specify that
where >(p) is a given value. For this purpose, we propose merging equations (4.70), and (4.72) into one linear DSI constraint c G C~, distributed on the region O* and defined by
4.7. THE FUZZY CONTROL-POINT PARADIGM
187
with:
According to equation (4.49), such a constraint generates the following terms Jc(&ii...in) and r^o^...^!^) in the local form of the DSI equation at each node ail...in G 0*:
\
Fuzzy Control-Gradient In the same context as the fuzzy Control-Property constraint presented above, let us now assume that we want to specify that
where {<7i(p), • • •, <7n(p)} are given described on page 127. As can be variant) component of the gradient this reason, the set of n constraints Gradient" constraint. If we define A^' in (p) as
values while u = u(p) is determined as seen, gj(p) is no more than the jth (cog of the function ip at location p and, for (4.74) is globally called a fuzzy "Control-
then equation (4.70) implies that
It can then be deduced that the constraints (4.74) are equivalent to the following DSI constraints (c(l, p ) , . . . , c(n, p)} defined by
188
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
with:
According to equation (4.49), each of these n constraints generates the following terms fyc(j,p)(aii...in) and ^ c (j,p)( a ii...i n \f} m the local form of the DSI equation at each node Q;^...^ of the n-cell containing the point p:
For simplicity's sake, it is convenient to gather these n constraints {c(j, p)} into one single composite constraint c(p) defined as follows:
4.7.3
Generalized fuzzy Control-Point
Interpolating over a region of 0 Let .Mn(Q, Af, ?,C) be a discrete model representing a geometrical object for which the location x(a) of each node a 6 £7 in the 3D space is now assumed to be a given:
Let Q* be a subset of nodes corresponding to a "region" of Q
4.7.
THE FUZZY CONTROL-POINT PARADIGM 189
and let {Aa(p) : a £ O*} be a set of associated continuous (real valued) weighting functions,9 defined on the 3D space JR and verifying the three following "cardinal" properties:
Thanks to the two first cardinal properties of the weightings (A Q (p)}, we can be sure that, for any point p € M3, the function 3(p) defined as follows
interpolates the values {v(ot) : a € £2*}:
Moreover, the third cardinal property guarantees that this interpolation is not "biased:"
Definition Let dp be the interpolation of (p defined above, and let flp(-) be a family of linear operators indexed by p € M3 and transforming the vectorial function (p into a real number Qp((f>} in such a way that
where {a p ,..., a™} are assumed to be linear operators. The aim is to install a DSI constraint on each node a 6 fi* specifying that 0>p(
:
are given
By definition, such a constraint will be called "Generalized fuzzy ControlPoint" attached to point p. D u e t o t h e linear representation o f
9 It should, of course, be noted that these functions can correspond to barycentric coordinates, but they may also consist of nonlinear blending functions.
190
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
It is easy to see that the associated DSI constraint c — c(p) can then be formulated as follows:
with:
4.8
The fuzzy Control-Node paradigm
The notion of fuzzy Control-Node (FCN), has already been introduced (see page 164): it consists of a DSI constraint cva specifying that the component if>v(oi] of
We have already seen (see equation (4.53)) that such a constraint yields terms TvcV (a\(p) and 7^ (a) denned by equation (4.53):
The notion of FCN is the simplest soft DSI constraint imaginable. This section shows • how to transform a constraint c 6 C~ into a series of FCN constraints, and • how the DSI solution is sensitive to the location of the FCN constraints.
4.8.1
Equivalent dynamic fuzzy Control-Node
In this section, we show that any constraint c G C~ is equivalent to a set of Dynamic fuzzy Control-Node constraints {cva a e f2£, v = 1 , . . . , n} associated with a set of values {0ala ^ ^ c > v = 1> • • • , ^} to be updated at each step of the iterative DSI algorithm.
Definition Let Ac and bc be the parameters that define a constraint c belonging to C~ and let Slva be the subset of 0 defined by
4.8.
THE FUZZY CONTROL-NODE PARADIGM 191
We will note as {cva\a e 0^,^ = l , . . . , n } the set of fuzzy Control-Nodes associated with the constraint c and denned by
where the increment A^(a|<^) is defined by
Theorem Any constraint
is equivalent to the set
of its
associated Dynamic fuzzy Control-Nodes. Proof If we compare the equation (4.52), and (4.53) with equation (4.51), then it is easy to check that c has the same contribution to the terms 7^ (a) and Tv(a\(p] denned by equation (4.48) as the set of constraints {cva\a e 0^, v = 1 , . . . , n}. As a consequence, c and the set {c^|ct 6 Wc,v = l , . . . , n } have the same contribution to the equation (4.46) used to update ^(ot) in the DSI iterative algorithm.
4.8.2
Pseudo-distance to data
This section addresses the problem of building a scalar function d(a\(p) measuring a "pseudo-distance" of node a relative to the location of Control-Nodes (CN) and fuzzy Control-Nodes (FCN) set on the components of a function (p. It is important to mention that the proposed approach is purely pragmatic and has no theoretical claim. Definition of d(a\Q*) Let us consider a discrete model A^1(il, TV, (p,Cp) and let O* be the subset of O to which the CN and FCN constraints defined by C^ are attached. By definition, we call "pseudo-distance to CN and FCN" or, more simply, "pseudo-distance to data," the function d(a\fl*) equal to the smallest number of steps that one has to take from a e f2 on the graph Q(£l,N) before reaching a node a* £ fi*. Building d(a\W] In practice, the function d(a\£l*) defined above can be built using the following algorithm, where N(/3) is assumed to consist of all the nodes that can be reached from /3 6 fi in one step on the graph G(£l, N):
192
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
//— Building pseudo-distance to data
//— initializations let S[-] be an array of 2 empty stacks for_all( a <E to ) d(a\Sl*) <— (-1) ; for_all( a* € 17* ) { d(a*|£T) <— 0 ; 5[0].push(a*) ; } i <— 0 ; dist «— 1 ; //- computing d(a|fl*) do { while( 5^].not-empty() ) { £<—S[t].pop() ; for_all( aeJV(/3) ) { if( d(a|Q*) == -1 ) { d(a|Q*) <— dist ; S[l - i].push(a) } } } % <— (1 - i) ; dist <— (dist + 1) ; } while( 5[i].not-empty() ) ; If the geometry x(ai) of the nodes of G(£l, N] is known for all a G 17, and if the edges of £(17, N) are of about constant length, then d(o:|17*) is approximately a geodesic distance (see section (5.3)) between a and the closest node a € 17* holding a CN or an FCN. As shown in figure (4.8), if smooth variations of d(a\£l*) on 17 are required, then the smoothing technique presented on page 167 can be applied to d(a\tt*). DSI variance of estimation Let us consider a discrete model A/(1(17, AT, ?,C v ). The DSI interpolation yields no more than an estimate
is, on average, an increasing function of the pseudo-distance d(a\fi*) to the data. By definition, the "DSI variance of estimation" (T^(a\
where 6 is the average length of the edges of the graph C?(17, N), while 7^0 is the estimated variogram of
4.9. FROM A DISCRETE TO A CONTINUOUS MODEL
193
Figure 4.8 An example of geological horizon interpolating nine well-markers and associated grey scale representation of the pseudo-distance d(o:|Q*) to these well-markers. Kriging" interpolator presented in section (9.7.3). In practice, the function cr|,(a|(/?, fJ*) can be considered as an approximation of the average of the square error S^(a\(p, £7*) defined by equation (4.79).
Example Figure (4.8) gives an example of a geological horizon whose geometry is controlled by nine FCN called "well-markers," which correspond to the intersections of this horizon with wells. The pseudo-distance to these FCN is color coded on the surface according to a given grey scale.
4.9
From a discrete to a continuous model
This section describes how any discrete function ?, defined on the finite set 17 of the nodes of a given graph G(£l, A/"), can be transformed into a continuous function
4.9.1
Global parameterization
ofQ(£l,N)
Definition Let us assume that the graph fy(i7,7V) models an object A whose topological dimension is equal to d. By definition, we will say that A is "globally parameterized" if there is a cellular partition10 P(D) of a closed region D of lRd such that 10
See section (2.3).
194
CHAPTER 4. DISCRETE SMOOTH
INTERPOLATION
Figure 4.9 Global parameterization of a 2-dimensional graph Q(£l, N). • D has the same topological dimension as the object A
dim(D) = dim(A) = d • There is a vectorial function u from £1 to D denning a one-to-one mapping between the edges and the vertices of <5(fi, N) and the edges and the vertices ofP(D), respectively:
Any function u honoring the above constraints (4.81) is called a "global parameterization" of A, and D is called the "parametric domain" associated with this parameterization. As suggested in figure (4.9), such a parameterization u(a) is a vectorial function having d components defined on O. These components are called "parameters" of the parameterization u:
Examples of global parameterizations It is easy to see that the global parameterization of an object A associated with a graph (?(fi, N) is not unique. In practice, such a parameterization can be defined in many different ways, depending on the nature of C/(£],JV); for example: • If (Q, N) corresponds to a curvilinear regular 3-grid A such as the one shown in figures (1.5)-D and (10.1), then d — 3 and it is natural to choose the 3 curvilinear coordinates (u,v,w) of the nodes in the grid for u(a):
• If £7(Q,JV) corresponds to a set A of adjacent tetrahedra such as the one shown in figure (1.5)-B, then d = 3 and it is natural to choose the 3 Cartesian coordinates (x, y, z] of the nodes in the 3D space for u(a):
4.9. FROM A DISCRETE TO A CONTINUOUS MODEL
195
• If £?(fi, TV) corresponds to a polygonal curve A such as the one represented in figure (1.5)-C, then d — 1 and it is natural to choose the curvilinear abscissa s of the nodes on the curve for u(a):
• If £/(Q, TV) corresponds to a 2-dimensional triangulated surface A such as the one shown in figure (4.9), then d = 2 and we will see in section (6.5) that it is possible to use the DSI method for interpolating on SI a pair of parameters (ul,u2) that play the role of 2-dimensional parametric coordinates for the surface. In this case, it is natural to use these parameters to define u(a):
4.9.2
Continuous model
Global continuous interpolation Any function (p denned on f2 appears as the sampling of a continuous function <£(u) defined on D in such a way that By definition, any continuous function 5(u) honoring the above constraint (4.82) is called a "global interpolation" of (p. When there is no possible confusion, we will use the following simplified notation:
Global continuous linear interpolation Among the many possible interpolations <^(u), linear interpolants with the following form are certainly the most frequently used in interpolation problems: In this definition of v?(u), we assume that {A a (u) : a e 17} is a set of continuous (real-valued) weighting functions denned on the d-dimensional parametric domain D and honoring the three following "cardinal" properties similar to those already introduced in section (4.7.3):
Thanks to the two first cardinal properties given above, we are sure that, for any point u £ D, the function
196 CHAPTER 4. DISCRETE SMOOTH INTERPOLATION For example, the "Ordinary Kriging" interpolant presented in section (9.7) is based on weighting functions {Aa(u)} honoring constraints (4.83). Global piecewise continuous linear interpolation Let C(u) be the rf-cell of P(D] containing u. Among the many possible choices for the functions {Aa(u)}, the most interesting ones are those that involve only the subset 0(u) of Q consisting of the nodes a such that u(a) is a vertex of C(u):
For example, the barycentric interpolant presented in sections (4.7.3), and (6.1.3) is a local interpolant that honors the constraints (4.83) and can be written according to the above equation (4.84).
4.10
Conclusions
In practice, the DSI method has proven to be a very efficient modeling method. The main reasons for this success are the following: • This method enables us to interpolate the geometry and the properties of curves, surfaces, and solids using the same software. This amazing flexibility is due to the fact that the DSI method does not need to know the topological dimension of the object described by the graph Q(^i,N). Furthermore, it is even possible to apply DSI to discrete models of non-uniform dimension, which are locally isomorphic to a curve, a surface, or a solid; for example, this is the case for a "high permeability region" in a 3D layer, which is locally a micro channel (= a curve) connected to a permeable fault (= a surface) and itself intersecting a permeable lens (= a solid). • Potentially, it is possible to account for any type of data provided that these data can be turned into linear constraints. • In the parts of an object .Mn(fi, N,
4.10. CONCLUSIONS
197
anisotropy can be heterogeneous and can change from one node a € fi to another. • The iterative algorithm converges very fast and, even for models having several thousands of nodes, the solution can be obtained in real time on most of the current workstations. Moreover, the more constraints there are, the more rapidly the method converges; in the end, given enough consistent constraints, the method may even converge in one iteration. • Last, but not least, the DSI method is numerically very stable, even when the data are strongly clustered.
From a theoretical point of view, the most interesting aspect of DSI is certainly the fact that this generic interpolation method is completely independent of the data: DSI sees only constraints induced by the data and not the data themselves. This means that any existing software based on DSI does not have to be changed each time a new type of data is added to enrich the modeling process. This is very important for the future because it allows an incremental approach to software development dedicated to DSI constraints.
This page intentionally left blank
Chapter
5 Elements of Differential Geometry The subsurface is a world full of complex surfaces (horizons, faults,...) and curves (channel axis, contact horizon-fault,...), and a good understanding of the geometry of these geological objects requires a minimal background knowledge 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 example. Moreover, within the framework of this chapter, it will also be shown that differential geometry has some direct practical applications in the realm of subsurface modeling.
5.1
Parametric curves
Introduction As suggested in figure (5.1), a parametric representation of a curve C or, more simply, a parametric curve, is the name given to any mapping x from a (domain) segment [io^i] onto C:
In Computer-Aided Design (CAD) applications, C belongs to the 3D space and x(£) has three components, that we propose to note as follows:
199
200 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETR
Figure 5.1 Parametric representation x(t) of a 3D curve C.
We will assume that x is derivable relative to t and, for any derivable functions u = u(t) and v — v(t), we will use the following notations:
By definition, we will say that x represents a regular (parametric) curve if x t (t) never vanishes on the domain [to 5 ^i] :
According to the definition of the notion of derivative, we have
and this shows that x f (t) is a vector tangent to the curve at point x(i). However, it should be noted that this tangent vector is, in general, without a unit length: ( in general )
By definition, a curve C is said to be simple if it is piecewise regular.
Reparameterization Let us consider a parametric representation {x.(t) : t e [£o,£i]} °f a curve C. For any piecewise diffeomorphism1 u = w(i), a new parametric representation (y(i*) : u E [1*0,1*1]} of C can be built, as defined by
1
In other words, u(t] is assumed to be differentiable and to be differentiably invertible.
5.1.
PARAMETRIC
201
If x is regular, then y is regular provided that du/dt never vanishes on the parametric domain [io»^i]Among all the possible parameterizations of a given curve C, it is important to mention the so-called "arc length parameterization associated with the unique function s ~ s(t) corresponding to the length of the arc (x(to),x(£)):
This implies that ds is the solution of the following differential equation:
As will be seen in the following paragraphs, arc length parameterization plays a central role in the theory of differential geometry of curves.
Unit tangent t(s) and curvature k(s) Let us consider the (unique) arc length parameterization x(s) of a curve C and let t(s) and k(s) be the associated vectors, as defined by
By definition, t(s) is called "unit tangenf vector at x(s), while k(s) is called "curvature" vector at x(s). Note that t(s) is really a unit vector, while k(s) has, in general, a non-constant length, but is always orthogonal to t(s):
These two properties are easily checked as follows:
If we remember that the curvature of a circle is equal to the inverse of its radius, then the name of the vector k is justified by the following properties (see figure (5.2)): • If the curve C is a circle of radius r, then k points toward the center and we haver = l/||k||. • For a general curve C, the best approximating circle at a given point x of the curve is called the "osculating circle" and has a radius r = l/||k||, which is called the "radius of curvature" at point x.
202
CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.2 Unit tangent vector t, curvature vector k, main normal vector m, binormal vector b, and osculating circle at a point x(s) of a parametric 3D curve C.
The Frenet Frame Let us consider a parametric representation x(s) of a curve as a function of the arc length. By definition, the trihedron {t(s),m(s),b(s)}, defined as follows at point x(s), is called the "Frenet frame:"
Any vector orthogonal to the curve at point x(s) can be decomposed as a linear combination of the two vectors m(s) and b(s) so that • m(s) is the "main normal" vector at point x(s), and • b(s) is the "binormal" vector at point x(s).
When we move on the curve from point x(s) to point x(s + ds), the Frenet frame (t(s + ds), m(s + ds), b(s + ds)} rotates relative to its initial orientation |t(s), m(s), b(s)} and the derivatives of these vectors relative to the arc length s characterizes the behavior of the curve in the neighborhood of x(s). For simplicity's sake, let t', m', and b' be the vectors defined as follows:
We already know the derivative t' of t: Moreover, the derivative m' is orthogonal to m because
We deduce from this orthogonality that there are two real functions (3 = (3(s] and T = T(S) such that
5.2. PARAMETRIC SURFACES
203
Taking into account equations (5.3), (5.4), and (5.5), we can write
If we remember that m = — (b x t), then we obtain
Taking into account equations (5.3), (5.6), and (5.4), we obtain
If we remember that b = (t x m) and t = (m x b), then we obtain
Equations (5.4), (5.7), and (5.6) can be grouped within the following differential equations, which summarize the local evolution of the Frenet frame:
Since b is a unit vector, ||b'|| measures the rate of change of the orientation of the osculating plane at x(s). In other words, ||b'|| measures how rapidly the osculating plane turns around the tangent t at x(s) and this is why T is called the "torsion" of the curve at x(s). According to equations (5.6) and (5.8), this torsion is such that
Looking at the schema in figure (5.2), in the neighborhood of x(s), we can physically deduce the curve from the straight line corresponding to the tangent t by applying the following two operations: • a bending (curvature) proportional to k, and • a twisting (torsion) proportional to T.
5.2
Parametric surfaces
Introduction As suggested in figure (5.3), a parametric representation of a surface S or, more simply, a parametric surface, is the name given to any continuously twice-differentiable mapping2 x from a 2D (parametric) domain D onto <S: 2 In several sections of this book (see chapter 6), we sometimes use a slightly different notation for parametric representation of surfaces where x(tt, v] is replaced by x(u) with u = (it1, u2) = (u, v).
204
CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.3 Parametric representation x(u, u) of a 3D surface S and its associated parametric domain D.
In CAD applications, S belongs to the 3D space and x(w, v) has three components that we propose to note as follows:
We will assume that x is derivable relative to u and v. we will use the following notations similar to those used for parametric curves:
If one of the components u — UQ or v = VQ is fixed, then the equation x(u, v) degenerates into a curve drawn on the surface <5, and it can be said that • x(uo,i>) is the "isoparametric curve UQ." Note that — this curve x(uo,iO is the image of the straight line u = UQ in the parametric domain D, and — the vector xu is tangent to X.(UQ,V} at X.(UQ,VQ). • -X.(U,VQ) is the "isoparametric curve VQ." Note that — this curve x(u, i>o) is the image of the straight line v — VQ in the parametric domain D, and — the vector xv is tangent to x(w,i>o) at x(uo,i>o).
In general, these tangent vectors xu and xv are without a unit length: (in general)
5.2.
PARAMETRIC SURFACES
205
By definition, if x u (w, v) and x v (w, i>) never vanish and are not colinear on the parametric domain Z), x represents a regular (parametric) surface; in other words
If the surface S is regular, then the two vectors x u (w, v) and x w (w, v) define the tangent plane Tp(<S) at p = x(w, v). The unit normal vector N(w, v) to <5 at this point is such that
In practice, the first-order and second-order derivatives of x(w, v) relative to u and v are gathered into two fundamental tensors: • The first fundamental tensor G = G(u, v) also called the metric tensor:
Note that the inverse G~1 exists if, and only if, the surface is regular because3
• The second fundamental tensor L = L(u, v) also called the curvature tensor:
We can observe that
We deduce from these relations that L = L(u, v) can be, equivalently, defined as a function of the variations of the unit normal vector N in the u and v directions:
3
This is a direct consequence of the formula (ax b) -(c x d) = (a-c) -(b-d) — (b-c) • (a-d)
206
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
The first fundamental form Let us assume that we are at the point (u, v) in the parametric domain D, and we move a step du in the u direction and a step dv in the v direction. The image of (w, v) moves from x(w, v) on the surface <S to location x.(u+du, v+dv) giving:
The arc length ds of this displacement on the surface is thus:
The square arc length ds2 of a displacement (du, dv) can then be turned into the following quadratic form, called the "first fundamental /orra," associated with the metric tensor G:
More generally, any vector W belonging to the tangent plane TX(<S) at x = x(u, v) has two (contravariant) coordinates Wu and Wv relative to the (covariant4 frame (x^x^): Multiplying this equation (dot product) by xw and x v , respectively, we obtain two easily verifiable linear equations:
It is also easy to check that, for any pair of vectors {Wi, W2J belonging to the tangent plane Tx(«S), the dot product (Wi • W^) can be computed, thanks to the following relationship:
Moreover, according to equation (5.13), it can be observed that the element of area dA on the surface S as defined by
is such that 4 The notions of "covariant" and "contravariant" components of a tensor are far beyond the scope of this book and from now on will appear in parentheses as a reminder for those who are familiar with tensor calculus. In a nutshell, • a lower index, such as for example Wu, corresponds to a covariant component of a tensor W, • an upper index, such as for example Wu, corresponds to a contravariant component of a tensor W, and • the sum C = ^P Au • Bu of products of contravariant components by covariant components is a scalar without index: the contravariant and covariant indexes "annihilate" each other.
5.2. PARAMETRIC SURFACES
207
Gradient of a function (p defined on a surface Let x(w, v] be the parametric representation of a regular surface S and let (p(u, v) be a scalar function defined on the same parametric domain D as S. The "gradient of ?" at location x(w, v) on S is a vector grade/? defined as follows:
In other words
It can be observed that the vector grade/? so defined is tangent to S at location x(w, v}. Let us now consider a straight line A(p,t) passing through p = x(w, v) and colinear to a given unit vector t belonging to the tangent plane Tp (S):
Note that
If we move on S in the direction t, then it can be deduced that
Moreover, according to equations (5.20), (5.21), and (5.18), the scalar product of grade/? by t is such that
Comparing this equation with equation (5.22) we conclude that, at location p = X(M, v), the scalar product grady • t is equal to the derivative of (p in the direction defined by the unit vector t belonging to the tangent plane:
Reparameterization We can always reparameterize a surface using a transformation denned by the following equations where u and v represent the pair of new parameters:
208
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
By definition, the 2 x 2 matrix J = J(w, v), called the Jacobian matrix of such a reparameterization, is defined as follows:
Using the derivation chain rule, it is easy to see that
It can also be observed that we have:
If G = G(w, v) and L — L(u, v) are, respectively, the first and second fundamental tensors associated with the parameterization («, v) and if G = G(u, v) and L = L(u, v) are the first and second fundamental tensors associated with the reparameterization (w, v), then using equations (5.12), (5.14), and (5.25), we can verify that
In practice, a reparameterization is admissible only if it is invertible, that is, if, for any pair (w,t>), the associated Jacobian matrix J(u,v) has a non-null determinant, called the "Jacobian:"
Canonic reparameterization Let x(u, v} be a regular parameterization of a surface S. Among all the possible parameterizations, the simplest one is defined as follows in the neighborhood of a point p = X(WQ, VQ): 1. Choose two vectors U = U(uo,t"o) and V = V(wo,fo) in the tangent plane Tp(5) such that i is right-handed 2. Define the reparameterization u = u(u, v) and v — v(u, v) in such a way that, for any vector W belonging to the tangent plane Tp(S) at p = X.(UQ,VQ), the coordinates (u,v) represent the components of W relative to (U, V):
The reparameterization so defined has the following nice properties:
5.2. PARAMETRIC SURFACES
209
Multiplying equation (5.29) by U and V, respectively, we obtain the following linear system:
It is easy to check5 that
In view of the fact that S is regular, xu x xv is non-null and, since U x V is also non-null, this ensures that F"1 exists and can be written as
According to equation (5.31), we obtain
By definition, the reparameterization u(u,v) and v(u,v) so defined will be called the "canonic reparameterization" associated with (U, V). We conclude that the Jacobian matrix J — J(u,v] of such a canonic reparameterization can be computed as follows:
Cookie cutter reparameterization The canonic reparameterization presented in the previous section gives a tool for reparameterizing a regular surface S at a given point p belonging to S. This section addresses the problem of extending this reparameterization to a neighborhood of p: As suggested in figure (5.4), let N be the unit normal vector at a given point p of a regular surface <S, and let (U, V) be a pair of vectors6 such that
Let x p (w, v) be the parametric equation of the tangent plane Tp(<S), as defined by This implies that 5
For this purpose, use the formula (a x b) • (c x d) = (a • c) • (b • d) — (b • c) • (a • d) It is not mandatory for U and V to be unit vectors nor for them to be orthogonal.
6
210 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.4 "Cookie cutter" reparameterization of the neighborhood of a point p belonging to a regular surface.
and the associated metric tensor is noted as
In the rest of this section, the orthogonal projection of any vector w of the 3D space on Tp(<S) will be noted as TTP(W):
As suggested in figure (5.4), the parameterization of 7p(<S) can be projected on <S in the direction N. Imagine S as the skin of a cookie, and the regular grid constituted by the isoparametric curves of Tp(<S) as "cutting" S in the direction N: such an operation results in a set of isoparametric curves (u, v) on S inducing a new parameterization x(-u, v) of 5, such that
Multiplying the equation
by U and V, respectively, we obtain two equations that can then be turned into the following matrix equation:
According to equation (5.38), we conclude that
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE
211
We will now show how to determine the tangent vectors x^ and x^ at point p^ located on <S in the neighborhood of p. As suggested in figure (5.4), these vectors are such that
Let Nj be the unit normal vector at point p^. According to equation (5.37) and the above equations, we can write
From equation (5.41) , we deduce that
A similar result can be obtained for V^ and, provided that N{ is given and is not orthogonal to N, it can be concluded that
This implies that the metric tensor Gi associated with xs and x^ at point p^ is such that
5.3
Curvature of curves drawn on a surface
The second fundamental form Let F be a parametric curve defined in the parametric space (u, v) of a parametric surface <S: Assuming that F is fully contained in the parametric domain D of <S, then the parameterization x(w, v) of <S can be used to define a curve C = x(F) with the following parameterization: This curve is drawn on <S and its unit tangent t = t(£) is such that
212 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETR
Figure 5.5 Normal curvature kn and geodesic curvature kg of a curve drawn on a surface. The vector kg is the orthogonal projection of k on tie tangent plane. Thus, the curvature of C at x(w(i), v(t}) is such that
Observing that
we obtain
Taking into account the fact that xu and ~x.v are orthogonal to N, we can write
In other words, we conclude that the following relationship between the projection of k on N and the second fundamental tensor L is always verified:
By definition, the above quadratic form is called the "second fundamental form." According to equation (5.44), we can conclude that the curvature vector k of the curve drawn on <S and tangent to the unit vector t is such that
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE
213
Normal and geodesic curvatures Let us consider a curve drawn on a surface S and having a given unit tangent t = t(w, v) at point x(w, i>). By definition, the real value fcn(x, t) corresponding to the scalar product of the unit normal vector N = N(w, v] by the curvature vector k of this curve is called the normal curvature of S at x = x(w, v} in the direction t.
Contrary to the (scalar) curvature of curves, which is always positive (or equal to zero), it is important to notice (see figure (5.5)) that fcn(x, t) has a sign and that • fcn(x,t) > 0 if the center of the osculating circle is above the tangent plane Tx(5) relative to N. • fcn(x,t) < 0 if the center of the osculating circle is below the tangent plane Tx(5) relative to N.
In practice, the (scalar) normal curvature fcn(x, t) is associated with a normal curvature vector k n (x, t), as defined by
As suggested in figure (5.5), the curvature vector k of any curve drawn on a surface <S can then be decomposed into a normal component k n (x, t) and a tangent component k s (x, t):
The component k 9 (x, t) so defined belongs to the tangent plane TX(«S) and is called the geodesic curvature of the curve.
Principal curvatures It is always possible to find a pair (U, V) of orthonormal vectors tangent to <S at x(w, v) and such that
Let x(w, v) be the canonic reparameterization of <S associated with the pair (U, V) so defined (see page 208). In this case, the associated metric tensor G — G(u,v] becomes a unit matrix. According to (5.46), for any unit vector t in the tangent plane TX(£), we have:
According to equation (5.27), the matrix L = L(u,v) associated with such a canonic reparameterization is symmetrical, which implies the following:
214
CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.6 Local shape of a surface as a function of the relative signs of its principal curvatures k\ and k^. • L has two eigen column matrices [t™ £"]* and \t% ££]* °f size (2 x 1), and these column matrices are orthogonal:
It can easily be deduced from this relationship that the associated vectors ti and t2 in the 3D space are also orthogonal:
By definition, these two orthogonal directions ti and t2 are called principal directions (of curvature). • The eigen values k\ and fo of L associated with the eigen column matrices [ti ti]* and [£2 ty,]* are real and correspond to the extrema of the quadratic form (5.50) under the constraint ||t|| = 1; in practice, we will assume that fei > k-z so that
By definition, these extrema k\ and kz are called principal (normal) curvatures. It can be observed that the extrema (&i, ^2) of the normal curvatures and their associated directions (ti,t2) so denned are intrinsic properties that depend only on S and are thus independent of the canonic reparameterization used to compute them. The relative location of the center GI and c-2 of the osculating circles corresponding to ki and A/2 are determined by the relative signs of ki and k-2- As shown in figure (5.6), these relative signs determine the local shape of the surface. Remark: Orienting (ti,t2) It should be noted that, if the column matrix [tf ty]* is an eigen column matrix of L, then ( — [ t f £%]*) is also an eigen column matrix of L. This means that the orientation of the vectors (ti, t2) defining the principal directions of curvature is undefined. To overcome this problem of orientation, for the remainder of
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE
215
this chapter we will assume that the orientation of (ti, t 2 ) has been chosen in such a way that (ti,t 2 ,N) is right-handed
Gaussian and mean curvatures By definition, the following two real numbers K = K(u, v) and H = H(u, v) are called the Gaussian and the mean curvature, respectively:
Let us observe that, for any orthonormal reparameterization u(u, v) and v(u, v) associated with a Jacobian matrix J, we have:
We_can thus conclude that the real numbers K and H, which are invariants of L, can be computed directly thanks to the following formula:7
According to their definitions, K and H represent the product and the sum of the solutions of a second degree polynomial:
This polynomial has two zeros k' and k" from which we can deduce the principal curvatures k\ and k<2\
The Gaussian and mean curvatures K = K(u,v] and H — H(u,v), defined above, are intrinsic properties of the surface S that depend neither on the orientation of the (x, y, z) coordinate system nor on the parameterization x(w, v} of the surface. They are used for characterizing two very important classes of surfaces: • If H = 0 everywhere, then the surface is said to be minimal. For example, it can be demonstrated that any soap film bounded by a regular closed curve is a minimal open surfaces [61, 165]. 7
It can be shown [19] that the following properties are always true for square matrices:
det(^ • B) = det(A) • det(S)
;
det(A'1) = l/det(.4)
;
trace(^4 • B] = trace(B • A]
216
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
Figure 5.7 On a sphere, only the great circles are geodesic (kg = 0). Other curves, such as, for example, parallel circles, are not geodesic (kg / 0). • If K — 0 everywhere, then the surface is said to be developable, that is, isometric to the Euclidean plane (see page 221).
In sedimentary geology, at the time of deposition, a horizon corresponding to the interface between two sedimentary layers is generally considered to be a plane, prior to any structural event such as a folding or faulting process. In other words, the Gaussian curvature K(u, v] of a horizon observed today can be considered as a measure of the local "plastic deformation" of this horizon throughout geological time in the neighborhood of the point x(w, v).
Geodesies Let k be the curvature of a regular curve C drawn on a regular surface S. According to equation (5.49), the geodesic curvature k9 of C is defined by In other words, as shown in figures (5.5), and (5.7), the geodesic curvature kg of C at point p = x(u, v] on S is the orthogonal projection of k on the tangent plane Tp(«S). By definition, A curve C is a geodesic if its geodesic curvature kg is equal to zero everywhere. For example, if we consider the sphere in figure (5.7), it is obvious that the equatorial circles are geodesic, while any parallel circle is not a geodesic. Geodesic curves have the following very interesting variational property: A regular curve C drawn, on a regular surface S is a geodesic if, and only if, the first variation of its length vanishes.
5.3. CURVATURE OF CURVES DRAWN ON A SURFACE
217
To prove this property, let us consider the length t of such a curve C assumed to be parameterized by its arc length s and joining the two fixed points p0 = x(s0) and p: = x(si):
Any infinitesimal change <5x in x induces a variation <5xs in xs which in turn induces a variation 6i such that
Due to the fact that the curve must stay on the surface *S, <5x must be located on the tangent plane to S at point x. As a consequence, in this tangent plane, <5x can always be decomposed into a component ^x1- orthogonal to t and a component <5x" parallel to t:
The points x and x + 6x\\ are both located on the curve, which implies that the variation <5x" does not change the length of the curve. This shows that the component <5xll generates no variation of ^, so that we can write
It can be observed that
Taking into account the fact that <5x stays in the tangent plane Tx(<S) implies that (k • (5X1- = kg • <5x). The proof can be completed as follows:
As a practical consequence, we deduce from this result that the curves, drawn on a surface S and corresponding to the longest and the shortest paths between two points of this surface for which 8i vanishes, are geodesies for which k5 = 0. Variations of the unit normal vector First of all, we have:
In other words, Nu and Nw are orthogonal to N and belong to the tangent plane spanned by xu and x v . This implies that Nu and Nw can be represented
218
CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.8 Examples of non-orientable surfaces: (A) Moebius ribbon and (B) Klein bottle. as a linear combinations of xw and x v , and there is a 2 x 2 matrix A such that
Multiplying this equation on the right by the row matrix [x u ,x w ], we obtain
According to equation (5.14), the left-hand side of this equation is equal to L, giving: We conclude that the variations of the unit normal vector N obey the following differential equation:
5.4
Miscellaneous
5.4.1 Orientations and triangulations Orientation of surfaces The unit normal vector N(w, v) always induces the local orientation of any regular surface <S. However, this does not imply that two adjacent points p and p' on any regular surface always have unit normal vectors N and N' oriented in the same direction; this is why the notion of "orientable surface" is a global property defined as follows [61]: A regular surface S is called orientable if it can be covered by a family of local parametric representations {x(w a ,v a ) : a G A}
5.4. MISCELLANEOUS
219
in such a way that, if a point p G <S belongs to two adjacent neighborhoods of this family, represented by p = x(w a i , vai) and p = x(w Q2 ,t; Q2 ), then the determinant det(J] of the associated Jacobian matrix8 is positive. The choice of such a family is called an orientation of S and, in this case, <S is called oriented. If such a choice is not possible, then the surface is called non-orientable. This definition is equivalent to the one given on page 68 within the framework of the topological properties of manifold objects. For example, • any surface that can be covered by a global curvilinear coordinate system (w, v) is trivially orientable, and • a Moebius strip or a Klein bottle are non-orientable (see figure (5.8)). Fortunately, Moebius strips and Klein bottles are not "natural" surfaces and are never encountered in geology; in practice, we can implicitly assume that geological surfaces are always orientable. Orientation of a simple closed curve drawn on a surface A simple9 closed curve C drawn on an oriented surface S and bounding a region R C S is said to be positively oriented if, being located ouside the curve C and walking on the curve in the positive direction with one's head pointing to N, the region R remains on the left (see figure (5.9)). Triangulation of a regular region of a surface Let S be an oriented surface. A region R C S is said to be regular [61] if R is compact and its boundary dR consists of a simple closed curve. A triangulation of a regular region R of an oriented surface <S is a cellular partition P(S] of S where all the 2-cells are triangles. Properties of triangulations Surface triangulations have the following important properties (see [61] p. 272): 1. Every regular region of a regular surface can be triangulated. 2. Let S be an oriented surface and {x(w a ,t> Q ) : a <E A} a family of local parametric representations covering S and compatible with the orientation 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. Remember that a curve C is said to be simple if it is piecewise regular (see definition on page 200). 9
220
CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.9 A positively oriented simple closed curve with interior angles ctj on an oriented surface: the observer located outside the curve and walking on the surface along this curve according to the orientation of both the surface and the curve sees the interior of the curve on his left-hand side.
Figure 5.10 Orientation of the edges of a triangulation of a regular region on a regular surface. • for any pair (Ti,Tj) of adjacent triangles belonging to T, the common edge (Ti D Tj) has opposite orientations on Ti and Tj, and • the positive orientation of the boundary dR is compatible with the orientation of the triangles belonging to T.
5.4.2
Properties of the Gaussian curvature
Gauss-Bonnet formula Let R be a region on a regular-oriented surface S such that the boundary dR of R consists of one smooth regular closed curve positively oriented and
5.4. MISCELLANEOUS 2
221
having a geodesic curvature equal to k5. Then, the Gauss-Bonnet formula states that we have
where t is the unit tangent to dR, while s is the curvilinear abscissa of OR and da is the element of area of R. For example, • If R is a disc in the plane, then we have 0 + 2?r = 2?r. • If R is the upper part of the unit sphere, then we have 2?r + 0 = 27T.
As shown in figure (5.9), if the boundary dR is piecewise regular with interior angles c^, then the Gauss-Bonnet formula takes a slightly different form, including the contribution X^(TT — on} of the corners of dR:
In particular, if R — A is a geodesic triangle bounded by three geodesic edges, then we have: For example, if S is a sphere with a radius equal to r and A a geodesic triangle having an area equal to A, then we obtain
Characterizing developable surfaces A regular surface S is said to be "developable" if it is possible to unfold it on a plane without any shearing or plastic deformation. In other words, after unfolding, • the length of curves drawn on a developable surface are preserved, • the value of angles drawn on a developable surface are preserved, and • the areas of regions drawn on a developable surface are preserved.
It can be shown [61] that a regular surface S is developable if, and only if, its Gaussian curvature vanishes everywhere: {S is developable }
Relative developability-index As discussed above, at each point p of a surface S, the Gaussian curvature K characterizes the aptitude of the neighborhood of p to be unfolded on a plane. It should be noted, however, that the actual value of K depends on the units used to measure the lengths on <S. In the context of some applications (e.g., see page 293), it may be useful to look for a dimensionless index characterizing, in an equivalent way, the possibility to unfold «S, locally. For this purpose, we
222 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.11 Osculating paraboloid and associated Dupin indicatrix at a point p of a regular surface. suggest using the "relative developability-index" Dev defined as follows where m \K\/s is the mean value of \K\ computed on S:
In this definition, e is assumed to be a very small positive number whose only purpose is to ensure that Dev = I everywhere when K = 0 everywhere. Note that Dev belongs to the range [0,1] and Dev — 1/2 if \K\ = m\K\/s5.4.3
Osculating paraboloid
Definition Let (U, V) be a pair of orthogonal unit vectors in the tangent plane Tp(<5) such that (U, V, N) constitutes a direct orthogonal trihedron attached to p = Tp(<S). Using the Taylor series expansion formula (see 147), the orthonormal canonic reparameterization x(w, v) associated with (U, V) is such that
We can observe that x^ = U, and this implies that
Similarly, we can show that
5.4. MISCELLANEOUS 223
223
Using these relationships, if we project the increment Ax on the local frame (U, V, N), we obtain
In other words, within the framework (U, V, N), locally <S is the graph of a function Z — f ( X , Y) such that
This function represents a paraboloid tangent to S at point p and called "osculating paraboloid" (see figure (5.11)). Dupin indicatrix Let p be a point in <5. The Dupin indicatrix at p is the set of vectors W of the tangent plane Tp(«S) such that
To write the Dupin indicatrix in a more convenient form, it is always possible to choose U and V identical to the principal directions of curvature ti and t-2 at point p:
In this case, the matrix L becomes diagonal, and its diagonal elements are identical to the principal curvatures k\ and k^:
Thus, the coordinates (X,Y) of a point of the Dupin indicatrix satisfy the equation: In other words, the Dupin indicatrix is a union of conies in Tp(<S) and this suggests saying that10 • p is an elliptic point if the Dupin indicatrix is an ellipse, that is to say, if ki and k-2 are different from zero and have the same sign. • p is a hyperbolic point if the Dupin indicatrix is made of a hyperbola with common asymptotic lines. This occurs if k\ and ki are different from zero and have different signs. • p is an umbilical point if the Dupin indicatrix is a circle, that is to say, if k\ and &2 are different from zero and are equal. • p is a parabolic point if the Dupin indicatrix degenerates into a pair of parallel lines, that is to say, if k\ or ki is equal to zero. 10
See figures (5.11), and (5.6).
224
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
Figure 5.12 Composite G1 curves and surfaces composed of two adjacent pieces. Note that the composite curve is composed of two tangent circles with a different curvature.
5.4.4
Geometric continuity
In CAD applications, most of the time ones uses composite curves and surfaces. As shown in figure (5.12): • a composite curve is a set of adjacent pieces of Cn regular parametric curves, and • a composite surface is a patchwork composed of adjacent pieces of Cn regular parametric surfaces.
The problem of continuity arises at the junctions of these pieces of curves and surfaces. The classic notions of Cn-continuity requires using one single parametric space for all these pieces. This is very inconvenient and often impossible to realize in practical applications. Therefore, a new type of characterization of the continuity called " Geometric Continuity1'1 and abbreviated "Gn continuity" has been introduced. As will be seen in the next few paragraphs, the idea of geometric continuity involves only geometric notions such as points, tangents, and curvatures and can thus be used even if the different elements of the composite curves and surfaces are based on different parametric spaces. Gn continuity of curves Let C be a composite curve consisting of a set of adjacent parametric curves {Ci,..., Cn}, each of them having a Cn-continuity on their parametric domain. The Gn continuity of such a patchwork for n = (0,1,2) is denned as follows: • C is G° continuous if the following condition is respected: — for any pair of adjacent curves (Ci, Cj) belonging to C, there is no gap at their common point Pij.
• C is Gl continuous if C is already G°continuous and the additional following conditions are respected:
5.4. MISCELLANEOUS
225
— the equation Xi(£) of any curve d belonging to C is regular. — any pair of adjacent curves (d,Cj) belonging to C share a common tangent at their common point Pij. • C is G2 continuous if C is already G1 continuous and the additional following condition is respected: — any pair of adjacent curves (d,Cj) belonging to C share a common osculating circle at their common point Pij. Gn continuity of surfaces Let <S be a patchwork consisting of a set of adjacent parametric surfaces {Si,..., Sn}, each of them having a Cn continuity on their parametric domain. The Gn continuity of such a patchwork for n = (0,1, 2) is defined as follows: • <S is G° continuous if the following condition is respected: — for any pair of adjacent patches (Si,Sj) belonging to <S, there is no gap along their common edge Eij. • S is G1 continuous if S is already G° continuous and the additional following conditions are respected: — the equation Xi(w, v) of any patch Si belonging to S is regular. — any pair of adjacent patches («Si,«Sj) belonging to «S, share a common tangent plane along their common edge Eij. • S is G2 continuous if S is already G1 continuous and the additional following condition is respected: — any pair of adjacent patches (Si,Sj) belonging to S share a common osculating paraboloid along their common edge Eij. 3-Tangents theorem The definition of the notion of G2 continuity of surfaces is somewhat inconvenient in practical applications and, for this reason, equivalent conditions have been proposed in the literature. For example, Pegna and Wolter [172] have proposed the following straightforward11 u3-Tangents theorem:" Any pair («Si,«Sj) of adjacent G1 continuous patches belonging to S are G2 continuous if, for any point x belonging to the common edge Eij, they share a common normal curvature fcn(x, ti) at least in 3 tangent directions ti = (ti,t2,t3). 11
The osculating paraboloid depends on L, which, in general, has three independent components. These three components can be determined as a function of the curvatures in three independent directions.
226 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.13 Parameterizing a discrete curve.
5.5
Discrete modeling
In practice, if a discrete approach is used for modeling curves and surfaces (see chapter 1), these geometric objects are denned by ID and 2D graphs £7(0, N) whose nodes {PI,PI, • • -,PM) nave given locations in the 3D space: • In the case of a discrete curve, the graph C?(f2, N) can be decomposed into a series of adjacent arcs E(pi,pi+l). • In the case of a discrete surface, the graph C?(f2, AT) can be decomposed into a set of adjacent triangles T(pi, P j , p k ) , rectangles R(p^ P j , p k , p/J, or, more generally, polygons. The parametric equations of these arcs, triangles, or rectangles are unknown, and the only information available is the location of their vertices. Prom this limited information, it is possible to build complex parametric regular curves and surfaces. Chapter 7 describes how this goal can be achieved. These parametric models are based on algebraic equations, and all the derivatives used in differential geometry can easily be computed. This section will show that these derivatives and differential properties can be approximated directly using finite differences without having to build such complex algebraic models.
5.5.1
Regular discrete curves
Consider a discrete curve defined by a series of nodes ( p 0 , . . . , PM}- As SUS~ gested in figure (5.13), it will be assumed that the regular (unknown) curve interpolating these nodes is represented by an unknown parameterization x(i) such that By definition, such a discrete curve is said to be regular if the two following conditions are satisfied for any node p^: • the angle 9(pi) between (Pi_i — pj and (pi+1 — pj is close to TT, and • the segments (pi+1 — Pj) have, at least locally, approximately the same length. In practice, these regularity conditions are generally satisfied if the arcs are small enough and the geometry of the discrete curve has been determined using the DSI algorithm.
5.5. DISCRETE MODELING
227
Assuming a regular discrete curve leads to the following problems: • How to estimate numerically the derivatives xt(z), x«(i) and the associated geometric entities at node p^. • How to estimate numerically the location x(i) and the derivatives xt(t) and xtt(i) on any arc ^(p^p^J.
Estimating the derivatives of x(£) at location t = i Any scalar function ?(£) defined by its values {(p(i) : i = 0, ...,M} at the nodes of a regular discrete curve can be approximated locally in a least square sense by a polynomial of degree n in a neighborhood [i — N, i + N] of t = i where TV is a given positive integer:
For example, if N = 3, in the case of a polynomial of degree n = 2 approximated on (2N + 1) = 7 nodes centered on p{, the coefficients {a^(<£>)} can be determined as follows from the sampled values of ? (see [145]):
By derivation of equation (5.64), these coefficients allow the derivatives of any scalar function (p(t) at location t = i to be approximated:
Due to the least square approximation, the evaluation of the derivatives so defined is, in general, numerically stable and can be used to compute local differential properties related to the geometry of the discrete curve at location t = i. For example, if (p is identified with the components of x(t), then x t (i) and Xft(z) can be approximated by
Similarly, if (p(t] represents the arc length s(t] as defined by
228 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.14 Example of estimation of the curvature vectors along a regular discrete curve. then the derivative of s(t) relative to t can be approximated at location t = i as follows: These approximations in turn allow the unit tangent vector t(i) and the curvature vector k(i) to be computed (see figure (5.14)):
The Frenet frame and its derivative relative to s can be approximated in a similar way. Estimating x(i) over an arc E(pi,pi+1)
The previous section has shown how to estimate the derivatives x^(i) and Xtt(^) at each node x(i) = p^ of a discrete curve. Let us now consider the problem of approximating x(t) and its derivatives over an arc E(pi^pi+1). For simplicity's sake and without loss of generality, we can always assume that i = 0. Provided that E(pi,pi+l) is smooth enough, then it makes sense to use the following "first order" approximations of x(t) and its derivatives over E(pi,p i+ i):
However, bear in mind that, in general, x£(£) is not the derivative of x*(t) and x£f (t) is not the derivative of x* (t}.
5.5.2
Regular discrete triangulated surfaces
Let us consider a discrete triangulated surface S (e.g., figure (6.1)) defined by a series of nodes {p 0 ,..., pM} and composed of adjacent triangles T(pi: Pj, p fc ). By definition, such a discrete surface is regular if, for any interior node p f , the two following conditions are satisfied:
5.5. DISCRETE MODELING
229
• the solid angle 0(pi] denned by the triangles surrounding PJ is close to 27r, and • the triangles T(p i5 Pj, p fc ) surrounding pi have, approximately, the same area.
In practice, these regularity conditions are generally satisfied if the triangles are small enough and the geometry of the discrete surface has been determined using the DSI algorithm. Continuing to assume a regular discrete surface leads to the following problems: • How to estimate numerically the unit normal vector N(i) and the second fundamental tensor L(i) at any node p^. • How to estimate numerically the location x(w,t>), the unit normal vector N(w,t;), and the second fundamental tensor L(u,v) at any point belonging to a triangle T(pi,pj,pk).
Estimating the unit normal vector Nj at node p^
Let nijk be the (not unit) normal vector to a triangle T^ = T(pil p -, p fc ) of S: Let us assume that the surface S is orientable and that the vertices of any triangle T^ = T(p i5 p -, p fc ) of S are sorted in such a way that the orientation of njjfc is compatible with the orientation of S. Under these conditions, it is natural to estimate the unit normal vector N; at node p^ as
where 6(z) is the set of all the triangles surrounding the node p^. Estimating the curvatures at node p^
Let us assume that the unit normal vector N; to S at node p^ is known and let (U^, Vj) be a given pair of orthonormal vectors in the tangent plane Tp.(«S) such that {Uj, V^N^} constitutes a right-handed frame. Let X, Y, and Z be the coordinates of any point p of the 3D space relative to the frame {Ui.Vi.NJ: According to equation (5.61), the osculating paraboloid tangent to S at node p^ is the graph of a function Z — f ( X , Y) such that
In this expression, Li is the second fundamental tensor relative to the canonic reparameterization of S associated with {Uj, V^N^}:
230
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
Using the components of Li the function f ( X , Y) can also be written as follows:
The coordinates (X, Y) can be used for building a parametric representation x(X, Y) of the paraboloid:
The tangent vectors xx(-X", Y) and xy(X, Y) are orthogonal to the unit normal vector N(X, Y} of the paraboloid implying that
Combining these two equations with equation (5.67), we conclude that the following linear system should be honored for any pair (X, Y): with:
Let N°(i) be the set of indices such that j G N°(i}
-4=>-
(Pj,pj) is an edge of a triangle
If the coordinates of any node p- relative to {pi5 (U^, V^N^)} are noted as (Xj,Yj,Zj) and if Nj represents the associated unit normal vector, then, according to equation (5.68), we should have: The least square solution to these linear equations is such that
where [Ai] and Bi are a square symmetrical matrix and a column matrix, respectively, as defined by
5.5. DISCRETE MODELING
231
Figure 5.15 Barycentric approximation on a triangle T(pi,p^pk). As soon as the components of Li have been determined thanks to the above least square equation (5.69), it is possible to compute its unit eigen column matrices [t^^ i^]* and [^ t^^Y an<^ their associated eigen values (&i,j, k2,i)'.
Due to the fact that (U^V;) constitutes a new orthonormal frame in the tangent plane Tp («S), it is known12 that • {kv,i '• v — 1, 2} are the principal curvatures at node p i5 and • the unit vectors denning the associated principal directions of curvatures ti,i and t2,i at node p^ are defined by
By performing a ^anonic reparameterization of S associated with the pair (Uj = ti^) and (Vj = t>2,i) so defined, the second fundamental form relative to this new frame is transformed into a new matrix Li such that
Barycentric approximation on a triangle T(p i ,p J -,p fc ) As suggested in figure (5.15), let p be a given point belonging to a curvilinear triangle T(p^, p -, p fc ) of a regular triangulated surface S, and let T*(pi; p^, p fc ) be the flat triangle interpolating linearly the vertices (p^, p J7 p fc ). The orthogonal projection p* of p on T*(p i 5 p-,p f c ) can always be written as
12
See page 213.
232 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY where (/3^,(3j,0k} are the barycentric coordinates (see page 254) of p* relative to p^, PJ and pfc. Provided that T(p i ,p J -,p fc ) is small and the surface is smooth enough, the point p is close to p*. For any (re)parameterization x(w, v] of <S, at p, this suggests defining the "barycentric" approximation x*(tZ,ij) of x(w,v) as follows: Similarly, if the unit normal vectors (Ni,Nj,N f c ) and the second fundamental tensors (Li,Lj,Lfc) are known at the vertices of T(p i ,p J -,p fc ), then it is proposed to define the barycentric approximations N*(w,i;) and L*(u, v] as follows:
However, the following must be noted: • The vector N*(w, v) so denned is, in general, not a unit vector, meaning that it should be replaced by a vector N**(u, t>), as defined by
• The second fundamental tensors Li, Lj, and Lk at the vertices of T(p i5 p,y, p fe ) have to be denned in the same curvilinear coordinate system (u, v) on the triangle T(p i ,p :/ -, p fe ). Actually, as suggested in figure (5.15), these fundamental tensors depend on the triangle T(p i5 p -, p fe ) and on the pair of given vectors (U, V) defining the canonic reparameterization at point p:
The only difficulty is in evaluating Lj, Lj, and L/-. For example, focusing on the evaluation of Li at node p^ and thanks to the least square method presented in a previous section, it is possible to obtain the principal directions of curvature ti^ and t2,i at node p^. In this frame, the associated tensor Li is then such that
where k\^ and k^^ are the associated principal curvatures. Let us now consider the "cookie cutter" reparameterization (see page 209) associated with the pair of given vectors (U, V) orthogonal to N*(w, v): According to equation (5.42), this reparameterization induces, at node p i? a pair of tangent vectors (Ui, V^) defined by
the associated metric tensor GI is such that
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY
233
Following equations (5.32), and (5.34), the canonic reparameterization associated with (Uj, Vi) at node p^ corresponds to a Jacobian matrix Jj, as defined by where the matrix F^1 is such that
According to equation (5.27), it can be deduced that
Similar expressions for Lj and L^ can be obtained, and the approximation L*(u,v] becomes:
5.6
Examples of applications to geology
5.6.1
Modeling channels
Many oil reservoirs are composed of stacks of paleo-channels whose geometry controls the distribution of the porosities and permeabilities. Sometimes, the geophysics can capture locally the exact shapes of some of these channels, but, most of the time, these shapes have to be simulated using stochastic methods. Some of these stochastic methods, such as the one presented on page 531, allow both well data and statistical information related to the sinuosity of these channels, but not the direction of the stream, to be taken into account. As a consequence, the shape of these channels may appear too symmetrical. A method is proposed below to correct this drawback thanks to a postprocessing technique based on the geometry of the initial channel center line. As shown in figure (5.16), let V be the unit vector colinear to the global orientation of a channel and oriented in the direction of the flow, and let (x(t) : t G [£05^1]} be a parametric representation of the center-line of this channel. Geomorphologists have observed [214, 210] that the shape of real channels is mainly controlled by river bank erosion which depends on the local intensity ||k(i)|| of the center-line's curvature. This suggests introducing a "pseudo-erosion" vector e(t} defined as a vectorial function of V, k, and t:
In this definition of e(t), the coefficient p(t) is assumed to be a scalar function with values in the range [0,1] and modulating the intensity of the pseudoerosion locally. In practice, stochastic simulators (see page 531) used for generating the geometry of a channel center-line yield a positive function
234 CHAPTER 5. ELEMENTS
OF DIFFERENTIAL GEOMETRY
Figure 5.16 Post-processing of a channel axis taking into account the erosion denned by equation (5.75). The initial axis is represented by a thin line, while the result of the postprocessing is represented by a bold line. The two grey spots correspond to locations where the channel axis is constrained to pass and where the pseudo-erosion vanishes. o~2(t) proportional to the local "uncertainty" of this geometry,13 and it may be wise to choose p(t) as follows:
The vectorial function f(-) occurring in equation (5.74) can, of course, be denned in many different ways; assuming that the initial center line is located in a horizontal plane, for example, the vector e(t) can be denned as follows:
In the above definition of e(t), the direction da/g7 of the erosion is a vector defined by
while, for any scalar function /i(t), the function 0(/i(t)) is defined as follows:
If the channel center line is represented by a discrete curve (x(z) : i = 0, ...,M}, then it can be transformed with the following very simple algorithm where A is a given parameter approximately equal to the maximum amplitude of the erosion to be simulated: 13 For example, if the simulator is based on a Kriging method (see section 9.9.2), then cr2 (t) may represent the so-called "variance of estimation."
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY
235
Figure 5.17 Grey-scale display of the Gaussian curvature K of a triangulated surface and associated directions of principal curvatures ti and t-2. Positive Gaussian curvatures are coded in light gray, while negative curvatures are coded in dark gray.
let v = given number of iterations let <5 <— A/n for( iter = 0 ; iter < n ; iter + + ) { • update {k(i) : i = 0 , . . . , M} • compute (e(z) : i = 0 , . . . , M] for( i = 0 ; i<M ; i + + ) { x(i) •<— x(i) + <5 • e(i) } }
Figure (5.16) shows the effect of such postprocessing on a channel center line obtained by a sequential stochastic simulation method described on page 531: notice that the new center-line so obtained looks like the center line of a real channel. In this example, a and j3 were both chosen equal to 1, while 7 was chosen equal to 0.
5.6.2
Structural geology
Fault detection From a practical point of view, at each point p of a surface, one or several of the following parameters can be used for characterizing the shape of the
236
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
surface in the neighborhood of p:
All of these parameters can be used to analyze the shape of a geological surface locally [145, 193]. Depending on the aim of this analysis, one may choose the most appropriate parameter. For example: • We have mentioned that K = 0 characterizes developable surfaces, i.e., surfaces that can be mapped onto a plane without any plastic deformation:
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 | K(p) \< KQ
-4=><£=>
p belongs to a plastic region p belongs to an unfoldable region
In practice, the sign of the Gaussian curvature K can also be used for characterizing the shape of the surface (see figure (5.6)): — If K = 0 the surface is, locally, a plane or a cylindrical fold. — If K > 0 then K\ and K2 have the same sign, then, locally, the surface looks like a paraboloid. — If K < 0 then K\ and K2 have opposite signs, then, locally, the surface looks like a hyperboloid (saddle point).
• From a mechanical engineering point of view, it can be shown (e.g., Sokolnikoff [204], pp. 198 and 212) that, if a perfectly elastic beam is bent, then the extension stress cr(p) at a point p of the beam is linearly proportional to the curvature ft(p) of the beam:
This type of stress is responsible for the rupture of the beam as soon as cr(p) reaches a given threshold CTQ depending solely on the mechanical properties of the beam. By approximating a geological layer as a beam and by assuming (more or less) elastic behavior, every region of the
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY
237
Figure 5.18 Grey-scale display of the maximum curvature M of a triangulated surface and associated direction of minimum curvature tminlayer 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 folding/faulting of a geological surface. In practice, this criterion actually highlights areas that the geologist may interpret as faults. Reservoir characterization For similar reasons to those mentioned above, it is likely that the local micro fracturation of a reservoir is linked to the local curvature of its top and bottom horizons. In general, this local micro fracturation is in turn correlated to the permeabilities of the reservoir. This suggests using the parameters defined by equations (5.76) to predict the distribution of the permeabilities in the reservoir: for example, this can be achieved thanks to the "colocated Kriging" method presented in section (9.7.4). 5.6.3
Ray tracing
Ray path and wave front It is well known that the propagation of seismic signals and light obey the same laws [110, 42, 98]. In particular, this propagation can be viewed in two different, but complementary, ways either as a wave propagation or as a ray propagation.
238
CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.19 Wave front W(t) and associated ray path r(t) crossing an interface Ji between two homogeneous regions 71 and 'R,. Considering a Dirac impulse at source point r(0) at time t = 0, then: • the surface W(t) corresponding to the set of points of the 3D space hit by the signal at time t > 0 is called a "wave front" at time t > 0. As suggested in figure (5.19), in the following discussion it will be assumed that W(t) is represented by a parametric regular equation w(u, v\t). • the parametric curve between a point r(t) on W(t) and a point r(t + At) on W(t + At), where r(t + At) is the closest point of W(t + At) to r(t), is called a "ray path," or more simply a "ray." This implies that the unit tangent t(t) to the ray path at point
is identical to the unit normal vector N(t) = N(w, v t) to W(i) at that point. This suggests choosing the parameterization *w(u,v\i) as follows: • choose a unit vector U(t) orthogonal to t(t) and build V(t) in such a way that (U(t), V(t), t(t)} becomes a direct orthogonal frame
which implies that
• (re)parameterize the surface W(t) in the neighborhood of r(t) in such a way that
Ray crossing an interface Let us consider a surface H denning the interface between two homogeneous regions 71 and K of the 3D space. Let us assume that the seismic velocity
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY
239
Figure 5.20 An example of seismic rays launched from a shot point S then traveling across the 3D regions (layers) of the geological model represented in figure (2.1): the rays are reflected and refracted by the horizons according to Snell's law.
V(x, y, z] is constant, but different, in these two regions 71, and 71 and let a and a be the associated "slownesses" defined by
As suggested in figure (5.19), let us consider a particular ray path crossing H at point p. In this particular case, it is well known that the ray path is linear in 7£, and 7£ and the following notations will be adopted: r(i) f(t)
= =
equation of the ray in 71 equation of the ray in 72.
The linearity of the ray path in 71 and 7£ guarantees that the unit tangent to this path is constant in both regions: t(i) t(i)
= =
t t
= =
unit tangent in 'R, unit tangent in 71
Let N* be the unit normal vector to the interface 7i at the impact point p with the ray path. Snell's law states that the following relationship between t and t is always true:
Figure (5.20) is an example of seismic rays launched from a source point S in the geological model represented in figure (2.1). Wave front crossing an interface As shown in figure (5.21), the curvature of an interface 7i between two regions 71 and 71 having different constant slownesses a and a modifies the shape of
240 CHAPTER 5. ELEMENTS OF DIFFERENTIAL GEOMETRY
Figure 5.21 Modification of the geometry of a wave front W(t) crossing an interface Ti.. the wave front on both sides of the interface. Depending on the curvature of the wave front, the density of energy carried by this wavefront will tend to increase or decrease. For this reason, it is important to determine how the curvature of the interface modifies the curvature of the wave front. Let p be the impact point of a ray with the interface H, and let (U*, V*) be the pair of unit vectors located in Tp (H) and denned by
Let h(w*, v*) be the parametric representation of Ti, in the neighborhood of p such that
Let Lw, Lw, and Lh be the 2 x 2 matrices corresponding to the second fundamental tensors of W(t), VV(t), and Ti. at the impact point p. It can be shown (see [110, 42]) that these three matrices denning the curvature of W(i), VV(i), and Ti. at the impact point are linked by the following matrix equation:
where A, F, and F are defined by
Note that equation (5.78) plays a similar role for the curvature of the wave front W as Snell's law (see equation (5.77)) for its associated unit normal vector t(t).
5.6. EXAMPLES OF APPLICATIONS TO GEOLOGY
Figure 5.22
241
Evolution through time of a surface element on W(t).
Expansion of the wave front Assuming (w u ,w^,N) to be an orthonormal frame and for simplicity's sake, the following notations will be used in this section:
As suggested in figure (5.22), let p0(t), Pi(t), and p2(t) be three points on the tangent plane to W(t) such that
These three points are assumed to move through time on ray paths, and, at time t + At, their locations are given by
where As = V • At is the length of displacement along the ray path at velocity V during the increment of time At. Let a(t) and a(t + At) be the vectors defined at times t and t + At by
It is clear that the modules ||a(t)| and \\a(t + At) of these vectors measure twice the areas of the triangles denned by the points p0, p1 and p2 at times t and t + At, respectively. We propose calling "expansion factor" of W(t) at location -w(u,v\t) the function (f)(u,v\t,At,V) which depends on the seismic
242
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
velocity V and is defined by14
We will now show that this expansion factor depends solely on the curvature of the wave front W(t) at location \v(u,v t}. By definition of a(t + At)
According to equation (5.55),
where the coefficients {Ifj (t)} represent the components of the second fundamental tensor Lw(t) of VV(i) at location vf(u,v\t). The following implication is easily verifiable:
Equations (5.81), and (5.53) lead us to conclude that
where Hw(u,v\t] and Kw(u, v\i) represent the mean and total curvatures (see equation (5.52)) of the wave front W(t) at location w(u, v\t), respectively. This implies that the expansion factor 0(it, v\t, At, V"), as defined by equation (5.80), is such that15
It is interesting to see that, similar to Hw(u, v\t) and Kw(u, v\i), the expansion factor 0(w, v\t, At, V) is independent of the parameterization of the wave front W(t). In practice, this expansion factor can be used for computing the variation of the density of energy per unit of surface carried by the wave front along a ray from point w(w,v|t) to point w(u,v\t + At) at velocity V. If we note 14
This definition only makes sense if a.(t) and a(t + At) are approximately colinear. 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). 15
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 factorized into the following form where k™(u, v\t) and k%(u, v\t) are the principal curvatures of W(t) at location w(u, v t):
5.6.4
Fluid flow through porous media
The velocity v(x) of a fluid particle at a point x in a porous media is governed by Darcy's law which, in the case of steady flow, can be written as
In this equation, (p is the fluid pressure, while IK is a (twice contravariant) tensor called "permeability tensor""1 and is represented by a 3 x 3 symmetric matrix:
In the isotropic case, IK reduces to the following form
In this case, equation (5.84) clearly shows that v is colinear to grad?. In other words, in the isotropic case, the flow velocity v is orthogonal to the isopressure surfaces, and there is a perfect analogy with ray tracing: • curves tangent to v are called "stream lines" and are the analog of ray paths, and • isopressure surfaces, whose implicit equation is <^(x) = Cte, are the analog of the wave fronts.
As a consequence, stream tubes corresponding to bunches of adjacent stream lines have a section that is ruled by an equation similar to equation (5.82). Let us parameterize the stream lines by their arc length s. From equation (5.82), we deduce that section a(s) of stream tubes evolves according to the following equation
244
CHAPTER 5. ELEMENTS OF DIFFERENTIAL
GEOMETRY
where H(s) and K(s) represent the mean and total curvatures of the isopressure 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 problems 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 throughout this chapter. 245
246 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES
Figure 6.1 An example of a piecewise linear triangulated surface (salt dome).
6.1.1
Notion of a triangulated surface
Definitions Let t$ be a surface. By definition, a triangulated surface associated with <5 is any cellular partition P(S] of S where each 2-cell (see section (2.3.1)) is a 2-simplex, that is to say, a triangle. For the sake of clarity, such a partition will be noted as T(«S) rather than 7^(5) throughout this chapter. For any triangulated surface T(<S) considered within the framework of this chapter, G(fi>T(S)i A^s)) and •Mn(^T(S)^T(S)^ f-, £>) are defined as follows: • G(£IT(S), NT(S)) is the 2-dimensional graph (see section (1.2)) associated with T(5) and — QT(S) — set of all the vertices of T(«S), — Af<7-(s)(oO — set of all the vertices (3 G QT(S) such that (ct,/3) is an edge of T(S) • -M n (r27-(S), -^Vr(5)i V 3 )^) is a discrete model (see section (1.2)) associated with T(<S) and corresponding to the modeling of a vectorial property
denned for any node a of QT(S) •
In practice, for simplicity's sake, in the rest of this chapter, the subscript T(S] will be removed from fi^s) and NT(S) and the following notations will be used:
247
6.1. INTRODUCTION Geometry and global parameterization of a surface
As discussed in section (5.2), any mapping1 x from a 2D (parametric) domain D onto a surface S is called a "global parametric representation" of S or, more simply, a parametric surface: In the rest of this chapter, it will be assumed that <S belongs to 3D space 7R3, and x(u) has three components noted as follows:
For simplicity's sake, the following notations will be used:
In association with these notations, the two following discrete models describing 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 parameterization u of £ in the parametric space IR2. Property attached to a surface Let v?(u) = [(/? 1 (u),.. .,9? n (u)]* be a vectorial function defined on the same parametric domain D as a parameterization x(u) of a surface S:
As with x and u, this property will be assumed to be sampled on Q and associated with a discrete model A4 n (Q, TV, ?, Cv}. In geology, (p represents (physical) properties of a geological surface S such as, for example, a seismic reflectivity or the thickness of the layer located on a given side of S. Triangular facet In the rest of this book, T = T(X(Q!O), x(a;i), x(oi2)) will represent a triangular facet belonging to a triangulated surface T(S}: (ao) «i) is an edge of T(S] (QI, 0:2) is an edge of T(<5) (0:2, cto) is an edge of T(S] 1
Note that such a global parameterization is not unique.
248 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES The geometry x, the parameterization u and the properties (p — (v? 1 ,...,
There is an infinity of such possible parameterizations,2 and these local parameterizations should not be confused with the notion of global parameterization x(u) = x(w 1 ,u 2 ) introduced in the previous section. The same local parametric coordinate system (w, v) can be used not only for modeling the variations of the geometry X T (U, i>), but also for modeling the variations of any function (pT(u, v) attached to a triangle T of T(«S). Linear model
For simplicity's sake, in the rest of this chapter, it is assumed that any function
If (pT = [c^rp, • • -5 ^T]* ^S an ^--dimensional vectorial function, then the parameters (ao, ai, 02} are vectors of lRn, and these vectors are the solution of the following linear system
where (ui,Vi) and o^ are denned by
2
Section (6.1.3) presents some examples of such local parameterizations used in practical applications.
6.1. INTRODUCTION 249
249
Provided that the triangle T is not degenerated, the inverse [Mr]"1 exists and is such that
Prom equations (6.2), and (6.3), it can be deduced that
In particular, this implies that the derivatives of
If Au(cti\T) and A v (aj|T) are denned as follows
then it can be observed that the derivatives of ?T are constant on T and such that
Linear triangular patch
In practice, as shown in figure (6.1), the linear model introduced above for modeling the variations of a function (p? denned on a triangle T of a triangulated surface T(S) can also be used for modeling the geometry of T. In this case, each triangle T = T(x(o;o), x(o?i), x(a2)) of T(S] is a flat triangle called a "linear triangular patch" represented by the following equation:3
3 It will be shown in chapter 7 that it is possible to build curvilinear patches where this linear equation is replaced by a nonlinear equation, such as, for example, a polynomial or a rational polynomial.
250 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES It can be observed that the derivatives (X.T)U and (XT) V of xy(u, t?) relative to u and i; are constant on T and can easily be deduced from the geometry of T thanks to the following equation where Ay represents the matrix defined by equations (6.7), and (6.9):
In the rest of this book, the following notations will be used where GT is the constant metric tensor associated with the local parameterization (u, v] of T:
In the case where ?T is a scalar function (n = 1), according to equation (5.21), the gradient of (p? at (u,v) is defined by the following equation:
Taking into account equations (5.21), and (6.9), the notations (6.11) enable us to conclude that the following property holds true for any scalar function (f>T defined on a triangle T = T(x(ao),x(o:i),x(a;2)) of T(<5):
Consequently, the (contravariant) components (gradc/>r)u and (grad^r)^ of the vector gradc^ relative to the frame {U, V} are such that
In this equation, the coefficients {grad%>(a>i)} and {gratffr(a.i}} depend only on the geometry of the triangle T and are defined by the following equation:
6.1. INTRODUCTION
251
Figure 6.2 Linear parametric interpolation XT(U,V) of a triangle T = T(x(ao),x(o!i), x(a!2)) based on barycentric coordinates ( u , v ) .
6.1.3
Examples of local linear parameterizations
Barycentric parameterization of a triangle As suggested in figure (6.2), the "barycentric" parameterization x^(w,v) of a triangle T = T(x(o!o),x(a:i),x(a!2))> is defined by
It is easy to check that the associated domain DT does not depend on T and is such that
Moreover, the above "barycentric" parameterizations x^(w, v) can also be written in the following way:
It can be observed that X.T(U,V) so defined honors the following equations:
from which it can be deduced that the coordinates (ui,Vi) defined by equation (6.4) are such that
252 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
Figure 6.3 Linear parametric interpolation XT(W, v) of a triangle T = T(x(ao),x(o!i),x(Q2)) based on canonic coordinates (u,v). In this case, it is easy to check that the associated matrix M^1 defined by equation (6.5) does not depend on T and is such that
It can also be noted that the derivatives of XT relative to u and v are constant on DT and
Equation (6.7) implies that AT is also independent of T and is defined by
According to equation (6.9), this makes it possible to conclude that the derivatives and the gradient of any scalar function if>T are such that
6.1. INTRODUCTION
253
Canonic parameterization of a triangle As suggested in figure (6.3), the "canonic" parameterization XT(U,V) of a triangle T = T(x(ao),x(o!i),x(Q!2)) is defined by4
The associated matrix M^1 defined by equation (6.5) can easily be deduced from the coordinates (w^, Vi) of the vertices of the triangle T, as defined by
It is relevant to note that the derivatives of XT relative to u and v are constant on DT and such that According to equation (6.20), this means that {(XT) U , ( X T)V} is an orthonormal frame, and the associated metric tensor GT is thus such that
Prom equation (5.21), it can be concluded that, in the case of a canonic parameterization of T, for any scalar function (f>T defined on DT, the gradient can be written as follows:5
Induced local parameterization on a triangle Let us consider a discrete model A^ 2 (O, AT, u,Cu) corresponding to the sampling of a global parameterization u = (w 1 , u2) at the nodes of a triangulated surface T(S}. In this case, an "induced" local parameterization (u,v) on a triangle T = T(x(a 0 ),x(Q;i),x(a2)) of T(«S) consists of choosing u and v in such a way that • u = u1 linearly interpolates u1 on T, and • v = u2 linearly interpolates u2 on T. According to equations (6.6), and (6.17), such linear interpolations of u1 and u2 can easily be deduced from the barycentric coordinates (ub, Vb):
4
In this definition, "a x b" represents the cross product of two vectors, a and b. 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. 5
254 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES This linear equation can also be written in a matrix6 formulation
where ul = ul(ut,,Vb) and BT is the (2 x 2) square matrix, as denned by
Combining equations (6.16) and equation (6.24) enables us to obtain, finally, an explicit formulation of XT(W I , u2):
It can be observed that the derivatives of XT relative to ul and u2 are identical to Ui and U^:
If U and V represent the edges of T, as defined by
then it can be observed that
More about barycentric coordinates on a triangle By definition, the barycentric coordinates of a point p relative to a series of (n + l) points { p 0 ,..., pn } consist of a set of (n + 1) coefficients { AQ, ..., An } such that
If the points { p 0 ,...,p n } are linearly independent, then the coefficients { A o , . . . , A n } are unique. In particular, this is the case when n — 2 and 6 If this equation is compared with equation (5.24), then it can be deduced that the Jacobian matrix JT(U) of the reparameterization defined by equation (6.23) is such that JT(u) = B~l.
6.1. INTRODUCTION
255
Figure 6.4 Barycentric coordinates of a point p in a triangle of unit area are related to some ratios associated with straight lines passing through p.
{ Po'Pi'P2 I are ^e vertices of a non-degenerated triangle. In this case, if AQ, AI, and A2 are denned as follows then p appears as identical to the linear interpolation x^(w, v) defined by equation (6.16). Barycentric coordinates are invariant under any affine transformation of the (n + 2) points {p ; p 0 ,.. .,p n }, and, in the case of a triangle T(p 0 ,p 1 ,p 2 ), they have the following useful properties illustrated in figure (6.4): • If triangle T(p 0 ,p 1 ,p 2 ) is subdivided into 3 subtriangles T(p,p 1 ,p 2 ), T(p 0 ,p, p2), and T'(p 0 ,p 1 ,p), and if |T| represents the algebraic area of a triangle T, then
• If two lines passing through p0 and parallel to the edges J5(p 0 ,p 1 ) and -E(p 0 ,p 2 ) are drawn, then the intersection points r x and r 2 with these edges are such that
• If a line passes through p0 and cuts the edge E(plJp2) a^ point q0, then
Moreover, it can also be observed that
256 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
Figure 6.5 Interpolation of a function (f> attached to the nodes of a triangulated surface: the variations of ? are represented by contour lines, while the initial data consist of a set of valuated points projected onto the surface and represented by small cubes. As the contour lines of if> drawn on the surface show, the result is clearly discontinuous across the fault traces.
6.2
Basic DSI constraints
This section presents the most frequently used DSI constraints for modeling geological surfaces and their associated properties. In practice, these constraints must be combined to integrate the complex data encountered in the geosciences. 6.2.1
Specifying a property
Fuzzy Control-Property As suggested in figures (4.7) and (6.5), let IP be a point located in the neighborhood of a triangulated surface T(S) and projected in a given direction D at point p on a triangle T = T(x(ao),x(o:i),x(a2)) of T(S). The point IP is assumed to hold a real value >(IP), and the linear interpolation ipT on T of a property (p attached to the vertices of T(S] is required to be such that
Such a constraint, called a "fuzzy Control-Property" has already been presented in section (4.7). It is associated with a DSI constraint index c corresponding to the above equation (6.31), and it depends on the following parameters: If (w, v) correspond to a local barycentric parameterization of T, then, according to equation (4.67), the above constraint (6.31) generates the following
6.2.
BASIC DSI CONSTRAINTS
257
terms 7c(<2i) and Tc(a.i\ip) in the local form of the DSI equation at the vertices (ao,Q!i,Q!2) of T:
In this definition of jc(&i} and F c (aj((/?), the coefficients Aj(p) are assumed to be the barycentric coordinates of p relative to the three vertices x(c^) of T, while a 2 (p) is a normalizing factor, as defined by
Fuzzy Control-Delta constraint Let (u,v) and (u',v') be the local barycentric coordinates of two points p and p' located on two triangles7 T and T" of a triangulated surface T(S], respectively:
Assuming that (w, v) corresponds to a barycentric parameterization of T, any property (p defined on the vertices of T(S] can be linearly interpolated as follows on T and T':
Let A be a given value; by definition, the following DSI constraint is called a "fuzzy Control-Delta constraint" on (p: According to equation (6.32), such a constraint is equivalent to
This constraint can easily be turned into the following normalized DSI constraint c = c(w, v, w', v', T, T", A) defined by
In practice, these two triangles are not necessarily adjacent and may be a long way from each other.
258 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
where ac is a normalizing factor chosen so that | Ac\\ — I:
When added to the set of constraints Cv of the discrete model .M (Q, TV, ?, C
Specifying the gradient of a property Let (U, V) and GT be the frame and the metric tensor as denned by equations (6.15) and (6.11), respectively, and associated with a barycentric parameterization of a triangle T = T(x(cno),x(a:i),x(a2)). According to (5.16), and (5.17), any vector W belonging to the plane of the triangle T can be decomposed as follows:
According to equation (6.19), we have
If it is necessary to constrain grad(/?T to be equal to W on T, then this is equivalent to saying that the two following constraints cu — c u (W,T) and cv = c «(\v,T) must be honored:
Using the coefficients [Acu(a)}, 6 C «, {Acv(a}}, and bcv defined as
it is easy to check that the two linear constraints (6.34)-cu and (6.34)-c'u can be turned into the following pair of normalized DSI constraints:
According to section (4.4.2), when added to the set of constraints C^ of the discrete model M.l(£l, N, v 7 )^), the above two DSI constraints induce pairs
259
6.2. BASIC 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:
It can be observed that cu and cv depend on T. Consequently, if several triangles surrounding the node o?o hold similar gradient constraints cu and cv. then each of these triangles will generate two pairs of terms similar to those denned by equations (6.35). Specifying the direction of the gradient of a property Similarly to the previous section, consider the frame (U, V) and the metric tensor GT as defined by equations (6.15), and (6.11), respectively, and associated with a barycentric parameterization of T = T(x(o:o),x(a!i),x(a2)). According to equations (5.16), and (5.17), any vector W belonging to the plane of the triangle T can be decomposed as follows:
Similarly, according to equation (6.19), we have
As a consequence, we can write
If it is necessary to specify that grader must be orthogonal to W on T, then we must have W • grad(£y = 0. According to equation (6.36), this is equivalent to saying that the following linear constraint c = c(W, T) must be honored:
Let ac be a normalizing factor denned as follows
and let (A c (a)} and bc be the coefficients such that
otherwise
260 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
Using these coefficients, it is clear that the linear constraint (6.37) can be turned into the following normalized DSI constraint:
According to section (4.4.2), when added to the set of constraints C^ of the discrete model Ai1(0, A7", t/?,C^), the above DSI constraint induces a pair of terms {7^(a),r^(a|v?)} in the local form of the DSI equation. For example, at node ao, these terms take the following form:
It can be observed that c depends on T. Consequently, if several triangles surrounding the node a0 hold constraints similar to c, then each of these triangles will generate a pair of terms similar to those defined by equations (6.38). Specifying the module of the gradient of a property For simplicity's sake, assuming that a barycentric parameterization of the triangle T is used, let us consider the associated linear interpolation (pT of a property ?. In this case, according to equation (6.19), the square of the module of grad^y can be written as
For the sake of simplicity, in the rest of this section the components8 of G^1 will be noted as follows:
If it is necessary to specify that | grader I must be equal to a given constant grad on T, then it suffices to introduce a DSI constraint c, as defined by
It can be observed that the constraint c = c(grad, T) so defined depends both on grad and T. This constraint is clearly nonlinear and must be linearized in the neighborhood of the current solution (f>0id- For this purpose, according to section (4.4.5), it is necessary to compute the derivatives of Fc((p) relative to the components ?(ao), ^(0:1), and ^(0:2) of ip associated with the vertices 8
Note that guv = gvu.
6.2. BASIC DSI CONSTRAINTS1
261
of the triangle T. These derivatives can easily be computed from equations (6.39), and (6.40):
If \\F'C\\2 and Ac(<Xi\
then, according to equation (4.56), for any o^ such that F'c(oti) 7^ 0, the above constraint (6.41) introduces the following terms 7^(a) and Tvc(a (p) in the local form of the DSI equation:
Specifying a constant gradient
Referring to figure (6.6), let us consider two adjacent triangles T and T' sharing a common edge {x(ao),x(ai)}:
We would like to specify the following constraint:
Due to the linear approximation of
262 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
Figure 6.6 Notion of Constant-Gradient constraint across the common edge of two adjacent triangles. in section (6.1.3), respectively. According to equation (6.22), this implies that the linear interpolations I^T and
Referring to figure (6.6), in this particular case, it should be noted that 9
If the constraint (6.43) has to be honored then, according to equations (6.44), and (6.45), it suffices to have
Due to the fact that T and T' share the edge {x.(ao),x.(ai)}, it should be noted that the above constraint (6.46)-l is always honored. According to equation (6.9), the constraint (6.46)-2 is equivalent to the following constraint where the coefficients {A t) (-|T)} defined by equation (6.8) depend only on the geometry of triangles T and T':
Taking into account equations (6.42), this linear constraint can easily be 9
Pay attention to the "—" sign induced by the opposite orientations of the frames (U, V) and (U', V') on the triangles T and T".
6.2. BASIC DSI CONSTRAINTS
263
turned into a normalized DSI constraint c = c(T, T") defined by
where the coefficient ac is a normalizing factor chosen as follows to have I AC\\ = 1:
When added to the set of constraints C^ of the discrete model .M1^, N, ?, C^), the constraint (6.43) induces a pairs of terms 7c(o;) and Tc(a\(p) in the local form of the DSI equation. For example, at node ao, these terms take the following form:
6.2.2
Specifying the geometry
Fuzzy Control-Point As suggested in figure (4.7), let IP be a point located in the neighborhood of a triangulated surface T(S} and projected, in a given direction D, at point p on a triangle T = T(x(ao),x(a;i),x(a;2)) of T(S}. The point IP is assumed to behave like a magnet, attracting T in the direction D to have IP coincident with its projection p. In other words, if (u, v) are the local parametric coordinates of p on T, then x^(w, v) should be identical to IP:
Such a constraint, called a "fuzzy Control-Point," has already been presented in section (4.7). If (u,v) corresponds to a local barycentric parameterization of T, then, according to equation (4.67), the above constraint (6.47) generates the following terms 7^ (oti) and Tvc (on x) in the local form of the DSI equation at the vertices (a0, QI, 0:2) of T:
264 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES
Figure 6.7 Notion of fuzzy Control-Line: the nodes of the polygonal curve attract the surface according to given directions interpolated along the curve. The shape of the curve and the directions of attraction are themselves smoothly interpolated using the DSI method. In this definition of 7^(0^) and r^o^x), the coefficients Aj(p) are assumed to be the barycentric coordinates of p relative to the vertices x(oij) of T, while a 2 (p) is a normalizing factor:
From a mathematical point of view, it should be noted that the notion of "fuzzy Control-Point" is almost identical to the notion of "fuzzy ControlProperty." However, from a practical point of view, there is a major difference: if the iterative version of DSI is used, then the projection p of IP on T(«S) changes at each step of the iterative process and the associated fuzzy ControlPoint has to be updated. In other words, fuzzy Control-Points have to be implemented as dynamic constraints (see section (4.4.4)). In figure (1.11), one can see an example showing the effect of fuzzy Control-Points in the modeling of a salt dome. The notion of fuzzy Control-Point can easily be adapted for defining the notion of "fuzzy Control-Line" consisting of a polygonal curve JC all of whose nodes behave like small magnets attracting the surface T(«S). In this case, the associated attraction directions appear as instances of a vectorial property D attached to the nodes of C. As suggested in figure (6.7), it may be convenient to interpolate these directions of attraction smoothly along £ thanks to the DSI method (see page 167). Control-Straightline constraint By definition, a DSI constraint specifying that a given node a of a triangulated surface T(<5) can move only on a straight line passing by the current position X(Q:) of this node and parallel to a given vector d(a) attached to this node is called a Control-Straightline constraint.
6.2. BASIC DSI CONSTRAINTS
265
In practice, such a constraint is implemented as a hard DSI constraint (see section (4.5)) where, at each step of the iterative process, the location x(cc) of the node a is replaced by its projection on the straight line passing through the old position x0id(a) and colinear to d(a):
There are two main applications of this constraint: • If, in a stratified media, a triangulated surface T(S] constrained to be more or less parallel to a given surface SQ , while honoring a set of constraints different from those applied to T(«So), must be built, then proceed as follows: — First, T(«S) has to be built as a copy of T(«So). — Next, a displacement direction d(a) equal to the unit normal vector to T(So) has to be installed at each node of T(S}. — Finally, for each node a of T(«S), a Control-Straightline constraint associated with the directions d(a) denned above has to be installed. • If a boundary of a triangulated surface T(S) is required to slide along vertical or non-vertical walls, then such behavior can be specified as a series of ControlStraightline constraints applied to the nodes of this boundary and associated with a constant direction d(a) parallel to the walls. Figure (6.9) shows an example of Control-Straightline constraints where the boundary of a triangulated surface is constrained to move only in the vertical direction. Fuzzy Control-Normal-Vector constraint Let T(tS) be a triangulated surface and let N(p) be a field of unit vectors given at any point p of the 3D space. By definition, the DSI constraint specifying that T(S] should be approximately orthogonal to N(x(a)) in the neighborhood of a given node a of T(S] is called a "fuzzy Control-NormalVector" constraint10 on T(S}. In practice, this is equivalent to saying that one would like to have11
or, equivalently,
10 Note that this constraint specifies the slope of the surface, that is to say, its derivatives, without specifying its location in the 3D space. If the surface location also needs to be specified, then it is necessary to use a fuzzy Control-Point constraint in addition. 1:L Remember that AT0 (a) = N(a) — {a} represents the orbit of a (see figure (1.3)).
266 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
These constraints can easily be turned into two series of normalized DSI constraints {C'(Q!, fc,N)} and {c"(a:,/c,N)} corresponding to the general canonic form as defined by equation (4.3):
and
According to equation (4.49), for any k 6 N°(a), each of the above constraints c' = C'(Q!, fc, N) and c" = c"(a, fc, N) generate, at node a, the following terms 7e/(a), r£,(ai|x), 7e//(a) and r£/,(o!i|x) in the local form of the DSI equation:
and
In practice, these constraints can be gathered into a single composite constraint c = c(a, N) generating the following terms in the local form of the DSI equation:
6.2. BASIC DSI CONSTRAINTS
267
Figure 6.8 Example of fuzzy Control-Tangent-Plane constraint: the fuzzy Control-Points represented by small cubes are fixed and the surface is locally constrained by fuzzy Control-Tangent-Plane constraints defined by normal vectors. After running DSI, the surface tends to become locally orthogonal to the normal vectors in spite of the fact that all the fuzzy Control-Points are coplanar. It can be observed that x(a) changes at each step of the iterative DSI algorithm: accordingly, N(a) = N(x(a)) also changes at each step of the iterative process and the above constraints thus need to be implemented as dynamic constraints (see section (4.4.4)). From a practical point of view, note that the length of the edges of the triangles of a triangulated surface have to be adapted to the variations of the unit normal vectors N: high-frequency variations of the unit normal vectors require a high density of triangles for modeling the surface accurately. An example of the application of this type of constraint is presented in figure (6.9). Fuzzy Control-Tangent-Plane constraint As suggested in figure (6.8), considering a triangulated surface T(S], let us define a(p, N, p) and ^^(p, N,p, d) as follows: • <j(p,N,p) is a disc centered on point p, orthogonal to the unit vector N and having a radius equal to p (note that p does not necessarily belong to T(S)). •
268 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
Figure 6.9 Example of Control-Parallelism constraint: the dark surface T(<S) to be modeled has to remain as parallel as possible to a given surface T(<$o) while honoring any other DSI constraints. The direction of N and the radius p can be modified interactively to specify the orientation of the tangent plane and the "flatness" of S in the neighborhood of the projection of p on T(5) in the direction N. Fuzzy Control-Parallelism constraint In sedimentary geology, the horizons are, generally, more or less parallel. As a consequence, there are many situations where we want to model a geological horizon T(<$) more or less parallel to a given reference horizon T(«S0) while honoring some other DSI constraints if any. For this purpose, we introduce the notion of a "Control-Parallelism" constraint defined as follows: • Choose a direction d. Most of the time, d is chosen as being equal to the vertical direction, but this is not mandatory: it is even possible to use a field of non-constant directions d(o:). • For each node a of T(<S), determine the triangle TO of T(<S0) hit by the straight line A(x(a),d) passing through x(a) and parallel to d, and define n(o:) as being equal to - either "void" if A(x(a),d) does not intersect T(«S0), — or the normal vector to TO if A(x(a),d) intersects T(»50). • Install a fuzzy Control-Normal-Vector constraint for each node a of T(S) where n(a) is different from "void." Figure (6.9) shows an example of such a Control-Parallelism constraint, where the additional constraints consist of one Control-Node (small cube) plus ControlStraightline constraints specifying that the boundary of T(«S) must slide on vertical lines.
6.2. BASIC DSI CONSTRAINTS
269
Figure 6.10 Example of Control-Thickness constraint: each node a of the triangulated surface T(*S) is constrained to be located at a given distance 8(ot) of another (fixed) given surface T(«Si_i) in a given direction d(a) attached to the nodes ofT(S}. The thickness interpolated from well data is represented in grey scale on T(«Si_i), while the geometry of T(<Si_i) is represented by contour lines. Control-Thickness constraint In sedimentary geology, we are often faced with the problem of building a stack of triangulated surfaces (T(<So), T(«$i),..., T(Sn}} corresponding to the interfaces (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 implemented in the same way as fuzzy Control-Distance constraints previously denned on page 168. Figure (6.10) shows an example of a triangulated surface T(S] whose geometry is constrained by Control-Thickness constraints.
270 CHAPTER 6. PIECEWISE
LINEAR TRIANGULATED SURFACES
Figure 6.11 Example of Control-Segment constraint: the transparent triangulated surface T(«S) is constrained to intersect a set of segments. Control-Segment constraint Let us consider a segment cr(p, d) of the 3D space denned by a point p and a vector12 d in such a way that
By definition, the "Control-Segment" constraint associated with cr(p, d) and applied to the triangulated surface T(S] will be said to be honored if one of the two following conditions is true: • either the straight line passing through p and colinear to d does not intersect
ns),
• or the straight line passing through p and colinear to d intersects T(S} at a point (p + s • d) such that s £ [0,1]. In practice, such a "Control-Segment" constraint is implemented as a hard DSI constraint (see section (4.5)) denned as follows: • if the straight line passing through p and colinear to d does not intersect T(S), then the associated Control-Segment constraint is inactive; • if the straight line passing through p and colinear to d intersects a triangle T - T(x(o;o), x(ai), x(a 2 )) of T(<S) at a point (p + s • d) such that s G [0,1], then the associated Control-Segment constraint is inactive; • if the straight line passing through p and colinear to d intersects a triangle T = T(x(a 0 ),x(ai),x(a!2)) of T(<S) at a point (p + s • d) such that s g[0,1] then the triangle T is translated in the direction d in such a way that - if s < 0, then the new location of T contains the edge p of the segment cr(p, d), and — if s > 1, then the new location of T contains the edge (p + d) of the segment cr(p, d). 12
Note that it is not mandatory for d to be a unit vector.
6.2. BASIC DSI CONSTRAINTS
271
Note that this kind of constraint can be extremely useful in many practical applications; for example: • if a well-path does not intersect a geological surface T(<S), then a ControlSegment constraint associated with the segment
• if the intersection of an anticline T(«S) with a horizontal plane Ji must be constrained to be located inside a ring 7£ defined by two concentric polygonal closed curves Co (TV) and Ci(JV) contained in 7i, then we suggest proceeding as follows: — build the horizontal triangulated surface T(TV) in such a way that the only nodes of T(TV) are those shared with its boundaries Co (TV) and
Ci(fc); — for each edge (p 0 ) Pi) of T(TV), install on T(«S) a Control-Segment constraint associated with the segment
• 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 Controlno-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
272 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES
Figure 6.12 The intersection of a surface S by a fault J-~ (not represented) generates twin boundaries /3(S/J-) and /3f(S/F) that were coincident before the displacement along the fault due to a tectonic event.
6.3
Modeling a faulted surface
Any geological surface, such as, for example, a horizon, an unconformity, or even an older fault, can be intersected by a fault. In practice, three different actors have to be considered when modeling a faulted surface: • the "faulted surface," noted as S throughout this section; • the "fault," noted as F throughout this section, which is a surface playing the role of a cutter that generates both a geometric and a topological discontinuity in the faulted surface; and • the "fault trace," noted as B(S/Jr) throughout this section, which consists of a curve corresponding to the boundary of the faulted surface in contact with the fault. As shown in figure (6.12), a fault trace B(S/F) is itself decomposed into twin curves (3(S/F) and f3'(S/J-} that were coincident before the fault displacement: From the faulted surface S point of view, a fault T can be considered in two contradictory ways: • A fault is a discontinuity applied to the topology and the geometry of the faulted surface, and this discontinuity induces two types of DSI constraints: — The first type of constraint has to be defined to guarantee that the fault trace B(S/ F] honors the relative displacements (throw vector) on the "twin parts" of the faulted surface located on both sides of the fault. — The second type of constraint has to be defined to ensure the junction of the boundary of the faulted surface with the fault that intersects it: if a fault F intersects the faulted surface S along the fault trace B(S/J-) of <S, then B(S/J-} must remain stuck to the fault J-'.
6.3. MODELING A FAULTED SURFACE
273
Figure 6.13 Parameterizing the twin fault traces (3(S/F) = {P(0),P(1)} and P'(S/F] = {P'(0),P'(1)} belonging to a triangulated faulted surface S. • Most of the time, physical properties attached to a faulted surface S (for example, a seismic reflectivity) were continuous on this faulted surface prior to the intersection by the fault, and this continuity has to be preserved. Prom this standpoint, a fault must be seen as a kind of "hyperlink" between the twin curves j3(S/F} and (3'(S/T} located on both sides of the fault, and this induces two types of DSI constraints: — The first type of constraint has to be defined to preserve the continuity of the values of the properties through the fault (C° pseudo-continuity). — The second type of constraint has to be defined to preserve the continuity of the gradient of the properties through the fault (C1 pseudocontinuity). 6.3.1 Modeling fault-throw vectors Notion of twin points Consider a fault trace B(S/J::} = j3(S/F} U (3'(S/F}. As already mentioned, the twin curves j3(S/J:} and f3'(S/J:} are assumed to have been coincident before the displacement along the fault induced by a tectonic event. This implies that, to any point p belonging to /3(S/J='), there corresponds a twin point p' belonging to f3'(S/J:}. Let P(s) and P'(s) be parametric representations of (3(S/J-} and f3'(S/J-} assumed to be chosen in such a way that the two following constraints are honored: • The two parametric curves P(s) and P'(s) use the same parameter s and
274 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
• P(s) and P'(s) were assumed to be coincident before the displacement along the fault due to a tectonic event. As suggested in figure (6.13), most of the time, P(0) = P'(0) and P(l) = P'(l), but this is not mandatory (see figure (6.13)). For the rest of this chapter, it will be assumed that each of the twin curves (3(S/^F} and (3'(S/F) can be digitized into (ra +1) equally spaced twin points (P(sj) : i = 0,m} and (P'(sj) : i = 0,rn} in such a way that Si = i/m. As shown in figure (6.13), it is then possible to create a polygonal curve D(A) corresponding to a set A of (m + 1) nodes <5;
whose locations D (<*);) in the 3D space are defined by
Discrete model .A/f 3 (A, N A ,T,C r ) The introduction of the polygonal curve D(A) enables us to define a discrete model .M3(A, AT A ,r,C r ) where • N&(Si) is the neighborhood of the node Si composed of one or two nodes directly linked to Si on the polygonal curve D(A); • r(6i) = { r x ( 8 i ) , T y ( 8 i ) , r z ( 8 i ) } corresponds to the three components of the specified throw vector r(Si) at node Si € A. It is important to note that each specified throw vector r(<5j) may be different from the corresponding current throw vector T(SJ), as defined by
• Cr is a set of constraints associated with a subset LA of A and specifying that the throw vectors {r(l) : i e LA} are known. This subset LA must be considered to be a set of Control-Nodes by the DSI algorithm when applied to .M3(A, N&,T,CT}. The vectors {r(i} : t e L A } are called "Control-Throw" vectors and are represented as double, bold arrows in figures (6.18), (6.19), and (6.20). From a graphical point of view, for each node 6i of the polygonal line D(A), two opposite segments (without arrow) r+(6i) and T~(Si) called "half throws" can be drawn such that
As shown in figures (6.13), (6.18), and (6.19), the drawing of the segments r+(6i) and r~(6i] attached to nodes 6i allows the specified throw vectors r(8i) to be visualized in a natural way.
6.3. MODELING A FAULTED SURFACE
275
Specifying the throw As mentioned above, a distinction has to be made between the current set of throw vectors {T(SJ) : i = 0, ra} and the set of specified throw vectors [r(di) : 6i 6 A} to be honored by the faulted surface. The specified throw vectors may be different from the current throw vectors and a tool is necessary to allow the geologist to shape the specified throw vectors interactively. For this purpose, we propose proceeding as follows: • set the Control-Throw vectors {r(l) : I £ LA} represented as double bold arrows (see figure (6.18)) interactively, and next consider them as fixed for the DSI algorithm; and • apply the DSI algorithm to .M3(A, JVA, T, CT) for interpolating the unknown values {r(i) : i 6 /A} where /A — A — I/A. This procedure allows the set of specified throw vectors {r(8i) : 6i 6 A} to be shaped efficiently. As shown in figure (6.19), these specified throw vectors are, in general, different from the current set of throw vectors (T(sj) : i = 0, m}.
6.3.2
Geometry of a faulted surface
Discrete model .M 3 (0,7V,x,C x ) The triangulated surface T(«S) is assumed to be affected by (at least) one fault whose throw vectors are represented by a discrete model A / f 3 (A, N&, T, CT). We would like to add some new constraints {c', c",...} to the set of constraints Cx operating on the geometry of T(S] to • Confine the current throw vectors of T(S) to be as close as possible to the specified throw vectors held by A4 3 (A, ./VA, T, CT). By definition, this kind of DSI constraint will be called a "Vectorial-Link" or, more simply, a "VecLink." • Maintain the consistency of the fault trace, by specifying that the curves /3(S/Jr) and fi' (S/ F] must be located on the fault T'. By definition, this kind of DSI constraint will be called a "Boundary-on-Surface." The next two sections show how to build each of these geometrical DSI constraints. Vectorial-Link constraint Let us consider a specified throw vector r(6i) and its associated current throw vector T(SJ) corresponding to twin points P(S;) and P'(SZ) on the two sides of the fault (see figure (6.13)). We would like to add a set of new constraints |c', c",. • •} t° the set Cx specifying that
For this purpose, as shown in figure (6.13), let us assume that P(SI) belongs to the edge (0:0,0:1) °f T(S} P'(si) belongs to the edge (a'0,a'i) of T(S] If x(o:) represents the location of any node a £ 0, then the relative locations of P(SI) and P'(SJ) on the two edges (o;ojQ;i) and (aQ,a(), respectively, can
276 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
be characterized by the parameters13 Ui G [0,1] and u^ € [0,1], as defined by
Using parametric linear interpolations on edges (ao,ai) and (a^o^) makes it possible to write
This implies that the new constraints {cf, c",...} to be determined should be such that In other words, for any i e [0, m], the following constraints should be respected:
As suggested in figure (6.13), for each index i e [0, m], theese three equations can be transformed into three DSI constraints {cf, q', cf} that depend on the following parameters
and are defined by
In this definition of the above constraint c, the coefficients {^(o:)} are all assumed to be equal to zero except when a is equal to ao, ai or a'0, a(, and the coefficient ac is a normalizing factor (see equation (4.4)) chosen as follows to guarantee that \\AC\\ = 1:
For simplicity's sake, 6^(x) is defined as follows:
13
Note that, for example, Ui and (1 — Ui) are the barycentric coordinates (see page 254) of P(SI) relative to x(ao) and x(ai).
6.3. MODELING A FAULTED SURFACE
277
Figure 6.14 A horizon S has been cut by fault J- and then a Boundary-on-Surface DSI constraint has been installed between the horizon <S and the fault J-. When running DSI on the geometry of <S, such a constraint preserves the contact between the fault trace P(S/F] and F.
When added to the set of constraints Cx of the discrete model .M3(Q, N, x, Cx), the above DSI constraints induce the following terms 7^(0:) and T^(a x) at nodes a = OCQ and a = a\ in the local form of the DSI equation:
Similar terms 7^(0;) and r£(a|x) are induced14 at nodes a. = a'0 and a = a±:
Boundary-on-Surface constraint As suggested in figures (6.14), and (6.34), let (3(S/F] be a fault trace generated by the intersection of a surface S by a fault T. From a geological point of view, ^(S/F} must remain stuck to F even if the shape of S or JF is modified. In other words, the discrete model .M3(O, TV, x,Cx) associated with T(<S) has to be constrained in such a way that
14
Pay attention to the signs '+' and ' —', which may have changed.
278 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
By definition, such a constraint is called a "Boundary-on-Surface" constraint and is implemented as a hard DSI constraint (see section (4.5)), which consists of projecting each node a € f3(S/F] on F in a given direction d(a) at each step of the iterative DSI algorithm. In practice, the projection directions associated with the nodes {a G ^(S/F}} are denned as follows: • each direction d(a) is initialized to be colinear to the straight line joining x(a) to its closest point on the fault 0-\ • next, the directions (d(a) : a £ (3(S/J-}} are smoothed by applying the DSI algorithm on a discrete model M^(B, NB, d,Cj) where B consists of all the nodes of /3(S/.F). The Boundary-on-Surface constraint DSI can then easily be implemented as a series of fuzzy Control-Distance constraints (see page 168) specifying that each node {a € ^(S/F)} should be located at a null distance from the target J- in the direction d(a). Figure (6.34) shows the effect of a Boundary-on-Surface constraint when the shape of a horizon is edited interactively in the neighborhood of a fault trace. Boundary-Stone-on-Boundary constraint When considering a fault J-" partly cutting a geological surface <S along a fault trace B(S/f} (see figure (6.34)), the twin boundaries P(S/F) and P'(S/F) may share a common point /3*(<S/.F) located on the boundary of T called a "Boundary Stone." If the geometry of S is modified, then the Boundary Stone f3*(S/J:} has to slide along the boundary of T. For this purpose, a "Boundary-Stone-on-Boundary" DSI constraint defined as follows should be installed for each Boundary Stone j3*(S/f): • first, a direction d(/3*) is determined as being colinear to the straight line joining x(/3*) to its closest point on the boundary of the fault F\ • the Boundary-Stone-on-Boundary constraint is then implemented as a fuzzy Control-Distance constraint (see page 168) specifying that each node j3* should be located at a null distance from the boundary of J- in the direction d(a). Figure (6.34) shows the effect of a Boundary-Stone-on-Boundary constraint when the shape of a horizon is edited interactively in the neighborhood of a fault trace.
6.4
Continuity through faults
Let (^(H, v) be a scalar function defined on the same parametric domain D as a parameterization x(u, v) of a surface S:
By definition
6.4. CONTINUITY
THROUGH FAULTS
279
Figure 6.15 C° pseudo-continuity and C1 pseudo-continuity at a point p located on a fault trace. The property (p is represented by its contour lines drawn on the tangent plane (in grey) of the faulted surface, and the gradient of y> is represented by vectors g and g'. • ip is C° continuous at point p = x(w, v) if, for any pair of real numbers (a, b), the following condition holds true:
• (p is Cl continuous at point p — x(u, v) if if> is already C° continuous at that point and if, in addition, for any pair of real numbers (a, 6), the following condition holds true:
As suggested in figure (6.15), in the neighborhood of p = x(u, v), the surface <S can be approximated by its tangent plane Tp(«S). Projecting the contour lines of ? on Tp(«S), figure (6.15) shows • an example of function (f> that is C° continuous at p (white circle), while being C1 discontinuous at the same point (see figure (6.15)-AO); and • an example of function (p that is C1 continuous at p (see figure (6.15)-A1). In geology, (p represents a (physical) property of a geological surface 5, such as, for example, a seismic reflectivity or the thickness of a layer above S. The surface S and its attached property were initially continuous; however, due to a tectonic event, it may be that S is cut by a fault J-. In this case, the geometry of the surface becomes discontinuous across the fault trace B(S/F], without affecting the continuity of the property. It is very important to preserve a certain form of continuity of ? across this fault trace (see figure (6.16)) but, unfortunately, the classic notions of continuity as defined by conditions (6.49), and (6.50) are not adapted to this problem. Introducing a new notion of continuity is fundamental when addressing this problem. Defined as "pseudo-continuity" and adapted specifically to our geological problem, this new notion is the subject of the next section.
280 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES
Figure 6.16 Pseudo-continuity associated with Vectorial-Links.
6.4.1 Pseudo-continuity across a fault Definition As shown in figures (6.15)-AO and (6.15)-A1, let (U, V) be the frame located in the tangent plane Tp(«S) at point15 p = x(u, v) on the surface <S, as defined by
This surface is assumed to be cut by a fault F passing through p along a fault trace16 B(S/J-~). After cutting <S by the fault, the initial tangent plane is also cut into twin parts. One of these parts is affected by a (relative) rigid displacement T> transforming p and its associated frame (U, V) into a twin point p' and an associated twin frame (U', V'):
Let us now consider a function (p defined on <S, and let grad<£>|p and grad
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). 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. 16
6.4.
CONTINUITY THROUGH FAULTS
281
• (p is Cl pseudo-continuous across the fault trace if (p is already C° pseudocontinuous and if, in addition, the gradient at p' is deduced from the same rigid displacement as the one introduced in equation (6.51):
As suggested in figure (6.15), in the neighborhood of p and p', the surface <S can be approximated by its tangent planes Tp(«S) and Tp>(<5). If the contour lines of (p are projected onto these tangent planes, then figure (6.15) shows: • an example of the function (p that is C° pseudo-continuous at p (white circle), while being Cl pseudo-discontinuous at the same point (see figure (6.15)-BO), and • an example of the function (p that is C1 pseudo-continuous at p (see figure (6.15)-B1).
The case of a triangulated surface In practice, as shown in figures (6.13), and (6.17), it is assumed that the faulted surface S is modeled as a triangulated surface T(«S) whose nodes a 6 0 have a given location x(o:) in the 3D space. Referring to the notations introduced in section (6.3.2) and illustrated in figure (6.13), we see that the displacement V at P(s^) is defined by the vector (P(sf) — P'(si)}: As suggested in figures (6.16), and (6.17), in the next two sections T = T(x(a 0 ),x(ai),x(a2)) and T' = T(x(af0),x(a'l),x(a'2}) will represent the twin triangles of S whose edges .E(x(a:o),x(a:i)) and E(x.(aQ},x(a()) contain P(SJ) and P'(SJ), respectively:
6.4.2
Preserving a C° pseudo-continuity
Considering the twin points P(SJ) and P'(si) in figure (6.13), let {«»,(! — Ui)} and {u^ (1 — i^)} be the barycentric coordinates (see page 254) of these two points relative to {x(ao),x(o;i)} and (x(o;o),x(a / 1 )}. Thanks to these barycentric coordinates, the linear interpolation
According to our definition in equation (6.52) of the C° pseudo-continuity at (P(sj),P'(si)}, the following constraint must be respected:
Let c be the DSI constraint that depends on the following parameters c
=
c(i, Wi,i4,0!o,ai,a:o,a:'i)
282 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
and defined by
where ac is a normalizing factor chosen as follows so that \\AC\\ = 1:
Define Oc((p] as follows:
When added to the set of constraints C^ of the discrete model A4 * (fi, TV, ?,£<£), the above constraint induces the following terms 7c(ct) and Tc(a\(f>] at nodes a = ao and a — a\ in the local form of the DSI equation:
Similar terms 7c(a) and Tc(a\(f>) are induced17 at nodes a = a'0 and a = a[:
6.4.3
Preserving a Cl pseudo-continuity
For simplicity's sake, as suggested in figure (6.17), let us assume that the two twin triangles are represented by local canonic parameterizations introduced in section (6.1.3), respectively. According to equation (6.22), this implies that the linear interpolations ({>T and
17
Pay attention to the signs '+' and '—', which may have changed.
6.4. CONTINUITY THROUGH FAULTS
283
Figure 6.17 Twin triangles involved in the pseudo-continuity at twin points {P(si), P'(SJ)}. These triangles are assumed to be represented by canonic parameterization such that (U, V) is transformed into (U', —V) after displacement due to a tectonic event. Referring to figure (6.17), in this particular case, the rigid displacement T> corresponding to the throw (P'(si) — P(si)} ig sucn that18
According to equations (6.53), (6.55), and (6.56), the following constraint
is equivalent to
According to equation (6.9), these two constraints are in turn equivalent to the following pair of constraints where the coefficients {A M , Av} defined by equation (6.8) depend only on the geometry of the triangles T and T":
These linear constraints can easily be turned into a pair of DSI constraints cu = cu(i,ao,ai,a2,a'Q,a'l,a'2) and cv = cv(i,ao, o?i, 0:2, ct^a^a^) defined 18
Pay attention to the "-" sign induced by the opposite orientations of the frames (U, V) and (U', V) on the triangles T and T'.
284 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
by
and
In the above definition of the constraints {c* : * = u or i;)}, the coefficients {Ac*(a)} are all assumed to be equal to zero except when a is equal to ao, Q!I, ct2 or O!Q, a^, a'2. Futhermore, the coefficient ac* is a normalizing factor (see equation (4.4)) chosen as follows to guarantee that ||-A C *|| = 1:
Define 0C* (if) as follows:
When added to the set of constraints Cv of the discrete model A41 (O, AT, ?, C^), the twin constraints (6.57), and (6.58) induce the following terms 7c*(oO and Fc*(o;|(/?) in the local form of the DSI equation:
6.4.4
A test example
This section presents an actual example showing how to model the geometry x and a property (p of a faulted triangulated surface T(S) with the DSI method. In this example, it is assumed that a draft model of the geometry has been obtained, and the geologist would like to • edit the fault-throw vectors interactively, and • interpolate a property (f continuously on T(S) .
6.4. CONTINUITY THROUGH FAULTS
285
Figure 6.18 Faulted surface: the bottom fault is to be modeled according to the Control-Throw vectors, which are displayed as bold arrows. Contour lines correspond to the topography. Some Control-Throw vectors are edited interactively.
Figure 6.19 Interpolating the specified throw vectors from a set of Control-Throw vectors (arrows): Contour lines correspond to the topography, which remains unchanged. Modeling the geometry of the throw The interactive modeling of the geometry of the throw vectors of the bottom faults is represented in figures (6.18), (6.19), and (6.20) and involves the following steps: 1. Initially, all the specified throw vectors and the current throw vectors were coincident. Four specified Control-Throw vectors are set on the bottom fault and two of them are modified interactively (see figure (6.18)), while the specified throw vectors everywhere else are still set as being equal to the current throw vectors.
286 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
Figure 6.20 Taking into account the specified throw vector constraints for interpolating the geometry of the surface: contour lines correspond to the topography, which is modified. Note that the specified throw vectors are now honored. 2. The next step consists in smoothly interpolating the specified throw vectors of the bottom fault by applying the DSI algorithm to the discrete model A^ 3 (A, A^A,T,C T ). The result of this interpolation is shown in figure (6.19), where it can be seen that • the specified Control-Throw vectors {r(€) : I G LA} are kept unchanged; • the specified throw vectors {r(6i) : 6i (E A} are now different from the current throw vectors T(SJ). 3. The final step involves applying the DSI algorithm to the discrete model .M3(O, TV, x, Cx) associated with the surface S to honor the new set of specified throw vectors smoothly. As can be seen in figure (6.20), after applying DSI, the surface S does honor all the specified throw vectors. In practice, if the geometry of the faults cutting the surface is known, it is wise to add the associated Boundary-on-Surface constraints to Cx (see section (6.3.2)).
Modeling the properties Figures (6.5), and (6.21) show the application of DSI constraints to restore the continuity for physical property modeling across the faults. Figure (6.5) shows the result of using the faulted surface as a topological basis for interpolation without setting the C° and Cl pseudo-continuity DSI constraints across the faults: the property modeled here is clearly discontinuous. Figure (6.21) shows the result obtained with the same data, but using the C° and Cl pseudocontinuity DSI constraints to restore the continuity of the property across the fault: the contour lines of the property are now continuous across the faults.
6.5. GLOBAL PARAMETERIZATION
287
Figure 6.21 Interpolating a physical property on a faulted surface with restoration of the continuity thanks to C° and Cl DSI constraints: contour lines of the property are continuous across the fault traces (compare with figure (6.5)).
6.5
Global parameterization
As illustrated in figure (6.22) and as already introduced in section (5.2), the global parameterization of a surface S embedded in the JR space consists of a one-to-one mapping between S and a domain D of JR2 called the "parametric" domain:
• To any point u = (it1, u2) belonging to D, direct mapping x(u) associates one single point x(u) = x(ii 1 ,'U 2 ) belonging to S. • To any point x = (x1, x2, x3) belonging to S, inverse mapping u(x) associates one single point u(x) = u(x 1 ,x 2 ,x 3 ) belonging to D. In this section, it is assumed that the geometry of S is given and the goal is to build the functions u(x) and x(u). By opposition to the local parametric representations introduced in section (6.1.3), the function x(u) so defined is called a global parametric representation of S while the function u(x) is called a global parameterization of S. 6.5.1
Introduction
Linear model For simplicity's sake, it is assumed that S is modeled as a triangulated surface T(S} where any triangular facet T € T(S] is a (flat) linear patch (see definition (6.10)). The set Q of vertices of T(S] defines a sampling of both S and D, and the same notations (see page 247) are used for designing the
288 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
Figure 6.22 Global parameterization of a triangulated surface T(S): the triangle DT G T(D} in the parametric domain D is equal to the image u(T) of the triangular facet TeT(S).
functions x and u and their associated samplings:
For any triangle T G T(<5>), the image u(T) is noted as DT'-
For any pair (ub,Vb) of barycentric coordinates on T, the points XT^,^) G ]R3 and urjT(ub,Vb) G 7R2 can always be built as follows (see page 251):
From equations (6.15), (6.23), and (6.26), it is verifiable that
Moreover, from equation (6.26), it can be deduced that
As shown in figure (6.22), equations (6.61), (6.62), and (6.63) clearly imply that, for any triangle T G T(«S),
6.5. GLOBAL PARAMETERIZATION
289
• a (flat) rectilinear triangle DT € D corresponds to the (flat) rectilinear triangle T e T(5) such that
• the vertices of DT are the images of the vertices of T:
Moreover, • the parametric domain D can be modeled as a (flat) triangulated surface T(X>) such that
• the functions x = x(u) and u = u(x) are fully determined by their values on the set f2 of the vertices of T(«S). In other words, assuming that the facets of T(S] consist of flat triangles, the problem of building a global parameterization u of S is equivalent to determining the matrix
as a function of the geometry of S itself defined by the following matrix:
Discrete model X 2 (O, N, u,C u ) Assuming that the facets of T(«S) consist of flat triangles, the problem of determining a global parameterization of S is equivalent to building a discrete model .M2(£7, N, u, Cu) where u is the matrix as defined by equation (6.59). Reducing the construction of the global parameterization to the interpolation of a vectorial function u = [u1, w 2 ]* defined on the set of nodes of a discrete model A^ 2 (ri, N, u, Cu) is a great step forward. However, such a problem has an infinity of solutions and some DSI constraints need to be added to the set C\i to specify the style of the particular desired solution. In practice, as will be seen in the sections below, two types of constraints will be considered: • An initial set of general constraints will be introduced for specifying that the triangulation T(.D), as defined by equation (6.64), should look like a "good" map of T(«S). By "good" map of T(«S), we mean that the image DT of any triangle T € T(<S) should approximately honor the following constraints: * the triangles T and DT should have the same area; * the edges of T and DT should have the same length; and * the angles of T and DT should be equal. In other words, the aim is to minimize the distortions between T(«S) and its image T(D) — u(T(<S)). These constraints will be called "isometric constraints." • A second set of constraints will be used for specifying the values of u on some parts of the surface S. Such constraints will be called "isoparametric constraints."
290 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES From a theoretical point of view, it can be shown that, if the locations of two distinct nodes u(a) and u(a') are fixed in 1R2, and if the isometric constraints defined above are used, then the global parameterization u is unique.
6.5.2
Isometric constraints
A preliminary remark Let (ul,u2) be the components of u and let t z be the unit vector19 colinear to grad u1 at point p G S:
The pair (p,t*) defines a straight line contained in the tangent plane Tp(«S) of the surface S at point p and which has the following equation: According to the definition of the notion of gradient (see equation (5.23)) and from equation (6.66), it can be observed that
From the definition (6.66), it can be deduced that
Taking equations (6.66), (6.67), and (6.68) into account allows us to write
Comparing this equation with equation (6.66), it can be concluded that the following relationship between xMi and grad ul holds true:
Notion of isometric constraints As suggested in figure (6.22), for simplicity's sake, the parametric domain is traditionally assumed to be provided with a rectilinear coordinate system (ul,u2} associated with an orthonormal frame (Ii,l2). In other words, any vector u = (u1, u2) of D can be written as The frame (Ii,l2) and its associated metric tensor GO are constant over D and it is relevant to note that
19
Note that u^ represents a scalar value and thus its gradient can be computed.
6.5. GLOBAL PARAMETERIZATION
291
This implies that, in the parametric domain, the following metric properties are always honored: • The arc length dsa corresponding to an increment (du1, du2) in the parametric domain D is such that
• The element of area dAa corresponding to an increment (dul,du2) in the parametric domain D is such that
• The scalar product of two vectors a and b belonging to the parametric domain D and defined by
is such that
On the other hand, if the metric tensor G associated with the parametric representation x(u 1 , u2) of the surface <S is considered
then, according to equations (5.15), (5.19), and (5.18), the following local metric properties at point p = x(u 1 , it?) on <S hold true: • the arc length ds corresponding to an increment (dul,du2) on the surface S is such that • the element of area dA corresponding to an increment (du1, du2) on the surface S is such that • the scalar product of two vectors a and b belonging to the tangent plane Tp(S) to S at point p = x(ti 1 ,u 2 ) and defined by
is such that If the distortions between the triangulated surface T(S) and its image (map) T(D] in the parametric domain have to be minimized to honor the constraints (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 parameterization u = (M 1 ,^ 2 ) has to honor the three following DSI constraints, called "isometric constraints:"
Moreover, in addition to these constraints and as shown in figure (6.6), it is wise to add DSI Constant-Gradient constraints to Cu specifying that, for any pair of adjacent triangles T and T", the gradient of ul and w2 should be approximately constant:
As can be seen, all these constraints are clearly special cases of some of the general purpose DSI constraints presented in section (6.2.1). However, special attention should be paid to the constraint (6.80)-3, which must be applied both iteratively and alternately as follows, but only as a final step, to refine the parameterization: //— orthogonalisation of iso-it1 and iso-w2 • i<— 1 while ( more iterations are needed ) { for_all( a € ft ) { • install a constraint on ul specifying that gradu1 must be orthogonal to gradu3~l } //- end: for_all • run DSI on ul • i<— (3 - i) } //- end: while
It should be noted that the quality of the parameterization is strongly dependent on the quality of the initial solution used in the above algorithm; as an example, in section (6.5.3) we will propose an algorithm capable of producing an initial parameterization that approximately honors the isometric constraints (6.80). Comment 1 If the isometric constraints are honored strictly, then it is easy to imagine flattening the surface S without any plastic deformation and putting this flattened version in coincidence with its parametric domain D. In other words, if the isometric constraints are perfectly honored, then, • the surface S is developable; and • any segment (u, u') in the parametric domain is transformed into a geodesic curve (x(u),x(u')) on the surface S (see page 216).
However, as already mentioned (see page 221), a surface is developable if, and only if, its Gaussian curvature K is equal to zero everywhere, and this is
293
6.5. GLOBAL PARAMETERIZATION
generally not the case in practical applications. Consequently, the isometric constraints (6.80) cannot be rigorously honored, in general, and have to be implemented as soft DSI constraints to be honored in a least square sense. From a practical point of view, this suggests modulating the certainty factor wc of any soft isometric constraint c locally as a function of the total curvature K of the triangulated surface T(S). For example, at each node a of T(<S) where such a constraint has to be taken into account, it may be wise to modulate wc as follows20 where Dev(a) is the relative developability-index defined by equation (5.59) at node a of T(<S). Comment 2 Honoring the isometric constraints strictly or in a least square sense is of paramount importance in some practical applications. For example: • In structural geology (see section (8.5)), if S is a folded/faulted horizon separating two sedimentary layers, then the operation of "unfolding" and "unfaulting"<£ to retrieve its initial shape prior to any tectonic event is called a "palinspastic" reconstruction. Generally, since the initial 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 remark is at the origin of an unfolding method presented in section (8.5). • In geostatistics (see section (9.7)), there are many situations where the aim is to model the variations of a property ? attached to a geological surface (horizon or fault) and observed on a set of sampling points {p^} scattered on <S. In this case, all the geostatistical methods rely strongly (and implicitly) on the fact that the shortest curvilinear distance21 d$(p, q) on <S can be computed for any pair of points (p, q) on <S. In practice, thanks to the isometric constraints, these distances can actually be computed easily in the parametric domain D: 2
Test examples DSI constraints ensuring the orthogonality of the iso-w1 and iso-w2 curves, together with the Constant-Gradient constraints and the C° and C1 pseudocontinuity constraints for the ul and u2 parameters, are the key to the isometric global parameterization of triangulated surfaces. The two test examples proposed below allow us to evaluate the efficiency of these DSI constraints: 20
Note that Dev belongs to the range [0,1] and the modulated value is close to -c&c if the surface is developable in the neighborhood of a. 21 See the definition of the notion of geodesic on page 216.
294 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES
Figure 6.23
Global isometric parameterization of a triangulated surface.
• Figure (6.23) shows the results of the isometric DSI constraints applied to a triangulated surface representing a face (see figure (6.23)-A). The effect of the orthogonality and Constant-Gradient constraints can be brought to the fore by comparing figure (6.23)-B (no constraints used) and figure (6.23)-D (orthogonality and constant gradient constraints enforced), 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 pseudocontinuity constraints ensuring the continuity of the global parameterization 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 parameterized. For this kind of surface which is far from being developable, distortions will still remain, and it may be useful to choose a compromise 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 parametric 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 isoparametric curves. — In figure (6.24)-A, the orthogonality is respected, but there is a great variation in the size of the checkered texture's squares. — In figure (6.24)-C, the squares are of approximately the same size, yet the isoparametric curves are far from being orthogonal. — An average solution is shown in figure (6.24)-B, where the same certainty factor was used for the two constraints.
6.5.3 3
Looking for an initial parameterization
As already mentioned on page 292, the quality of the global parameterization obtained with the DSI algorithm is strongly dependent on the initial solution and it is thus of paramount importance to look for an initial parameterization (u(a) = (w 1 (a), u2(o)} : a e fi} that approximately honors the isometric constraints (6.80). Among the many possible techniques that can be used for building such an initial solution, in this section we propose an approach based on the concept of "conjugate" functions, which has the advantage of directly taking into account the constraints (6.80). Notion of conjugate functions on a triangle T Let (p be a function defined on the set £7 of vertices of a triangulated surface T(<S), and let T = T(x(o!o) 5 x(ai)>x(a2)) be a triangular facet of T(S). Assuming a linear variation of ip on T with a constant gradient grad(/?JT, it is easy to check23 that the values (/?(ao), ^ f a i ) ) and (p(a2) at the vertices of T are such that
In other words, if the value (p(ot,i) at one of the vertices of T is known, then the values of (p at the two other vertices can be determined thanks to the above equation. 23
Taking into account the fact that grad<^ is constant on T, this formula is a straight-
forward applications of property (5.23).
296 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
By definition, a linear function (p defined on T is said to be conjugate of (p on T if its constant gradient grader has the same length as grade/?\T and is orthogonal to grad(/?|y:
If we note NT the unit vector orthogonal to the triangle T, then the gradient of such a conjugate function (p can be deduced from grad?|T as follows:
Moreover, similar to equation (6.81), the values of (p at the vertices of T honor the following equation:
Building an initial parameterization It should be noted that any pair of conjugate functions (<£>, (p) defines an isometric parameterization of T = T(x(a 0 ),x(ai),x(a2)) provided that
For this purpose, it suffices to define U(CKO), u(ai) and u(a 2 ) as follows:
This suggests the following seven-step algorithm to build an initial parameterization of a triangulated surface T(<$) that roughly honors the constraints (6.80): 1. Perform the following initializations: • initialize to zero a "counting" function c and a pair of functions (ip, (p) denned on the set $1 of the vertices of T(«S):
• choose an initial triangle T = T(x(ao), x(ai),x(a:2)) belonging to T(<S) and set c(ao) equal to 1:
• choose a unit vector g parallel to T. 2. Among the vertices {ao, 0:1, 0:2} of T, look for an index i such that c(oa) ^ 0. If there is no such vertex, then go to step 7; otherwise determine (a, (3) such that
3. Compute the unit vector g = NT x g.
6.5. GLOBAL PARAMETERIZATION
297
4. Perform the following operations:24
5. Build the set Ao(T) of all the triangles neighboring T that have at least one vertex a such that c(a) — 0. 6. If Ao(T) is empty, then go to step 7, otherwise, for each triangle T* 6 Ao(T), execute recursively the following operations: • rotate g in such a way that g becomes parallel to T* • T
<—
T*
• go to step 2 7. For all a G fi, initialize the parameterization u = (w 1 ,?/ 2 ) as follows:
In the case where T(S] is affected by discontinuities (e.g., fault traces), it is necessary for any parameterization to be continuous through these discontinuities. Such a continuity is automatically ensured if the triangles linked to T by "Vectorial-Links" (see page 275) are added to the set Ao(T) at step 5 of the above algorithm.
6.5.4
Isoparametric constraints
Definition Let us consider the vectorial function u(x) = (w 1 (x), w 2 (x)) defining a global parameterization of a surface S. Each component w z (x) is a scalar function denned on S and, for any given value WQ, the set of points JI(UQ) as defined by
is an isovalue curve of w l (x) drawn on S. By definition, such a curve is called a "^-isoparametric curve" of the associated parameterization x(u). 24
These updating formulae are straightforward applications of equations (6.81), and (6.82) combined with the fact that
298 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
Figure 6.25 Notion of isoparametric constraint: the bold curve defines an isoparametric constraint. Preliminary remarks Let p fc be a point located on an isoparametric curve JI(UQ) of a surface S and let tl be the unit vector tangent to Jt(ulQ} at point p fe . By definition of the notion of gradient (see equation (5.23)), if s represents the algebraic curvilinear abscissa on JI(UQ) oriented in the direction of t\ then according to the definition (6.83)
This clearly shows that gradw* is orthogonal to ^(UQ):
Consequently, as suggested in figure (6.25) and according to equation (6.69), the isometric constraints (6.80) are equivalent to
Moreover, if N/, is the unit normal vector to S at point pfc then, according to (5.11), and (6.69), the tangent t* to JI(UQ) at point pfc should be oriented in such a way that
Notion of isoparametric constraints As shown in figure (6.25), let {p l 5 ..., p^, p fc+1 ,...} be an ordered list of points corresponding to the sampling of a curve J~l drawn on 5, and let N& be the unit normal vector to S at point p fc . Let us assume that the points {p^} are numbered in such a way that
This ordering is compatible with condition (6.86) above, which suggests the possibility of making one of the isoparametric curves of the function ul (x),
6.5. GLOBAL PARAMETERIZATION
299
Figure 6.26 Global parameterization of a triangulated surface with isoparametric DSI constraints. Isoparametric constraints allow isoparametric curves to be fitted to geological features, such as, for example, the boundary of certain fault traces. If the external boundary is rectangular in shape, then isoparametric constraints can also be used to fit this boundary to isoparametric curves. (Data courtesy Elf) for example, J I ( U Q ) , identical to Jl for some (unknown) value UQ of the parameter ul. For this purpose, according to equations (6.84), and (6.85)-3, we can say that, on the curve J7"1, the function ul(x) is constant and the gradient of u 2 (x) is equal to 1. In other words, for any pair of points (p f c ,p f c + 1 ), this suggests introducing the following constraints called "^-isoparametric constraints:"
The "w2-isoparametric constraints" can be denned in a similar way and it is straightforward to implement all of them as "fuzzy Control-Delta" constraints, already presented on page 256. Comment The beauty of the notion of the ^-isoparametric constraint is that, for specifying 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 straightforward way to the parameterization of a 3D region 71 modeled as a tetrahedralized volume or a regular 3-grid. In such a case, the 3D region is assumed to be represented by a discrete model Ai3(O, AT, u,Cu) where the vectorial function u has three components representing the parameterization of the studied region: For any i e {1,2,3}, the notion of an isoparametric surface ^(UQ) is defined as follows in a similar way to the notion of isoparametric curve:
Moreover, it is also possible to define the notion of an isoparametric constraint to specify that w z (x) should have one of its isoparametric surfaces, say, JI(UQ), be identical to a given surface Jl for some unknown value UQ of the ith component ul of the parameter u. In practice, the surface J"1 is defined by a given (unordered) set of sampling points and the associated isoparametric constraint is defined as follows
or, equivalently:
These linear equations can easily be transformed into a set of K DSI constraints specifying that an unknown isoparametric surface J^I(UQ] should be close to the given surface J"1 for an unknown value UQ of the parameter u1. As in the 2D example represented in figure (6.26), such an isoparametric constraint allows us to align the isoparametric surfaces with horizons and faults to obtain a 3D parameterization compatible with the structure of the subsurface. If need be, these isoparametric surfaces can in turn be sampled regularly and identified with the isoparametric surfaces of a regular curvilinear 3-grid.
6.5.5
Uncoupling properties from the geometry
Let T(S) be a triangulated surface holding a vectorial p-dimensional property (p. The geometry x and the property ? of T(S] are assumed to be modeled
6.5. GLOBAL PARAMETERIZATION
301
Figure 6.27 Uncoupling properties from the geometry: a property y> is modeled at the nodes of a fine grid covering the parametric domain D of the triangulated surface T(«S). Texture mapping of this grid on T(<5) allows high-frequency variations of (p to be represented independently of the size of the triangles of T(«S). Moreover, the continuity of (p across faults (if any) is restored.
by their values {x(a)} and {(f>(o)} sampled at the nodes of T(S}. It can be observed that • if the surface S is very smooth, then very few triangles are needed for modeling its geometry and, in the extreme case where S is a perfectly flat rectangle, T(S] can be composed of only two triangles; • if the property ? presents high-frequency variations on «S, then a lot of triangles are needed for modeling these variations accurately even if S is very smooth.
This clearly shows the need for uncoupling the properties of a surface from its geometry. In addressing this problem, the next section will propose a solution based on a parameterization of T(S): Discrete model Mp(ftu, Nu, (p,C^) attached to T(«S) If T(e>) is a globally parameterized open surface, according to section (3.4), it is always possible to cover its parametric domain D with a set fiu of nodes {uy} corresponding to the nodes of a regular 2-grid:
Such a set of nodes Slu can be used for building a 2D graph G(£lu, Nu] where the neighborhood operator Nu is defined by
302 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED
SURFACES
Let (f> be the (m xnxp) vector collecting all the components of values ^(uy) corresponding to the sampling of <^(x) at points x(uy) of T(<S) associated with nodes Ujj e fi u . In the parametric domain, it is possible to build a discrete model Mp(£lu, Nu,(p,Cv} attached to T(5), but completely uncoupled from the geometry of T(<5):
As shown in figure (6.27) from a graphical point of view, if p = 1, it is very handy to use a well-known texture mapping technique [40, 82, 131] for painting T(<5) with the values stored in the matrix (p. Using the neighborhood operator Nu defined by equation (6.88) implies a "pseudo-continuity" across the images of fault traces in the parametric domain D. This means that, proceeding in this way, (p is mapped continuously on T(<S) as it was prior to being cut by geological faults. It should be noted that, if the discontinuities across faults have to be honored, then modifying the definition of Nu to remove the edges of the graph G(£lu,Nu] cut by the fault traces in the parametric domain suffices. Evaluating ?(p) at a point p on T(«S) Let (itfc, Vb] be the barycentric coordinates of a given point p in a given triangle T = r(x(ao),x(ai),x(a 2 )) of T(S):
The image u(p) in the parametric domain D of T(«S) is denned by
Thus the indexes ( i , j ) of the left bottom corner u^- of the unit squared 2cell Uij of G(Slu, NU) containing25 u(p) = (w 1 (p),w 2 (p)) can easily be determined:
Let (xij,yij] be the local normalized coordinates of u(p) in Uij defined by
and let |A^j(p) be the four coefficients, as defined by
25 The function floor(x) is defined as the greater integer either lower or equal to the real value x.
6.5. GLOBAL PARAMETERIZATION
303
For the sake of conciseness, the following notation will be used in the rest of this section:
It is verifiable that the coefficients {A^-(p)} defined by equations (6.89) are such that
In other words, the coefficients {A^j(p)}, as denned by equation (6.89), appear as a set of barycentric coordinates of u(p) relative to the vertices of the unit squared 2-cell Uij of Q(^tu,Nu} containing u(p). Therefore, it is proposed to evaluate
Installing a fuzzy Control-Property constraint As suggested in figure (4.7), let IP be a point holding a property >(IP) projected at point p on the triangle T(x(o:o),x(a!i),x(a2)) °f ^~(<S)- Assume that we want to add a fuzzy Control-Property constraint to the set Cv of constraints related to the discrete model A4p(QUi Nu, ?)£?) to specify that
In such a case, according to equation (4.67), the following terms have to be added to the local form of the DSI equation at each of the four nodes {u^j} of the cell Uij containing the image u(p) of the point p in the parametric domain:
with:
304 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES
Figure 6.28
Transmitter between two regular curvilinear 3-grids.
Notion of Transmitter Geological surfaces such as faults, unconformities, and horizons introduce discontinuities 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 negative sides of the surface at each node Uij 6 f2 u ; and • build a discrete model M2(£lu, Nu, (f>,C
The discrete model A42(£lu,-/Vu,y?, C^,) so denned is called a "transmitter" and can be used for modeling discontinuities related to the topology and the properties of the model. For example: • In seismic processing, the refraction of seismic rays is controlled by the discontinuities of the seismic velocity field across geological surfaces. This kind of information can easily be modeled as a transmitter, where ip~(uij) and tp+(uij) are defined as follows:
• In reservoir characterization, the regions located on the two sides of geological surfaces (horizons, faults, unconformities) are generally modeled as sets of polyhedral 3-cells. It may be interesting to identify each pair of adjacent cells {C~(\iij), C+(uij)} that have a face tangential to such a surface at location u^. This kind of topological information can easily be modeled by a transmitter, where ip~(\iij) and (p+(uij) are defined as follows:
Figure (6.28) shows an example of such a transmitter.
6.6. MODIFYING THE TOPOLOG
305
Figure 6.29 Swapping the common edge (x(o:i),x(a2)} of two adjacent triangles of a triangulated surface T(«S) modifies the global beauty o f T ( S ) . Note that the notion of transmitter can be extended to store properties specific to the surface. For example, in the case of a fault, modeling the permeability of the fault at any location u^- e Ou as an additional property may prove interesting. It is also possible to use the parametric domain of the transmitter as a "blackboard" on which the non-manifold junctions with other surfaces can be mapped as curves. This is particularly interesting for modeling Allan maps (see [5]).
6.6
Modifying the topology
By definition (see page 246), a triangulated surface T(S] is no more than a particular cellular partition of an unknown surface S sampled at a finite set of points {x(ct) : a € O} corresponding to the vertices of T(S}. A new triangulated surface deduced from T(«S) can be built in two different ways: • either the new triangulated surface is a new cellular partition of the same surface S, • or the new triangulated surface is a cellular partition of a new surface whose boundary topology differs from that of S. The first approach involves the "beautifying" and "resampling" algorithms, while the second approach corresponds to the "trimming" and "cut" algorithms presented in this section.
6.6.1
Beautifying algorithms
Beauty of a triangulated surface The equilateral triangle and the flat triangle with a degenerated edge are generally considered as the "nicest" and the "ugliest" triangles, respectively, that can be built. This suggests measuring the "beauty" b(T) of a triangle T
306 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED SURFACES
Figure 6.30 Examples of improvement of the topology of a triangulated surface (A). The resulting "beautified" surface (B) preserves both the number and the location of the vertices of the original surface. The resulting "beautified" surface (C) preserves only the number of vertices of the original surface. The resulting "resampled" surface (D) preserves only the geometry of the original surface. as the ratio
where • r(T) is the radius of the circle tangent to the three edges of T; and • -R(T) is the radius of the circle passing by the three vertices of T. It can be shown (see [46]) that the beauty criterion so denned can be computed as follows, where di, a2, and 0:3 are the internal angles of T:
Moreover, for any triangle T, the beauty criterion 6(T) has the following properties (see [46]): • b(T) stays in the range [0, ^]; • the maximum | of b(T) is reached if T is equilateral; and • the minimum 0 of 6(T) is reached if T is flat. This means that the global beauty of a triangulated surface B(T(S)}, defined as the sum of the beauties of all its triangles, is finite and
6.6. MODIFYING THE TOPOLOGY
307
Algorithm #1 As suggested in figure (6.29), considering two adjacent triangles T and T* of T(«S) sharing a common edge, let cr(T\T*) and cr(T*|T) be the two new triangles deduced from T and T* by "swapping" the common edge:
In general, the swapping operation so defined modifies the global beanty of the triangulated surface T(<S). This suggests the following "beautifying algorithm," whose convergence is ensured because, at each step of the iterative
process, the global beauty B(T(S)) increases and is upper bounded by the value (i - |T(5)|): // beautifier#l let T*(S) be a copy of T(S)
do { flag <— false for_all(TeT*(<S) ) { let A(T) be the set of triangles adjacent to T let T* be the triangle of A(T) such that 6(cr(T*|T)) = max b(a(t\T}} t€A(T)
if(6(a(T|T*)) + b(a(T*|r)) > 6(T) + &(T*)) { replace T by
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) resampled and transformed into the new triangulated surface T*(»S) shown in part (C). In the parametric domain T(D}, part (B) shows the map of the curvature of T(<S), while part (D) shows the new triangulation T*(D*) associated with the new triangulation T*(S) in part (C). let T*(S) be a copy of 7£i(S) install Control-Thickness constraint on T*(S) install Control-Nodes on the boundary of T* (S) apply beautifier#l to T*(S} run DSI on 7^(3) }while( topology {T* (S}} ^ topology {7~*_ l (S)})
This program implicitly assumes that the Control-Thickness constraints applied to T*(S) stipulate that the "thickness" between T*(S) and 7^^1(»S) must remain equal to zero. Figure (6.30)-C gives an example of the result obtained with this algorithm when applied to the triangulated surface shown in figure (6.30)-A.
6.6. MODIFYING
6.6.2
THE TOPOLOGY
309
Resampling algorithm
Notion of resampling As suggested in figure (6.31)-A, let T(S] be a globally parameterized open triangulated surface, and let T(D] be the associated triangulation in the parametric domain D defined by equations (6.60), and (6.64). The possibility always exists to build a vectorial function x(u) interpolating the vertices of T(S] on D and to assume that this function corresponds to a parametric representation of the unknown underlying surface S to be modeled: For example, x(u) could be • the piecewise linear function x, as denned in section (6.1.2) and interpolating, in a linear way, the vertices of T(S]; • the piecewise nonlinear function x, as defined in chapter 7 and interpolating, in a curvilinear way, the vertices of T(S) thanks to a Gregory patchwork (see section (7.3), page 336); or • a Kriging interpolator (see section (9.7), page 502). The choice of such an interpolator x(u) immediately allows a new triangulated surface T*(S] to be built as follows: 1. Choose a finite point set P fully contained in D. 2. Build the set £ of the edges corresponding to the boundary of D. 3. Build the set P* consisting of the set P plus the vertices of the edges of £:
For the sake of consistency with previous notations, the points of P* are noted as follows where the {a*}'s are assumed to belong to a set of indexes f2*. 4. Using the algorithm presented on page 104, build the constrained Delaunay's tessellation T>(P*\£) of the parametric domain D. 5. Remove all the triangles of T>(P* \E] whose barycenters are outside D to obtain a retriangulation T*(D) of the parametric domain D:
6. Build a new triangulation T* (S) of S consisting of the image of T* (D) defined by x(-): According to equation (6.90), the image x(u(a*)) of any point of P* belongs to the unknown surface S, and the set of points {x(a*)} defined by
corresponds to the vertices of T* (S).
310 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
The new triangulated surface T*(S) so defined is called a "resampling" of T(S}. For example, the nodes of the triangles in figure (6.31)-D constitute a resampling of the triangulated surface shown in figure (6.31)-A. In practice, this resampling method can easily be adapted to take properties of T(S] into account: • The density of the points of P in D may be chosen as a function of a property of the initial surface T(S] such as, for example — the intensity of the curvature of T(S], and — the gradient of a physical property attached to T(S}. Figures (6.30)-D and (6.31) give examples of a resampling performed in function of the maximum curvature (see page 235) of the surfaces. • If the new triangulation T* (S] has to honor a polygonal curve L assumed to be drawn on tS, then it suffices to proceed as follows: — build the image A of L in D:
— if need be, clip A to the interior of the domain D:
— add the edges of A to the initial set of edges £:
— add the vertices of A to P*:
Figure (6.32) shows an example where a resampling is performed in function of the maximum curvature of the surface while honoring some given curves drawn in bold. Piecewise linear embedding x* associated with a resampling In practice, the function x(u) is sampled at locations u(a*) corresponding to the point set P* and x(u) may be approximated by a piecewise linear function x*(u) interpolating x(u) linearly on each triangle of T*(D). In this case, the image T* of each triangle DT* of T*(D) is a flat triangular facet belonging to the new triangulated surface T*(S] such that
It should be noted that, the two piecewise linear functions x(u) and x*(u) interpolating the vertices of T(D] and T*(D) linearly are, in general, two different functions:
6.6. MODIFYING
THE TOPOLOGY
311
Figure 6.32 Part (A) shows a parameterized triangulated surface T(«S) resampled and transformed into the new triangulated surface T*(S] shown in part (C). In the parametric domain T(D), part (B) shows the map of the initial triangulation o f T ( S ) , while part (D) shows the new triangulation T*(D*) associated with the new triangulation T*(S] of the parametric domain producing the new triangulation T*(<S) in part (C), that honors the four curves drawn in bold. An example of a resampling algorithm The new triangulated surface T* (<S) associated with the piecewise linear interpolator x*(u) defined above appears as a new approximation of the underlying unknown surface <S. The associated new sampling P* may be optimized to honor the two following constraints where E is a given threshold:
2)
the number of vertices of T* (S) is minimum.
For this purpose, we propose using the following algorithm where the operator T^n(P*\£} is assumed to be the constrained Delaunay triangulation (see page 104) with all the triangles outside the parametric domain D removed: //— Resampling let P* be the set of nodes of d(D) flag +— true while( flag ) {
312 CHAPTER 6. PIECE WISE LINEAR TRIANGULATED
SURFACES
Figure 6.33 Gluing an edge E(S) of a triangulated surface T(«S) onto a triangulated surface T(F} may require a resampling of T to obtain a new triangulation of J- that honors the polygonal curve L(}-} corresponding to the projection of E(S) on J-.
Figure (6.30)-D shows an example of resampling obtained with this algorithm when applied to the triangulated surface shown in figure (6.30)-A. The function x(u) used in this example was a G1 Gregory patchwork (see section (7.3)). About curves As already mentioned in the resampling algorithm presented above, the edges of polygonal curves can be taken into account. Such a possibility is particularly interesting in the practical situation illustrated in figure (6.33). As shown in this figure, let us consider the projection I/(^") of an edge E(S) of a triangulated surface T(«S) on a triangulated surface T(F}. If the surfaces S and T have to be glued (see page 90) along the polygonal curves E(S] and L(JF), then, in general, a resampling of T honoring L(F] has to be built, and the above algorithm can be used for this purpose. Trimming algorithm It should be noted that the above resampling algorithm can easily be modified to build a triangulation T(S/B] corresponding to a subset of S. Such an operation is called a "trimming" of S and is defined by a given closed polygonal curve B assumed to be contained in the parametric domain D and called a "trimming curve." All that is required in this case is to change the set 8 of segments used by the resampling algorithm as follows:
6.6. MODIFYING THE TOPOLOGY
313
With 8 defined in such a way, the resampling algorithm will generate a new triangulated surface T*(<5*) corresponding to a subset <S* of S and having an external boundary corresponding to the image of B in M3.
Extension algorithm Let D+ be a given region of JR2 containing D. The possibility always exists to build a function x + (u) denned on D+ and identical to the piecewise linear interpolation x(u) on D:
For example, if D+ is bounded by a polygonal curve dD+, then the following procedure can be adopted for building x+ (u) on D+: • build a triangulation T(D + ) identical to T(D) plus a set of triangles covering the ring (D+ — D) and honoring the edges of dD+; • build the discrete model .M 3 (f2 + , N+, x + ,C x +), where £7+ corresponds to the nodes of T(£>+) and where Cx+ consists of Control-Nodes installed on the vertices of T(D), while N+ is induced by the edges of T(D + ); • interpolate x+ on fi+ with the DSI method; and • interpolate x + (u) by x(u) linearly on each triangle of T(.D+). The image of T(D + ) by the function x so defined is a triangulated surface extending T (). Note that the extension of T(«S) so obtained can be trimmed by any polygonal trimming curve B contained in D+. Moreover, it is easy to implement a composite operation involving extensions and trimmings: for this purpose, in the parametric domain it suffices to define a closed curve representing the boundary of the new surface to be built.
6.6.3
Cut algorithm
Let us consider two triangulated surfaces26 T(«S) and T'(.7r), and let r(«S,Jr) be the set of points of -ff?3, as defined by
From a theoretical point of view, F(«S, J-) may consist of isolated points, pieces of polygonal curves and pieces of isolated surfaces (patches):
26
For example, S corresponds to a geological surface cut by a fault F.
314 CHAPTER 6. PIECEWISE LINEAR TRIANGULATED SURFACES
Figure 6.34 A triangulated surface T(S} crossed by a second (transparent) triangulated surface T(F}. The cut generates a new boundary on T(S] without modifying its geometry. Installing a Boundary-on-Surface constraint specifying that the new boundary should remain stuck on T(F} before running DSI on T(S} enables the fault trace to be "opened." In practice, the subsets Fo(«S, J-} and ^(5, F] are discarded. "Cut operation" denotes any resampling of <S resulting in a new triangulation T* (<S) honoring Fi(«S, J7) in the following sense:
The "cut algorithm" corresponding to this cut operation can be outlined as follows: 1. Let "yi(S,F) be the empty set. 2. For each pair of triangles Ts G T(S} and T/ e T(F}, determine the intersection (Ts n T/). If Ts e T(<S) is a segment, then add it to the set 71(5, J7). 3. Transform the set of segments 71 (<S, T) into a set of polygonal curves FI (<5, F). 4. Retriangulate, locally or globally, the surface S to obtain the new triangulation T*(S) honoring the edges of Fi(<S, J7). 5. Unsew the triangles of T*(S) along the edges of Fi(«5,.F). This operation is realized by removing the «2 links (see section (2.4.7)) between the darts associated with the edges of ri(<5,.F). In spite of its theoretical simplicity, implementing the cut algorithm so defined is extremely complex. This practical complexity is induced by the fact that the above operations (2), (3), and (4) are very sensitive to rounding numerical errors, and a naive direct implementation of these operations is unacceptable. A correct implementation must be based on logical geometric predicates taking care of the history of the vertices generated at step (2). The role of these geometrical predicates is to guarantee that the same logical point computed in two different ways results in one single vertex. A complete description of such a complex system is outside the scope of this book; for more details, the reader is referred to [109] and [74]. Figure (6.34) shows an example of a cut operation corresponding to the intersection of a geological surface by a fault: the new surface so obtained possesses a new boundary corresponding to the fault trace.
6.7. CONCLUSIONS
6.7
315
Conclusions
A large part of this chapter has been dedicated to the presentation of DSI constraints very specific to geological surfaces modeled as triangulated surfaces. 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 globally 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 triangulated surfaces can straightforwardly be extended to tetrahedralized volumes and polygonal curves: in such cases, the tetrahedra (3-simplexes) of the volumes 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 interpolating 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 rectangular 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 rectangular patches. Triangular patches do not suffer from such degeneracies and thus are better suited to describe complex geometries than are rectangular patches ... . . . If a completely new system is to be developed, such a system would most likely profit from the additional flexibility offered by triangular patches enough to justify a higher implementation cost. 1
Computer-Aided Design.
317
318
PTER 7. CURVILINEAR TRIANGULATED SURFACES
Figure 7.1 An example of Gregory patchwork smoothly interpolating the vertices of the initial linear triangulated surface represented in figure (6.1). This explains why the modeling of triangulated surfaces is currently one of the most active fields of research in CAD. Within the framework of this chapter, three different approaches are proposed for building a smooth surface interpolating the vertices of a given triangulated surface: 1. The first approach consists in approximating each triangle, individually, with a smooth parametric curvilinear patch. 2. Approximating each triangle, individually, with a smooth curvilinear facet may generate discontinuities along the edges shared by pairs of triangles. Thanks to a method based on DSI, it will be shown that the parameters of each individual curvilinear facet can be determined to ensure Gl continuity along the edges of the triangles. 3. Finally, it will also be shown that a discrete approximation of a G2 surface interpolating the vertices of the triangulated surface can be built. Such an approximation is obtained by recursive subdivisions of the initial surface, and the location of the new vertices so generated are computed thanks to the DSI method.
7.2
Building a smooth curvilinear triangle
7.2.1
Preliminary definitions
Unit parametric domain DT of a triangle T Let (u,v) be an orthonormal coordinate system of M2. By definition, "triangle's unit parametric domain" or, more simply, "triangle's domain," is the name given to the subset DT of points of M whose coordinates (u, v) are
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE 319
319
Figure 7.2 Transforming the triangle's unit parametric domain DT of 1R2 (A) into the triangular patch T(p 0 ,p 1 ,p 2 ) of M3 (B). such that
As can be seen in figure (7.2)-A, the parametric domain DT is a triangle whose vertices have as coordinates (0,0), (1,0), and (0,1), respectively. Curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) As shown in figures (7.2)-B, and (7.3), let p 0 , p l 5 and p2 be three different points of JR3 and let T(p 0 ,p 1 ,p 2 ) be the image of the triangle's unit parametric domain DT by an application x(w, v) from JR to 1R3 such that
The triangle r(p 0 ,p 1 ,p 2 ) so defined is said to be a regular curvilinear triangular patch of IR3, or more simply a curvilinear triangle or a patch, if, and only if:
The continuity of x(w, v) and its derivatives on DT ensures that the points p0, Pi and p2 are uniquely defined and belong to the boundary of the curvilinear triangle. Therefore, p0, p1? and p2 are called the "vertices" of T(p 0 ,p 1 ,p 2 ). In practice, a curvilinear triangular patch is seldom isolated and is generally part of a triangulated surface such as the one shown in figure (7.1): the
320
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES
Figure 7.3 Tangents and unit normal vector of a triangular patch T(p0, pl, p 2 ) embedded in iR3.
main goal of this chapter is to define x(u, v) in such a way that it joins its neighbors as neatly as possible. Edges of a triangular patch The boundary of any triangular patch T(p 0 ,p 1 ,p 2 ) is composed of three continuous curves E ( p Q ^ p l ) , J B(p 0 ,p 2 ), and £ T (p 1 ,p 2 ) such that
These curves are the images of the edges of the triangle's unit parametric domain DT-
Therefore, E(pi, PJ) is called an edge of T(p0, p l 5 p 2 ). In practice, it is important that the common edge of two adjacent curvilinear triangles belonging to the same surface has only one embedding (geometry) to ensure G° continuity through this edge (see page 225). Unit normal vector N(u, v) According to equation (5.11) and due to the fourth property (7.2), the curvilinear patch T(p 0 ,p 1 ,p 2 ) has a unique unit normal vector N(u, v) at any point x(w, v}. This unit normal vector is denned by the following formula where a x b is the cross product of a and b:
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE
321
Figure 7.4 Data available for interpolating an unknown triangular patch. From now on, the normal vector at the three vertices p0, p1; and p2 of the patch will be noted as N 0 , N x and N 2 , respectively:
For Gl continuity to be assured, it is necessary to honor the continuity of the normal vectors through the common edge of two adjacent curvilinear triangles belonging to the same smooth surface (see page 225). 7.2.2
Interpolating a triangular patch
Presentating the problem As shown in figure (7.4), the aim is to interpolate an unknown triangular patch about which only 1. the locations p0, p1; p2 of its three vertices, and 2. the unit normal vectors N 0 , N l 5 and N2 at its three vertices, are known. There is, a priori, an infinity of continuously differentiable functions x(u, v) generating a triangular patch T(p0, p1? p 2 ) that respect these data. Hereafter, only functions x(u,v) having the following general form will be considered:
The functions {wijk(u, v)} used in this equation are assumed to be given, while the points {b;jfc} have to be determined as functions of the data (p 0 ,N 0 ), (p^Nj), and (p 2 ,N 2 ).
322
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
Figure 7.5 An example of a curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its associated Control-Net. Convex hull property By definition, x(it, v) will be said to satisfy the "convex hull' property if the weighting functions w^k(u^v) verify the two following equations:
Control-Net If the weighting functions u^. fc (w, v) satisfy the two equations (7.3), then x(w, v) may be considered as the center of gravity of the points {b^-fc} weighted by the values of these functions at point (u,v) G DT- As suggested in figure (7.5), this implies that x(u, v) is imperatively located in the convex hull of the set B of the points {b^-fc} for all (u,v) G DT- It can be concluded that the patch T(p 0 ,p 1 ,p 2 ) is itself contained in the convex hull of B and, in a certain sense, B can be considered to "control" the shape of T(p 0 ,p 1 ,p 2 ). Therefore, the set B = {bijk} is called the "Control-Net" of T(p 0 ,p 1 ,p 2 ), while each b^ is called a "Control-Point." Figure (7.5) shows an example of patch T(p 0 ,p 1 ,p 2 ) and its associated Control-Net. Unit tangent vectors T^ Let T^ be the unit tangent vector at point p^ on the edge E(p^ p •) oriented positively from p^ to p^ as shown in figure (7.6). There is, a priori, an infinite
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE
323
Figure 7.6 Unit tangent vectors T^ associated with normal vectors Nj and N^. number of possibilities for choosing this tangent, which must respect only the following constraint:2 From among all the possible vectors T^ respecting this constraint and as suggested by Nielson (cf [167]). we propose choosing the vector defined by the following formula:3
As can be seen, this formula assumes implicitly that (p^- — pj is not colinear to N^. In practice, this constraint is always assumed to be verified. 7.2.3
The cubic Bezier patch
Introduction One idea for smoothly interpolating a triangle using a parametric patch consists in considering a triangle as a rectangle with a degenerated edge. In doing so, it is possible to use one of the tensor product methods classically used in CAD (see [25, 26, 27, 76]). For example, a rectangular Bezier patch, defined as follows where {B^(•)} are the so-called Bernstein polynomials, may be used:
Proceeding in this way, however, introduces anisotropy into the model: different results are obtained depending on the edge chosen for the degeneration. In 2 3
The notation a • b represents the dot product of two vectors a and b. The notation a X b represents the cross product of two vectors a and b.
324
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
practice, building a smooth parametric representation of a curvilinear triangle is a harder task, and tensor product methods can no longer be used to obtain a perfectly symmetrical model relative to the three vertices of the triangle. Barnhill [12], in the first article written on this topic, proposed extending the Bernstein polynomials in a very natural way: • In the univariate case, the Bernstein polynomials Bf(u) are defined as the terms of the binomial expansion of (u + w)n:
The Bezier approximation of a curve is then defined as a parametric function x(u) that depends on (n + 1) Control-Points {bj : i G [0, n]}:
It is relevant to note that (u,w) can be considered as the barycentric coordinates of a point on the unit domain segment [0,1]. • Similarly, in the bivariate case, the Bernstein polynomials B™Au,v] are defined as the terms of the trinomial expansion of (u + v + w)n:
As illustrated in figure (7.5) where n = 3, the Bezier approximation of a triangle is defined as a parametric function x(w, v] that depends on {(n + 1) • (n + 2)/2} Control-Points {bijk : i + j + k = n}\
Note that (u,v,w) may be considered as the barycentric coordinates (see page 254) of a point on the triangle's unit parametric domain DT as defined by equation (7.1). Moreover, for any (u,v,w) in this triangle's
7.2 BUILIDING A SMOOTH CURVILINEAR TRIANGLE
325
unit parametric domain, the blending functions (3™jk(u,v,w) are such that 4
These properties guarantee that x(w, v) = g(w, v, w) will be located in the convex hull of the Control-Points bjjfc as long as (u,v,w) remains in this triangle's unit parametric domain. In fact, the parametric representation x(w, v) can also be viewed as a function g(u,v,w) of three not independent variables w, v, and w under the constraint (u + v + w) = 1:
This perfectly symmetrical parametric representation of a curvilinear Bezier triangular patch is at the origin of most of the methods proposed in the literature for modeling curvilinear triangular patches. Prom now on, for the sake of simplicity, this system of symmetrical notations will not be used, and x(w, v) will be considered as the parametric representation of the triangular patch to be modeled. This implies using a different, but equivalent, notation for indexing the Control-Nodes. For example, in the case of a cubic Bezier triangular patch, the "symmetrical " Control-Points shown in figure (7.5) will be renumbered as indicated in figure (7.7). Bezier Control-Net 83 The cubic Bezier Control-Net 83 is denned as the set of Control-Points (p0, Pn P2> Poi» Pio> Po2> P20' Pi2> P2i> Q> shown in figure (7.7) and defined as follows:
The coefficients (3- are assumed to be denned as
The choice of the positive coefficient /3 and the function 0(-) will be discussed later on (see page 328). 4
This is a direct consequence of the fact that the values {/3™-k(u, v, w)} are the terms of the trinomial expansion of (u + v + w):
326
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
Figure 7.7 An example of curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its associated cubic Bezier Control-Net. Definition of x(u, v) By definition, the curvilinear patch T(p 0 ,p 1 ,p 2 ) based on the Control-Net #3 and whose equation x(u, v) has the following form where w = (I — u — v) is called "cubic Bezier patch:"
It is easy to verify that this patch interpolates the three vertices:
It is relevant to note that equation x(w, v} can also be written in the following way where the relative influence of each pair (p^-,Pjj) appears more clearly:
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE
327
Derivatives The tangents in the u and v directions can be obtained by deriving the equation x(w, v) of the cubic Bezier patch:
The second-order derivatives can also be computed according to the following formula:
Normals at the vertices p 0 , p 1? and p2 If the tangents at the vertices of T(p0, p x , p2) are chosen as follows
then it is easy to verify that the normal vector N(w. v} interpolates the normal vectors N 0 , N1 and N2 at the three vertices of the patch:
328
CHAPTER 7. CURVILINEAR
TRIANGULATED SURFACES
Nature of the edge E(p0,pl) The edge E(p0, p1) corresponding to the boundary of the patch between the points PO and pl is generated by the points x(u, v) for which the parameter v is equal to zero:
Thus, the edge £'(p0,p1) has an equation x(w) such that Moreover, the derivatives on this edge are such that
Prom these expressions, it can be deduced that the edge J E(p 0 ,p 1 ) has the following properties: • The equation x(u) = x(u, 0) depends solely on p0, p 1? N 0 , and Nj. • The tangent x u ('U,0) to the patch T(p 0 ,p 1 ,p 2 ) is identical to the tangent x w (it) to the curve E(p0,pl) and depends solely on p 0 ,Pi, N 0 , and N!. • The tangent x«(u, 0) to the patch T(p 0 ,p 1 ,p 2 ) depends not only on p0, p x , NO, and N l 5 but also on the central point q. The two last properties imply that the normal vector N(w, 0) on the boundary JE?(p 0 ,Pi) of the patch T(p 0 ,p 1 ,p 2 ) depends not only on p0, p1; N 0 , and N1; but also on the central point q. Shape of the patch T(p 0 ,p 1 ,p 2 ) Verifying that equation x(w, v} honors the convex hull property relative to B3 is possible. Due to the fact that r(p 0 ,p 1 ,p 2 ) interpolates the three vertices p0, p l5 and p2 and is tangent to the unit vectors Tij = (3 • (PJ — p f ), how 83 "controls" the shape of the patch T(p0, p1? p 2 ) can be envisaged, as shown in figure (7.7). As a consequence of these properties of the Control-Net 83, it is concluded that this Control-Net should be chosen in such a way that it looks like a polyhedral approximation of the patch T(p 0 ,p 1 ,p 2 ). This suggests how to choose the parameter (3 and the function 0(-) used to define the points p^ • and q of the Control-Net; for example, the following choices yield generally good results in practical applications:
and
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE
329
Symmetry of equation x(w, v) As can be seen, equation x(w, v) remains formally unchanged if the following circular permutations of the indices (0,1,2) and the parameters (w,u,v) are performed simultaneously: and
Consequently, all that has been said about the edge E(p0, p x ) is also valid for the two other edges of the patch.
7.2.4 Degenerated quartic Bezier patch Degree elevation Let x.s(u,v) be the cubic Bezier patch introduced in the previous section:
To increase the "flexibility" of x 3 (), it is necessary to add Control-Nodes, which can be done by considering q as a linear function of three new ControlPoints q0, qj, and q2: Assuming, provisionally, that these three additional Control-Nodes are defined by the three following equation
it is deduced that which implies that
It can be concluded that the degree of X3(w, v} can be increased without changing the geometry of the patch as long as the conditions (7.5) are respected:
330
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES
Figure 7.8 An example of a curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its associated degenerated quartic Bezier Control-Net. If the conditions (7.5) above are not respected, this equation is still valid, but can no longer be considered as a cubic patch. In this case, no more simplification 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 replacing the node q by the three nodes q 0 , ^, and q2 introduced above:
Definition of x(u, v) Let us consider the following equation x(w, v) where w = (1 — u — v):
As can be seen, the polynomials used as weighting in this equation are of degree 4, but there are no terms w 4 , u 4 , and w4, and x(w, v) can be considered
7.2. BUILDING A SMOOTH CURVILINEAR TRIANGLE
331
as a "degenerated" polynomial of degree 4. Therefore, the piece of surface ^(PO' Pi? P2) whose points x(u,v) are denned by the above equation is called "degenerated quartic Bezier patch" based on B\. It is easy to verify that
Comment The degenerated quartic Bezier patch has been presented briefly to introduce the notion of Gregory patch, which will be developed in the next section. In practice, the degenerated quartic Bezier patch has the same behavior as the cubic one relative to its Control-Net: • For the authorized values (it, v) 6 DT, the polynomial weighting coefficients of the points belonging to the Control-Net B\ are positive and have a sum equal to 1 so that the "convex hull" property is still honored. • The equation x(it) of the edge E(p0,p1) is strictly identical to the one obtained in the case of the cubic Bezier patch and depends only on the ControlNodes 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 permutation is performed simultaneously on the indices (0,1,2) and the parameters (w,u,v).
7.2.5
Gregory patch
As shown in figure (7.11), the ultimate goal with triangular patches is to assemble them into a patchwork to achieve a piecewise parametric representation of a triangulated surface such as the one shown in figure (7.1). This raises two problems: 1. how to ensure that there is no gap between two adjacent triangular patches, and 2. how to ensure that the normal vector N(M, v) will be continuous across the common edge of any pair of adjacent triangles.
Problem (1) is relatively simple to solve, but problem (2) is quite complex and is still an active field of research (see [47, 57, 75, 140, 167, 173, 225],...). Among the many possible solutions, we will present one initially proposed by Du and Schmitt [64, 65], based on an earlier technique developed by Gregory [96, 97] and extended to Bezier patches by Chiyokura and Kimura [47]. The Gregory Control-Net Q The Gregory Control-Net Q corresponds to the points represented in figure (7.9) and deduced from the degenerated quartic Control-Net B% by replacing
332
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
Figure 7.9 An example of a curvilinear triangular patch T(p 0 ,p 1 ,p 2 ) and its associated Gregory Control-Net. each of the nodes q0, q l 5 and q2 by a pair of two twin nodes:
In other words, the set Q is such that
Definition Consider the equation x(u, v) of the degenerated quartic Bezier patch and replace the three points q0, qj and q2 occurring in this equation by the three points q 0 (w, i>),
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) weighting coefficients of the points belonging to the Control-Net Q are positive and have a sum equal to 1, so that the "convex hull" property is still honored.
Tangents x u (w,v) and xv(u,v] The tangents in the u and v directions can be obtained by deriving the equation x(w, v) of the cubic Gregory patch:
334
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
Figure 7.10 Radial direction {(MO, 0), (0,1)}. Taking into account the fact that w = I — u — v, we can easily compute the derivatives of q 0 (w,-u), q 1 (v, w;), and q 2 (w, u} in the above formula:
Radial tangent x r (w, 0) As shown in figure (7.10), let us consider the "radial" segment joining the point of coordinate (uo,0) on the u axis of the triangle's DT to its opposite vertex (0,1). The parametric equation of this radial segment is
We will call "radial tangent" of x(u, v) at (wo,0) the vector x r (wo,0), as denned by
Let g(w, v, w) be the equation x(w, v) considered as a function of three variables (u,v,w}. It can always be written as follows:
7.2. BUILDING A SMOOTH CURVILINEAR
TRIANGLE
335
Note that the partial derivatives in the above expression are such that
From these expressions and for any u = UQ, it can be deduced that
Nature of the edge £'(p 0 ,p 1 ) The edge E(p0,pl) corresponding to the boundary of the patch between the points PO and pl is generated by the points x(w, v) for which the parameter v is equal to zero:
The edge E(p0,pl) has thus an equation x(w) such that
Moreover, the axial tangent x u (w, 0) and the radial tangent x r (w,0) on this edge are such that
From these axial and radial tangents, the normal vector N(u, 0) along the edge E^PO^) can be computed as follows:
From these expressions, it can be deduced that the edge £'(p0,p1) has the following interesting properties:
336 CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES
Figure 7.11 A patchwork composed of Gregory triangular patches and associated network of Gregory Control-Points. • The equation x(«) of the edge E ( p 0 ^ p l ) is strictly identical to the one obtained 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 particular, it can be noted that N(ti, v) does not depend on inner Control-Points other than q01 and q10. As a consequence, when considering the two adjacent patches T(p 0 ,p 1 ,p 2 ) and T(p 0 ,p 1 ,p 2 ), which share the common edge E(pQ,pl), figure (7.12) shows that it should be possible (see [65]) to adjust the locations of the points (q01,q10) and (qoi>qio) as functions of (p 2 ,N 2 ) and (p 2 ,N 2 ) to ensure the continuity of the normal vector through the common edge -E^Po, P]_):
This is the origin of the method presented in the next section.
7.3
Gregory Gl patchwork
7.3.1
Introduction
Geometric continuity As suggested in figure (7.11), let us consider a patchwork consisting of a set of adjacent (triangular) patches. According to section (5.4.4), such a patchwork is said to be "geometrically continuous" or, more simply, G° continuous if the following condition is respected: • For any pair of adjacent patches (triangles) T(p 0 ,p l 5 p 2 ) and T(p 0 ,p 1 ,p 2 ), there is no gap along their common edge E(p0,p1); in other words, and as
7.3. GREGORY Gl PATCHWORK
337
Figure 7.12 Continuous junction between two adjacent Gregory patches. suggested in figure (7.12), the following equation must be honored:
Moreover (see page 225), a G° patchwork is said to be Gl continuous if the additional following conditions are respected: • The equation x(it, v) of any (triangular) patch is continuously derivable relative to u and v, and the normal vector ~N(u,v) exists for any authorized (u,v) G DT:
• For any pair of adjacent patches (triangles) T(p 0 ,p 1 ,p 2 ) and T(p 0 ,p 1 ,p 2 ), the normal vector to the patchwork is continuous across their common edge •^(Po'Pi); m other words, and as suggested in figure (7.12), the following equation must be honored:
The problem to be solved As shown in figure (7.11), from now on a patchwork composed of adjacent Gregory triangular patches is under consideration and the problem to be solved involves choosing the Control-Net for each patch to ensure Gl continuity. For this purpose and, according to the properties of the boundaries of a Gregory patch presented in section (7.2.5), for any edge E(p0,pl) shared by two adjacent triangles, it is necessary to determine the location of 10 ControlPoints (see figure (7.12)):
338
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES • 6 boundary Gregory Control-Points
• 4 inner Gregory Control-Points
The difficulty arises from the two pairs of Gregory Control-Points {po2'Po2} and {p12, Pi2J5 which are shared with other edges and induce cross constraints with other adjacent triangles. It can be observed in figure (7.12) that the normal vector N(w, 0) = N(u, 0) is continuous through the common edge -E^Po, Pi) if, and only if, the common axial tangent x u (w,0) and the twin radial tangents x r (w, 0) and x r (w, 0) are coplanar for any u G [0,1]. This coplanarity is ensured if one can find three weighting functions a(w), b(u), and c(u) such that
There are many possible choices for the unknown weighting functions a(it), b(u), and c(u), and several have been studied by Du and Schmitt (see [64, 65]). For simplicity's sake, linear functions have been chosen as follows:
This implies that, in addition to the determination of the 10 Gregory ControlPoints mentioned above, the continuity of the normal vector through the edge E(p0, p^ requires the determination of the 4 additional coefficients 60, &i, CQ, and ci of these linear weighting functions. To simplify the computations, it is wise to replace (1 — u} by w in b(u] and c(u) and to multiply a(u) and c(u) by 1 = (u + w):
Using these (unknown) linear weighting functions, P(u] becomes a polynomial, which can be developed as follows on the basis of the five monomials {upwq :p + q = 4}:
7.3. GREGORY Gl PATCH WORK
339
where the vectors {Gi,..., GS} are defined as follows:
The polynomial P(u) defined by equation (7.8) is equal to zero for any u G [0,1] if, and only if, each of its coefficients {Gi,..., G5} is equal to the null vector:
These 5 linear vectorial equations were initially proposed by Du and Schmitt [64, 65] for determining the unknown 10 Gregory Control-Points and the 4 weighting coefficients corresponding to the solution of our problem.
7.3.2
A solution based on DSI
This section proposes a solution based on the DSI algorithm. The resulting method is slightly different from the one proposed by Du and Schmitt arid has the following advantages: • Knowing an approximation of the normal vectors at the vertices of the triangles is not required. Rather than building the Gregory ControlNet to honor these constraints, the complete reverse of this strategy is proposed: 1. compute, with DSI, a first approximation of the Gregory Control-Net, and 2. deduce the normal vectors at the vertices from this first approximation. • All the "micro edges" of the Gregory Control-Net tend to be of the same length (at least locally) and to be distributed regularly around the Gregory Control-Nodes. As a side effect, this tends to stabilize the system of constraints (7.9) and avoids having to consider special cases corresponding to pathological situations where {62,63,04} could be not linearly independent.
340
CHAPTER 7. CURVILINEAR
TRIANGULATED
SURFACES
• Additional DSI constraints can be accounted for. As examples, the patchwork can be constrained to — honor data points, and — have approximately continuous curvatures at the vertices of the triangular patches.
In practice, the proposed method is split into four steps: Step 1: Initializations The first step consists of the following series of initializations: • Determine the location of the Gregory Control-Points {Pij} on the boundary of the patchwork. Any method is acceptable to accomplish this; however, if the patchwork S to be modeled has to be sewn to another patchwork <5* along a common boundary B(tS,<5*), then the Gregory Control-Points {p^-,p fc } along B(S, «S*) must be identical. Placing such a condition on the Gregory Control-Points of B(S,S*} guarantees that the two resulting surfaces will join smoothly without any gap along the sewing curve corresponding to B(S,S*). • Create a 2D global network5 similar to the one shown in figure (7.11) and linking the vertices of all the triangles and their associated Gregory Control-Points. • Build a discrete model .M 3 (Q,-/V,p,C v ) with the following characteristics: — 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
Ctp is the set of DSI constraints that is initialized to contain the following DSI Control-Nodes: * All the nodes corresponding to vertices PJ of the triangles are fixed as DSI Control-Nodes. * All the Gregory Control-Points {p^} located on the boundaries of the patchwork are fixed as DSI Control-Nodes. 5
Note that many different 2D global networks can be created from the initial set of vertices and Gregory Control-Points. However, experimental tests [197] have shown that the network shown in figure (7.11) gives the best results.
7.3.
GREGORY Gl PATCHWORK
341
Figure 7.13 A linear triangulated surface (A) consisting of an icosahedron together with its Gregory Control-Net. Running DSI on the Control-Net yields a smooth G° surface: the resulting surface is represented "with" (B) and "without" (C) its associated Control-Net. Moreover, 0 is split into three subsets fii, £}2 and O^ such that
• Run the DSI algorithm on .M3(fi, TV, ?, C^} to determine the location of all the free nodes corresponding to (17 — f^i). Figure (7.13) shows the result of step 1 in the case where the initial linear triangulated surface consists of an icosahedron. Note in figure (7.13)-C that the smooth surface so obtained is merely G°, and there is no continuity of the normal vectors through the boundaries of the triangles; also, the normal vector is clearly discontinuous across the edges of the triangular patches. Step 2: Determining the nodes p^ The initializations performed within the framework of step 1 produce a smooth first approximation of the Gregory Control-Net of the patchwork. There is no reason for this initial approximation to respect the constraints (7.9), but it can be used to build a better approximation of Gregory Control-Points. For this purpose, let us once again consider the edge E(pQ, Pi) of a given triangle T(p 0 ,p 1 ,p 2 ). It is easy to check that the axial and radial tangents have the following interesting property:
Setting the tangent planes to the surface at p0 and p1 as TP(p 0 ,No) and TP(p l 5 Ni), respectively, we can deduce from these relations that
342
CHAPTER 7. CURVILINEAR
TRIANGULATED SURFACES
Figure 7.14 Step 2 of the construction of a Gregory patchwork yields a smooth G° surface that is Gl at the vertices of the triangles: the resulting surface is represented "with" (A) and "without" (B) its associated Control-Net.
Poi \ P02
Pio \ Pl2
must be located on the plane TP(p0, NO)
J
must be located on the plane TP(p 1 ,Ni)
J
For these constraints to be respected, it is proposed to proceed as follows: • For any node a\ G fii: — determine the unit normal vector N(ai) of the average plane of its adjacent nodes {(3i £ 7V(o:i)}, and — for each node 0i e N(a\), add a DSI constraint to C(f> specifying that
7.3. GREGORY Gl PATCHWORKk
343
Step 3: Determining the coefficients bi and Q So far, the constraints (7.9) specifying that G^ = 0 have not been taken into account, so this is the goal of steps 3 and 4. Let us consider an edge E(p0, p1) shared by two triangles T(p 0 ,p 1 ,p 2 ) and T(p 0 ,p 1 ,p 2 ), and let N0 and NI be the unit normal vectors computed at step 2 at nodes a® e fii and a\ e QI corresponding to p0 and p^ If harmonic weightings for the {v(a,(3}} are used in the DSI algorithm, then that algorithm will tend to spread the points p^ around each vertex p^ uniformly, implying that
Moreover, according to step 2, the unit vectors NO and NI have been built in such a way that
and this implies that
It can be deduced from these relations that the constraints GI = 0 and GS = 0 attached to the edge E(p0,pl') will be honored if bo, bi, CQ, and c\ are chosen as follows:6
Due to the fact that DSI tends to distribute the node p^- regularly around the vertices p^ of the triangles, it can be observed that 60 and b\ are, in general, such that
These coefficients depend on the edge E(p0, p x ), which leads to the following implementation of step 3 of the proposed algorithm: 6
For example, the value bo is obtained in this way:
344
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES • For each edge E(p0,p1): determine the two nodes a? E Q\ and a\ G fii corresponding to p 0 and p l 5 respectively, and - compute the coefficients bo (a?, ai), &i(a?,ai), co(ai,ai), andci(a?,ai).
Step 4: Determining the nodes q^ First, observe that the three following vectors Xi, X2, and X3 depend solely on nodes and coefficients (6 J 5 c^) that have been determined and fixed during the previous steps of the proposed algorithm:
By the end of step 3 above, the constraints GI = 0 and 65 = 0 are perfectly honored, leaving the following three last constraints to be accounted for:
This system of three vectorial equations can be turned into a matrix equation (^234) to isolate the three last unknown vectors of our problem:
As has already been pointed out, the coefficients 60 and 61 are generally different and the rank of the 3 x 4 matrix above is 3. If one of the vectors to be determined, say, q01, is already known, then equation ((^234) can be rewritten as follows:
Assuming that, in actual fact, 60 7^ &i> the 3 x 3 matrix above can be inverted to obtain the following (Q^) equation which then allows the remaining vectors q01, q10, and q01 to be determined:
7.3. GREGORY Gl PATCHWORK
345
Figure 7.15 Final result for the Gregory patchwork "with" (A) and "without" (B) the associated Control-Net after applying step 4. The resulting surface is now G1 everywhere. This suggests the following step 4 for the algorithm to determine the location of the nodes a G f^ that correspond to the last Gregory Control-Points q01, q01, q10, and q01 to be determined: • For any node a G f^, install a DSI constraint induced by equation (^234)-
• Run the DSI algorithm. This yields a smooth approximation of the location of the nodes a € O^. However, due to the fact that equation (^234) can be taken into account only in a least square sense by the DSI algorithm, it is necessary to apply the following correcting phase: • For each edge E ( p Q ^ p 1 ) : — determine the four nodes corresponding to q01, q01, q10, and q01, respectively, and — update the location of q01, q10, and q10 according to equation (G^)-
figure (7.15) shows the final result obtained after step 4 described above: this result is clearly a G1 smooth surface.
7.3.3
DSI constraints
This section presents the implementation details as to the DSI constraints used at steps 2 and 4 of the algorithm proposed above: Step 2: Turning
346
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
vertex p and its associated normal vector N define a pseudo-tangent plane TP(p,N) on which
This condition can be turned into a DSI (cross) constraint c = c(o!ij), as denned by
Define 9c((p,aij) as follows:
When added to the set of constraints C^ of the discrete model A / f 3 (0, N, (p, C^), the above DSI constraint induces terms 7c ( a ij) and r^(a^) in the DSI equation such that
Step 4: Turning £234 into DSI constraints
Let us consider the constraint £234 = G234(po,Pi) attached to the edge E(p 0 ,p 1 ) of the Gregory network and let ^(p 0 ) Pi) be the associated subset of fJ defined as follows (see figure (7.12)):
Using these notations, the matrix equation C?234(po,Pi), as defined by equations (7.10), becomes a system of constraints to be respected by (p:
7.3. GREGORY G1 PATCHWORK
347
Noting the components of the 3D vectors (p(ot) and Xj as {(pv(a) : v £ (x,y,z)} and {XJ : v 6 ( x , y , z ) } , respectively, the system (7.13) can be turned into three sets of DSI constraints {c^ c^^c^} that depend on the edge £(P 0 ;Pl)
Let us define 0^((p) as follows for all v e {x, y, z}: 0r(*0 8%(
= l - v l / ( t t o i ) + 6o-V I '(aoi) = l-^(dSi) + ^i-^Ki) =
+
l-^O^ + oo-v^Ko) l.^(c^0)+6i-^Ko)
-
X? X£ X£
When added to the set of constraints C^ of the discrete model Ai 3 (O, TV, ?, C^,), the above three sets of DSI constraints induce the following aggregated terms 7c (Q) and TC(Q;) in the DSI equation:
, -* v J ^W = 2 (a = ctoi) =^> < \ H(a)
r <(a)
(a = aS1) =» <^
I
r - (a)
= {0r(¥>)+02(¥0 - 2-^(^0} = =
(6 0 ) 2 + (6i) 2
6 0 . { ^ ( ^ ) - fto-^aSi)}
+ 61-{^M - 61 -^Ki)}
348
CHAPTER 7. CURVILINEAR
TRIANGULATED SURFACES
Figure (7.1) gives an example of a triangulated surface smoothly interpolated by a Gregory patchwork.
7.3.4
Additional DSI constraints
In the previous section, a set of DSI constraints was presented that must be used for defining the location of the nodes of the Gregory Control-Net of all the triangles of the triangulated surface to be modeled. In addition to these mandatory constraints, it is possible to account for optional additional constraints. In the previous section, a set of mandatory DSI constraints was presented for denning the location of the Gregory Control-Net nodes of all the triangles belonging to the triangulated surface to be modeled. In addition to these mandatory constraints, it is also possible to account for optional additional constraints, as is the subsequent example. Interpolating a data point Consider a triangle T(p 0 ,p 1 ,p 2 ) belonging to the triangulated surface to be modeled. This paragraph addresses the problem of fitting the associated Gregory patch in such a way that it interpolates a given data point p. To simplify the presentation of a solution based on DSI, for each vertex {pi : i = 0,1,2} of the triangle T(p 0 ,p 1 ,p 2 ), a subset O i (p 0 ,p 1 ,p 2 ) composed of five nodes of O is defined as follows (see figure (7.12)):
Moreover, for simplicity's sake, the following notations will be used: • the barycentric coordinates (w,w, v) relative to the vertices p0, p x , and p2 of T(p 0 ,p 1; p 2 ) are renamed (uo,Ui,U2):
• the indices of the nodes a G Qj(p 0 ,p 1 ,p 2 ) and the coordinates Ui are numbered modulo 3:
7.3. GREGORY Gl PATCHWORK
349
Using these symmetrical notations, equation x(w, v) = S(UQ,U 1,112) of the Gregory patch can be written as a function of (f>:
Let c be an index function of the following parameters
and let {^4c(a)} be the fifteen associated coefficients defined as follows:
With these notations, the Gregory patch equation can be written in a very concise form:
Let us now consider the problem of constraining the Gregory patch to honor the given data point p in such a way that
where (UQ, wi, 1^2) are given barycentric coordinates. In practice, if the linear interpolation of the triangle T T (p 0 ,p 1 ,p 2 ) is close to the data point p, then the barycentric coordinates of the projection of p on the plane corresponding to this linear interpolation can be chosen for (UQ, 11,1,112) • The above constraint (7.14) can be turned into three independent DSI constraints associated with the index c such that
350
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
Figure 7.16 An example of smooth triangulated surface obtained by applying DSI to a recursive subdivision of the initial linear triangulated surface represented in figure (6.1). (A) Initial mesh, (B) result after one subdivision, (C) result after two subdivisions, and (D) limit surface after convergence (fiat shading). Let us define 0"((p] as follows:
When added to the set of constraints Cv of the discrete model A^ 3 (O, JV, ?, C v ), the above DSI constraint induces terms 7^ (CK) and r^(a) in the DSI equation such that
7.4
Recursive subdivisions
Up to now, piecewise algebraic representations have been proposed for building a smooth triangulated surface. This section proposes a very different approach, where a smooth surface is obtained as the limit of a series of piecewise linear triangulated surfaces generated by recursive subdivisions of the initial surface's triangles (see figure (7.16)).
7.4.1
Introduction
Consider an open linear triangulated surface T(«S), and let Q be the set of its vertices. According to section (6.5), it is always possible to find at least one global parameterization u = (w 1 , it2) of T(«S) in 1R defined by its values
7.4. RECURSIVE SUBDIVISIONS
351
(u(a) : a £ f2} on 0, and each rectilinear flat triangle T of T(«S) has an image noted as DT in the parametric space IR2:
The global parameterization u is assumed to be linearly interpolated on each triangle of T(S] from its values at the vertices, which guarantees that • for each triangle T of T(«S), the domain DT is itself a rectilinear triangle in the parametric domain, and • the set D = T(D} as defined by
is a flat triangulated surface in the parametric domain corresponding to the image of T(<S):
In the following sections, a new method, designed to approximate a C2 parametric surface based on such a parameterization and interpolating the vertices of T(S), is proposed. Family H 2 (D,uO,0) Let > be a given discrete function denned by its values on Q:
By definition, H2(D, u|0,0) denotes the family of all the functions (p defined on D and such that7
where J((f] is the functional8 defined as follows:
Using the family H 2 (-D,u|0, 0), it is straightforward to build a smooth C2 parametric surface interpolating the vertices (x(o;) : a G £7} of T(«S). It suffices to choose the components x x (a), xy(a), and xz(a) of the vector x(u) 7 8
The C2 continuity of ip is assumed to be achieved in the distribution sense (see [194]). The symbol A?(u) represents the Laplacian of y(u), as defined by
352
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
corresponding to the parametric representation of the surface to be modeled as follows:
It can be checked that the C2 continuity of the components of x(u) implies the G2 continuity of the resulting surface. The following discussion will show that the interpolation so denned can be approximated in a discrete way thanks to an algorithm based on DSI coupled with a recursive subdivision of the initial triangles of T(S}. Remark It can easily be shown that 7i2(D, u|fi, 0) is not empty. Consider, for example, the family of functions {?[«]} defined as follows
where the radial functions {ip[a,n](r}}
are
assumed to be denned by
If, for each a E O, R(a) is a positive parameter chosen in such a way as to o represent the radius of an open 2-ball BR(a)(u(a)) (see page 29) centered on u(a) and fully contained in the Voronoi region (see page 99) of u(a), then ?[n], as defined by equation (7.18), belongs to the family 7i 2 (D,ufJ,0) for any integer n > 1. Moreover, it should be noted that each function (p^ so denned is Cn+l continuous.
7.4.2
Notations related to T(D) triangles
This section presents some notations and geometric results that will be used in the next section for computing an approximation of A(£>(u) based on a linear approximation of (p on each triangle of T(D}. Notations For reasons of conciseness, in the rest of this chapter, any triangle of T(D) having u(a), u(ai), and 11(0:2) for vertices is noted as DT(&, 01,0:2) or, more simply, as DT'-
Moreover, the following notations are used: • |-Dr| is the area of DT(OL, ai, 0:2).
7.4. RECURSIVE SUBDIVISIONS
353
Figure 7.17 Construction of an element of surface D(oi) surrounding the node a of a flat triangulated surface D = T(D) in the case where ct does not belong to the boundary. • • • •
£(0:1,0:2) is the edge {u(ai), 11(0:2)} of DT(Q:,Q:I, 0:2)D(a] is the set of triangles -Dr(o:, 01, 0:2) sharing the node a e f2. D(a,0) is the set of triangles DT(OC, /3,/3*) sharing the edge E(a,0). N(a) and N°(a) are the neighborhood and the orbit of a, respectively (see definitions (1.2), and (1.3)). Each triangle DT £ T(D] is implicitly associated with local barycentric parameterization (M, v), introduced on page 251. The transformation from these local coordinates (u,v) to the global coordinates u — (ul,u2) is denned by
where u(a) = (ul(a), u2(a}) are the components of the global coordinates at vertex a, while u and v are such that
According to equation (6.11), the metric tensor G associated with this local parametric coordinate system is such that
354
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
The determinant of G is noted as g,
and it may be observed that the area DT(&I c*i, c^)! of the triangle DT((*, cti, 0:2) is such that
Unit normal vector NT (a) The height h of the triangle DT(CK, oti, 0:2) from the vertex u(a) onto the edge £^(01,0:2) is such that
As shown in figure (7.17), NT (a) represents the unit vector located in the plane of DT(OL, a\, 0.2) and such that • NT(CK) is orthogonal to the edge E(a\,a.<2) of DT(G., 0:1, 012), and • NT(CK) is oriented outward relative to DT(&, cti, 0:2)-
It should be observed that /i and NT (a) are denned by the following equations: NT(a) = N r ( a ) - U + N r ( a ) - V
and
h = NT(a) • U = N T ( a ) - V
Multiplying (scalar product) the first equation above by U and then by V, yields the two following equations
where N^(a) and N^(CK) represent the (contravariant) components of NT (a) relative to the frame (U, V). It can be observed that
and this implies that equation (7.20) can be solved:
Taking into account equation (7.19), it can be concluded that the (contravariant) components of NT (a) relative to the frame (U, V) are such that
7.4. RECURSIVE SUBDIVISIONS
355
Let W = (V — U) be the vector corresponding to the edge of DT(a, 01, 02) opposite to the vertex a and let (a, 01,02) be the angles of Z>r(o, 01,02) corresponding to the vertices (0,0:1,0:2), respectively. It can be observed that
^ = 2 • |D T (a,ai,a 2 )| = ||U|| - ||W|| • sin^)! = ||V|| • ||W|| • |sin(d 2 )| (7.23)
Taking into account equations (7.22), and (7.23) makes it possible to write equation (7.21) in the following form:
Observing that the angles 01 and 02 always belong to [0, TT] so that their sine is always positive, it can be concluded that
Non-unit normal vector nr(o) For each triangle DT(OL, 01, 02) of T(D], it is useful to introduce the non-unit vector nT(a) colinear to N^(o) and proportional to the length of its edge £"(01,02): Using equation (7.19), it can be deduced that the (contravariant) components (n^(o), n^(o)) of this vector relative to the (U, V) frame attached to T are such that
If r(ai|T(o, 01,02)) represents the cotangent in parameter space of the angle o^ at vertex a.i of the triangle T(o, 01, 02)
then the components (n^o:), n^(o)} are such that
7.4.3
Approximating Ay?(u) on D(a)
In this section, it is proposed to approximate A(^(u(o)) as the average value of A(/?(u) on D(a):
356
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
For this purpose, first observe that
According to the Green-Gauss theorem9 [14], the flow <j>(a\ip) of gradt/? through the boundary dD(a) of D(a) verifies the following equation
where N is the unit vector of JR2, orthogonal to dD(ot) and oriented positively outward relative to D(a). It is proposed to proceed in two steps to evaluate this integral: • first, evaluate the flow 4>(a, QI, Q.-2\(p) through the boundary {dD(a)r\DT(a, ai, 0:2)} of each triangle DT(OL, ot\, 0:2) of -D(a), and • next, add up these flows >(«, ai, a^lv 7 ) for all the triangles of D(a) to obtain 0(a|¥>)> In practice, depending on the position of a relative to the boundary of D(a), two cases need to be considered.
Definition and evaluation of the flow (f)(a,ai,a.2\(p) Let (f>(a,ai,a2\
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
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:
357
7.4. RECURSIVE SUBDIVISIONS
According to equation (7.30), the flow 0(a,a.i,a.2\(p) can then be computed thanks to the following curvilinear integral on the edge E(oti,a2)'.
From equations (7.25), (7.31), and (7.32), it can easily be concluded that (f>(a,ai,a2
=
r(d 2 |T)-?(ai) + r(di|T)-^(a 2 ) - {r(di|T) + r(a 2 |T)}-^(a)
where the coefficients {r(ai|T), r(a-2\T}} are those denned by equation (7.27).
o
Evaluating the flow
The case where a £D
o
When a G D, according to equations (7.29), and (7.30), it can be observed that
Taking into account equations (7.33), and (7.34), (j)(a\(p) can be written as
which makes it possible to conclude that
358
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES
Evaluating the flow (j>(a\(p}: The case where u(a) € 3D When a e dD, according to equations (7.29), and (7.30), it can be observed that
where DT~ = DT(OL, a~, /3~) and DT+ = DT(OL, a+,(3+') are the two triangles sharing the node a and having their edges E(a, a") and E(a, a+) located on the boundary dD (see figure (7.18)). Taking into account equations (7.33), and (7.35), it can be deduced that
This leads to the conclusion that the flux 0(a|?) can be expressed as follows
where the "boundary correction" coefficients {B@(a)} are defined as follows:
Note that the above definition of the coefficients w(a,0) encompasses both o the case where u(a) e dD and the case where u(a) €£).
7.4 RECURSIVE SUBDIVISIONS
359
Figure 7.18 Construction of an element of surface D(o) surrounding the node a of a flat triangulated surface D = T(D) in the case where a belongs to the boundary. Conclusion According to equations (7.28), and (7.29), it can be concluded that
where the weighting coefficients w(a,/3) are those defined by equation (7.36) using the coefficients riT(f3} and Bf3(a), as defined by equations (7.27), and (7.37), respectively:
As a consequence, as soon as D(a, f3}\ is small enough, A?(u) can be approximated as follows at point u = u(a):
7.4.44
Convergence toward a function of H2(D,u\£l, 0
This section shows how equation (7.38), established above, can be used to characterize the close relationship between the notions of Discrete Smooth
360
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
Figure 7.19 Regular recursive subdivision of a triangle. Interpolation and the functions of the family H2(D, u|Q, 0).
Recursive subdivision algorithm Let DT(OO, CKI, 02) be a triangle of T(D), and let OQ, o^ and o2 be the points such that a'0 a'i a2
— = =
midpoint of the edge J5(o:i, 0:2) midpoint of the edge £'(0:2,0:0) midpoint of the edge E(ao,ai)
By definition and as suggested in figure (7.19), the triangle DT(OLQ, 0:1,0:2) is said to be regularly split if it is decomposed into four adjacent triangles defined as follows:
Consider now the following algorithm based on a recursive splitting of the triangles of T(D}: //— Recursive subdivision algorithm
• T(D[0]) <— T(D] • ft[0] = set of vertices of T(D] • n <— 0 while ( more iterations are needed ) { 1) T(D [n+1] ) <— split regularly each triangle of T(D[n]) 2) Q [n+1] = set of vertices of T(£>[n+1]) 3) n <— (n + 1)
4) set
7.4.
RECURSIVE SUBDIVISIONS
361
Figure 7.20 Construction of an element of surface A£>(a) surrounding the node a of a flat triangulated surface D = T(D). This raises the following fundamental question related to the series of functions <^ n J(u) defined on D and interpolating linearly the values of y?W on each triangle D^: How do we choose the weighting coefficients {v(a,(3}} used to define the roughness in the DSI method above to be sure that • the limit of (p^ exists, and • this limit is identical to a function
Let AL>N( a ) be the subset of D^(a), as defined by
362
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
It can be observed that
As a consequence and according to equations (7.38), (7.39), and (7.40), it can be seen that Ac/9(11(0:)) is such that
Similarly and due to equations (7.41), the functional J((p] defined by equation (7.17) can be obtained as the following limit:
Consequently, J(tp) can also be written as follows:
Let us now assume that the DSI method used in the recursive subdivision algorithm presented above is based on the following weightings:
The associated local roughness R((p^\a] denned by equation (4.7) is
According to equation (4.8), the global roughness R((p^) whose minimum corresponds to the DSI solution for (f>^ is defined by
Assuming that the stiffness function //(a) used in the definition of the global roughness is constant and equal to one-third everywhere on fi^l, and taking into account the conditions (7.16)-2 and (7.16)-3, it can be checked that R((?W) is such that Consequently, when at the limit, whether minimizing J((p) or minimizing the global roughness R((f>^} is equivalent.
7.4. RECURSIVE SUBDIVISIONS
363
Convergence of the recursive subdivision algorithm To come back to the fundamental question raised on page 361 and related to the convergence of the series (p^ generated by the recursive subdivision algorithm, let us consider the function (p\-n\u) defined on D and interpolating linearly the values of (p^ on each triangle D^ : • Due to the existence and uniqueness of the solution of the DSI equation,
Practically speaking, it seems reasonable to conjecture that this convergence is actually true. • If it is assumed that the limit (7.45) actually exists, then, according to equation (7.44), it can be deduced that (p* belongs to H2(D, u|fi, >):
As a consequence, if the limit (f>* exists, then if* is a C2 function10 interpolating the values (0(a)} attached to the set f2 of the vertices of T(D}.
Recursive construction of the geometry of a C2 surface The recursive subdivision algorithm based on DSI presented above can easily be used to build a smooth C2 surface interpolating the vertices of a linear triangulated surface embedded, for example, in 3D space. For this purpose and as already mentioned, at each step n of the recursive process this algorithm has merely to be applied respectively and independently to the three components xx(a), x y (a), andx^a) of the vectors {x(o:) : a 6 £7^} defining the geometry of the surface to be modeled. As shown in figure (7.16), this discrete approach is very efficient and can reasonably compete with the parametric Gregory patchwork method presented in section (7.3) and illustrated in figure (7.1). Moreover, it should be noted that the C2 continuity of a parametric surface implies its G2 continuity. As a consequence, at the limit, the recursive subdivision algorithm presented above tends to generate a G2 surface. A classic test for subdivision algorithms consists in generating a "monkey saddle" surface [229] corresponding to a blending surface that smoothly connects six planes radiating in different directions. As can be seen in figure (7.21), the surface generated using the above subdivision algorithm yields an excellent result with no undulations. 10
More precisely, a distribution (see [194]).
364
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES
Figure 7.21 Tie "monkey saddle" test case generates a blending surface that smoothly connects six planes. (A) Initial mesh with small cubes representing (fixed) Control-Nodes corresponding the six initial planes. (B) Result after applying DSI to part (A). (C) Result after one subdivision. (D) Limit surface after convergence (Gat shading).
7.4.5
Miscellaneous
On the origin of "harmonic" weightings {v(a,(3}} If all the triangles DT(O., 0:1,0:2) surrounding the node a are equilateral, then all the angles are equal to Tr/3 and this implies that the coefficients r(&i\T) defined by equation (7.27) are all such that
Without loss of generality, it can be assumed that all the triangles have an area equal to 4/3 so that equations (7.39), and (7.42) imply that the weighting coefficients must be such that
where A(a,/3) represents the number of triangles sharing the edge E(a,0) which can be only equal to 1 or 2. Two cases have to be considered:
7.4. RECURSIVE SUBDIVISIONS
365
Figure 7.22 Examples of neighborhoods N(a) when a is located on the boundary of domain D. • If a is an internal vertex, then Bl3(a), is equal to zero, A(a,/3) is equal to 2, and the coefficients {v(a,(3)} are identical to the harmonic weightings introduced on page 149:
• If a belongs to the boundary, then A(a,/3) is equal to 1 while Bl3(a) does not vanish. In this case, as shown in figure (7.22), the actual value of v(a,/3) depends on the number of a's neighbors. For example: — in the case of figure (7.22)-A:
— in the case of figure (7.22)-B:
366
CHAPTER 7. CURVILINEAR TRIANGULATED
SURFACES
— in the case of figure (7.22)-C:
— in the case of figure (7.22)-D:
In the case where a belongs to the boundary, the "boundary correction" B@(a) of the coefficients { v ( a , f i ) } can easily be understood. In this case, a is not located at the center of AD (a). Consequently, it no longer makes sense to minimize the discrepancy between (p{ot) and the average value of (f> on the orbit N°(a) of node a: most of the time, the weights of the neighboring nodes not located on the boundary vanish. As a consequence, from the DSI point of view, any point a belonging to the boundary of the surface is considered more as a node on a curve rather than a node on a surface. In practice, using such a boundary correction makes it possible to avoid some artifacts that could otherwise arise on the boundary of <S when interpolating (p with DSI. Using parameterization for controlling anisotropy The parameterization u = (u1, u2) associated with a surface is not unique. As a consequence, one can envision denning this parameterization to capture a priori information related to the structure of the variations of (p. In particular, if (f> is known to be anisotropic along some curves drawn on the surface, then it is wise to build a parameterization such that • one of the parametric directions, let's say u1, is aligned with the main direction of anisotropy (see page 297), and • the gradients of u1 and u2 are chosen to be proportional to the magnitude of the anisotropy in these two directions (see page 258). Note that this approach enables curvilinear directions of anisotropy to be taken into account. Exponential map weightings {v(a, (3)} Most of the time, one would like to avoid the burden of building a parameterization of the surface T(«S) holding the property ? to be modeled. In this case, assume that the image u(A<S(a)) of any subset A<5(o:) of S surrounding a node a is approximately equal to the projection of AtS(o;) on the tangent plane at this location. The cotangent of the angles 9(a) surrounding each node a can then be evaluated in this tangent plane, and the weightings { v ( a , f l ) } can be computed without actually building a parameterization of the surface. It should be noted that such an approach can be used even if the
7.4.
RECURSIVE SUBDIVISIONS
367
Figure 7.23 Evaluation of the DSI weighting coefficient v(a,/3) in the case where a is an internal node: v(a,0) — {cotg(0+(a,/3) + cotg(0~ (a, /3)}/-\/\D(a)\. surface to be modeled is closed: consequently, the recursive subdivision algorithm presented above for open surfaces can also be applied to the modeling of smooth closed surfaces. For the sake of simplicity and to avoid some degenerated cases that can arise when the tangent plane is not correctly estimated, the angles 9(a) surrounding the node a on the surface T(S] can also be computed directly in the 3D space. However, in the case of an internal node a, generally these angles do not add up to 27T, and the actual angles 9(a) in the parametric domain have to be evaluated as follows, where {6^(a)} represents the set of all the angles sharing the vertex a in the 3D embedding space:
More generally, 0(a) can be evaluated as follows
where /3(a) is assumed to be adjusted to the shape of the boundary at node a when a is a boundary node. Assuming that all the angles 9(ot) surrounding a node a are equal, it is even possible to simplify the determination of these angles: in this case, it suffices to assume that these angles are defined by
368
CHAPTER 7. CURVILINEAR TRIANGULATED SURFACES
Figure 7.24 Modeling variable sharpness creases. (A) Initial mesh representing a cube. (B) Limit surface without crease. (C, D) The edges of the top and bottom faces have been set as increasing sharp creases. (E) The edges of the top and bottom faces have been set as infinitely sharp creases. (F) Limit surface obtained for another set of edges tagged as infinitely sharp creases.
where |AT0(o;)| is the number of nodes surrounding the node a. Whatever the technique used for determining the angles of the triangles DT((X, ai, a<2) in the parametric domain, the DSI weighting coefficients v(a, /3) can then easily be determined. For example, as suggested in figure (7.23), if a is an internal node, then
In the above equation, $~(a,/3) and $ + (a,/3) represent the angles opposite to the edge E(a,(3], while |-D(a;)| represents the sum of the area of all the triangles surrounding the node a. In differential geometry [61], the local mapping of a surface on its tangent plane is called "exponential map." For this reason, it is proposed to call "exponential map weightings" the coefficients {v(a,/3}} defined by equation (7.47). Modeling creases of variable sharpness As illustrated in figure (7.24), it is easy to model creases of variable sharpness by modulating the {v(a, (3)} coefficients used to define the local DSI roughness at node a (see equations (4.7), and (7.43)). A crease is defined to be a set of vertices C connected by a set of edges of the initial triangulation, defining a polygonal curve on the surface to be modeled. Each crease is provided with an associated nonnegative coefficient called the "sharpness factor," and the new coefficients {^(a,/?)} to be applied to a vertex a when introducing a
7.5. CONCLUSIONS
369
crease C have then to be defined as follows (see [132]):
7.5
Conclusions
In this chapter it has been demonstrated that, from a theoretical point of view, it is possible to build a smooth G1 triangulated surface consisting of a patchwork of parametric curvilinear Gregory triangles. Compared to linear triangles (see section (6.1.2)), curvilinear triangles on average require nine additional Control-Points. As can be imagined, the number of additional Control-Points needed to ensure a G2 continuity would be considerably higher, making the use of such an approach in real applications unreasonable. An interesting alternative to these parametric models of curvilinear triangulated surfaces consists in subdividing recursively linear triangles into smaller triangles whose geometry is computed to approximate a smooth G2 solution. As shown in figure (7.16), such an approach is very efficient and can reasonably compete with parametric methods. Moreover, the rich set of DSI constraints described in chapter 6 is still applicable and is important to consider from a practical point of view.
This page intentionally left blank
Chapter
8 Elements of Structural Geology Until now in this book, surfaces and volumes have been considered from a static point of view without taking into account the way they were generated. As a consequence, most of the modeling techniques presented in the previous chapters have a wide scope of applications that goes far beyond the limited domain of the geosciences and that potentially can be applied to the modeling of any natural object. In geology, faults and horizons have evolved differently through geological time: this chapter will show that these different cinematic behaviors have a strong influence on their shape and properties.
8.1
Geometry of faults and horizons
8.1.1
Modeling faults
In the modeling process of the subsurface, horizons and faults are both modeled as triangulated surfaces. However, it is easy to see that any one surface does not necessarily represent a real fault surface because the two fault blocks on both sides of the fault surface have to slide one on the other while keeping contact. Assuming that fault blocks are rigid and remain in contact during the faulting process implies that the fault surface must necessarily belong to a specific kind of surface [128, 216]. For example, planes, spheres, cylinders and surfaces of revolution are admissible examples of fault surfaces, while an egg-box surface is not. More generally, even though the pair of fault blocks adjacent to a fault surface does not remain rigid during the faulting process, it is easy to understand that the geometry of the associated fault must obey 371
372
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Figure 8.1 Displacement of fault blocks along a fault surface F: the fault surface is tangent everywhere to a field of unit fault-throw directions (t(x) : x € f} attached to F and defining the local direction of the displacement. The fault-throw directions and the associated fault-striae are drawn in white in part (A). The schema in part (B) shows that, in the case of a ruled surface, t(x) is parallel to the direction of minimum absolute normal curvature. certain laws to allow the adjacent fault blocks to slide on each other. This section begins by presenting an intrinsic property of faults and then shows how this characterization can be used to build a DSI constraint specific to faults. For the sake of simplicity, the fault T to be modeled is assumed to be approximated by a triangulated surface T^) associated with a discrete model A^3(ri, JV, x,C x ), where (x(a) : a G 17} corresponds to the locations of the vertices of T(J7) in the 3D space. Fault characterization As suggested in figure (8.1), let us assume that the two fault blocks on both sides of a fault J- have slid along F. The direction of such a relative displacement 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 "faultstriae," 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 principal curvatures1 ki (x) and k% (x) such that
it can be observed that t(x) must be constant and parallel to the direction 1
See page 213: it is assumed that |fci(x)| < |fc2(x)|.
8.1.
GEOMETRY OF FAULTS AND HORIZONS
373
tram (x) °f minimum absolute normal curvature2 as defined by
In the general case where f is not necessarily a ruled surface, let us consider the subset F(X) of T denned as a function of the threshold A > 0 as follows:
To allow adjacent fault blocks separated by F to slide on each other, it can reasonably be conjectured that, at each location x 6 ^(A), the fault-throw direction t(x) must be parallel to the direction of the minimum absolute normal curvature t min (x) as defined by equation (8.2). Accordingly, at any location x G .F(A), it is proposed to define the notion of fault-throw direction as follows: In the following, to remove the ambiguity introduced by the multiplying factor (±1), t(x) is assumed to be chosen in such a way that its z component t z (x) is positive: Let N(x) be the unit normal vector to T at location x £ J-. It can be observed that the projection projp(v) of the vertical unit vector v = [0,0,1]* on the tangent plane of f at location x is such that
In practice, fault-throw directions are seldom horizontal. Using a second threshold 9 G [0, Tr/2], this observation leads us to introduce the subset ,F(A, 0) of .F, defined as follows:
In other words, fault-throw directions t(x) that make an angle greater than 9 with projf(v} are excluded from ^-"(A, 0). Filtering the field of fault-throw directions In practice, geological faults are modeled from seismic data, which are known to be of poor quality in the neighborhood of faults. As a consequence, the geometry of faults is generally not very precise [127] and the field of the faultthrow directions defined above must be filtered to reduce the influence of the modeling errors. For this purpose, the following procedure is proposed: • Build a discrete model _M 3 (O,7V, t,C^) associated with the same nodes as.M 3 (ft,Ar,x,Cx). • For each node a G 0: 2
It is assumed that ti(x) corresponds to fci(x) while t2(x) corresponds to /C2(x).
374
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.2 An example of computed fault-throw directions and fault-striae on a given fault J-: (A) Initial set J-(X, 9} of directions of minimum curvature. (B) Filtered fault-throw directions. (C) Fault-throw direction extracted from the earthquake focal mechanism. (D) Computed fault-striae. In this example, theta was taken equal to Tr/2. — use the algorithm described on page 228 for estimating the principal curvatures /ci(x(a)) and fc2(x(a)) and their associated directions ti(x(a)) and t2(x(a)); — if x(a) £ JF(A, 0), then add a fuzzy Control-Node constraint c = C(OL) to C-£ specifying that t(a) should be equal to the vector denned by equations (8.2), (8.4), and (8.5) with a certainty factor wc as defined by
In the above definition of wc,
8.1. GEOMETRY OF FAULTS AND HORIZONS
375
Figure (8.2) shows an example of fault-throw directions filtered using this method: the surface represented in this figure corresponds to the "NorthRidge" fault in Los Angeles, and the model built with gOcad was provided by the Structural Geology group in Princeton. A strong similarity between figure (8.2)-B showing the computed fault-throw directions and figure (8.2)-C corresponding to a direct determination of these vectors by structural geologists (courtesy of S. Carena) using the earthquakes focal mechanism3 can be observed. Note that the vectors displayed in figure (8.2)-A look erratic compared to the result of their interpolation displayed in figure (8.2)-B. This smoothing effect is mainly due to the fact that the inital vectors in figure (8.2)-A are weighted by certainty factors wc as defined by equation (8.7). Practical remarks Computed fault-throw directions cannot be used in a blind way without consideration of the context, and the geologist has to decide whether these directions are relevant; for example: • Due to measurement errors, the fault model F may be too far from its correct 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 possible 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 deduced from the observation of the fault network. For example, if a fault intersects another fault, it is wise to install a constraint specifying that, along this intersection, the fault-throw direction must be aligned with the intersection. Computed fault-throw striae For each fault F, the fault-throw striae can be represented as a family of contour lines of a function (p defined on T. To achieve this,
The original source of the earthquakes focal mechanism is the Southern California Earthquake Center: //www.scecdc.scec.org/ .
376
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.3 Improving the geometry of a fau7t surface: (A) initial surface and (B) final surface honoring the filtered fault-throw directions displayed in figure (8.2)-B. — use a global parameterization (ul,u2) of the fault (see algorithm on page 296) such that grad(w1) is approximately oriented according to the average fault-throw direction, and then — initialize
Figure (8.2)-D shows an example of fault striae computed according to the algorithm proposed above. Intrinsic DSI constraint for faults As mentioned above, the data defining the geometry of a fault T are often imprecise and, for this reason, the fault-throw directions must be filtered. As a result of this filtering, the field of fault-throw directions (t(x) : x € F} is no longer tangential to the fault nor orthogonal to the unit normal vector N(o;) at location x = x(a). Consequently, the initial geometry of the fault T has to be modified slightly to become tangential to the field of vectors t(x): the simplest way to achieve this is to change the unit normal vector N(a?) slightly at each location x(a) on F. Assuming that ||t(a) x N(o;) x t(a)|| is different from zero, it can be observed that the vector N*(a) defined by
is the unit vector both orthogonal to t(a) and closest to N(o;). This observation suggests the following procedure for improving the shape of a triangulated surface T(F] used to model a fault F: • Build a discrete model A4 3 (r2, TV, x, Cx) corresponding to the geometry ofT(.F).
8.1.
GEOMETRY OF FAULTS AND HORIZONS
377
• For each node a € fi, compute the vector N*(a) defined by (8.8) and then — add a fuzzy Control-Normal-Vector DSI constraint c'(a) to Cx specifying that T(J-} must be orthogonal to N*(a) at location x(a) (see page 265); — add a fuzzy Control-Straightline DSI constraint c"(oi) to Cx specifying that a can move only on the straight line passing by the point x(a) and parallel to the direction N*(a) (see page 264). • RunDSIonM 3 (ft,7V,x,Cx). Figure (8.3) shows an example of how filtered fault-throw directions can be used for improving the geometry of a fault surface T(^): after applying the above algorithm, the normal vectors to T(F) tend to become consistent with the computed fault striae. It should be noted that a technique to align the minimum absolute normal curvature directions with specified directions will be presented in the next section. If need be, this technique can be combined with the procedure proposed above.
8.1.2
Modeling horizons
In sedimentary geology, at the time of deposition, horizons are assumed to be approximately horizontal and are thus approximately developable (see definition on page 221). Due to tectonic events occurring throughout geological time, such horizons are deformed, and their shapes, as they can be observed today, appear as folded and faulted versions of their initial horizontal developable shapes. If plastic deformations occurred during the tectonic events, the resulting surface for a given horizon <S is no longer "strictly" developable. However, in practice, folded horizons remain approximately developable and their direction of minimum curvature is coincident with their (curvilinear) axis. For example, if we consider the two surfaces represented in figures (8.4)A and (8.4)-B respectively and having similar boundaries, it can be observed that the saddle shaped surface in figure (8.4)-A is far from being developable while the anticline represented in figure (8.4)-B can be easily unfolded (developed) on a plane. The "basic" DSI harmonic weighting coefficients { v ( a , f l } } introduced on page 149 and used for modeling most of the surfaces of this book are generally quite sufficient for interpolating the geometry of geological horizon. However, as shown in this section, when the (curvilinear) axis of a fold is known, it is possible to use anisotropic weighting coefficients {v(a,0}}, which take into account such structural information. Taking into account the axis of a fold Consider a folded horizon <S approximated by a triangulated surface T(«S) represented by a discrete model ,M3(0, TV, x,C x )- Let us assume that
378
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.4 Tutorial example showing the DSI interpolation of two triangulated surfaces (horizons) corresponding to an anticline whose boundaries, fixed as Control-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 represented by a bold arrow. • a first approximation of the geometry {x(a) : a (E 0} of T(S} using the DSI method based, for example, on the harmonic weighting coefficients {i>(a,/5)} presented on page 149 has previously been obtained; • a field of unit vectors {t(a) : a e 17} approximately parallel to the axis of the fold is assumed to be given. To improve the geometry of T(<S), the following two-step algorithm is proposed: 1. For each node a e 17 of the discrete model, compute new coefficients {v(a, /3)} similar to the "axial anisotropic weightings" presented on page 151 and defined as follows:
In this definition, e is assumed to be a given small positive real constant4 while cosine(a,/3 x, t) represents the cosine of the angle between the vector (x(a) — x(/3)) and the local direction t(a) of the fold axis at location x(a):
2. Everything else being equal, compute a new approximation of the geometry (x(a) : a e 17} of the horizon using the DSI method based on the new anisotropic weighting coefficients {v(a,(3)} defined above. Let us try now to interpret the effect of the above algorithm and to show why it tends to produce a developable surface whose direction of minimum absolute normal curvature is approximately aligned with t(a) at each node a G 0. For the sake of simplicity, consider the case where a node a has only 4
For example, one can choose e — 0.1.
8.2. MODELING STRATIFIED MEDIA
379
four neighbors /3^, (3^ , ^, and /?Q~ whose locations after step 1 of the above algorithm are assumed to be such that
Such an initial geometry will generate the following anisotropic weighting coefficients {v(a,/3)} at step 1 of the above algorithm:
At step 2 of the above algorithm, using these anisotropc weightings and minimizing 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 consequence, 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 constrained only by Control-Nodes located on its boundary. Using the DSI algorithm 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 generate the surface (B) whose shape is more acceptable than (A) for a geological anticline.
8.2
Modeling stratified media
As suggested in figure (8.5), the exploration of sedimentary stratified structures in the subsurface is based on two sources of information: • the seismic data, which are used to observe and model the main horizons bounding "macro layers"; • the well-markers, which allow us to identify the presence of internal horizons not actually "seen" on the seismic images and splitting the macro layers into "micro layers." Assuming that the top and bottom horizons5 of a macro layer are given, this section addresses the problem of building the internal horizons corresponding to a series of well-markers. For this purpose, a solution based on a "morphing" technique (see [32, 121]) coupled with DSI is proposed. 5
The top and bottom horizons of a layer are also called the "hanging-wall" and "footwall" of the layer, respectively.
380
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Figure 8.5 Cross section of a "macro" layer bounded by two horizons SQ and Si (bold lines) actually "seen"on the seismic images and containing a series of internal horizons {Si} (white lines) identified by well-markers (white points) that correspond to the intersection of the wells with these intermediary horizons. "Ghost" well-markers that correspond to points of the well-paths not intersecting an internal horizon are represented as black points.
8.2.1
Simple morphing
In computer science literature (e.g, see [121]), any continuous transformation of a "source" object OQ into a "target" object O\ is called a "morphing" or a "metamorphosis." For example, let us assume that the source object OQ = T(«So) is a triangulated surface whose geometry is represented by a discrete model .M3(O, N, x 0 ,Cx 0 ) and which has to be transformed into a given target surface6 Si. Such morphing requires building a vectorial function m defined on Q such that
The vectorial function m so defined is called a "morphing" function and can be represented by a discrete model A4 3 (fi, TV, m, Cm) based on the same graph G(M,N) as the geometry of T(«S0). In practice, as suggested in figures (8.6) and (8.7), the morphing function m is built as follows: • For each node at, e fJ belonging to the boundary of T(<So): — determine, on <Si, the point y(ctb) "geologically associated" with x(at,) such that y(ctb) should be equal to (xo(ab) + m(o!6)); — add to Cm a control-vector7 specifying that m(a&) should be equal to (y(ab)-xo(orb)). 6 Note 7
that Si does not have to be a triangulated surface. If need be, it is also possible to add control-vectors m not located on the boundary of SQ and joining an internal point of SQ to a point on Si.
8.2. MODELING STRATIFIED MEDIA
381
Figure 8.6 Cross section showing how morphing vectors attached to the nodes of T(So) bridge the top and bottom surfaces (Si) and (So) of a layer. The morphing vectors bridging the boundaries or tangent to the fault traces are assumed to be given and set as "control-vectors" (bold vectors), while the other vectors are continuously interpolated using DSL A well-marker (white point) is projected onto (So) (black point) in the opposite direction to that of the morphing vectors. • Interpolate m with DSI; as a consequence, all the points as defined by (x 0 (a) + m(o!)) will be approximately located on Si for any a e Q. • Apply postprocessing to m so that all the points (xo(a) + m(a)) get strictly located on Si for any a G Jl. The morphing function m so defined can be used to build a family of triangulated surfaces {T(St) : t G [0,1]} having a geometry x t , as defined by
As shown in figure (8.5), these surfaces split the layer bounded by the two initial surfaces SQ and Si in a "proportional" stratigraphic style.8
8.2.2
Generalized morphing
In addition to the discrete models _M 3 (0, N, xo,Cx 0 ) and M^(£l, TV, m,C m ) introduced above, let us consider a third discrete model Mn($l, N, p,Cv) where (p is an n-dimensional vectorial function called a "relative thickness function" and defined at the same nodes as x0 and m:
8
Traditionally, there are three main styles: on-lap, off-lap, and proportional.
382
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Figure 8.7 3D example showing how morphing vectors bridge the top and bottom surfaces of a layer. The morphing vectors bridging the boundaries or tangent to the fault traces are assumed to be given and set as "control-vectors" while the other vectors are continuously interpolated using DSL
This function is assumed to honor the two following intrinsic constraints belonging to Cv:
By convention and to simplify the notations,
It is clear that, thanks to the intrinsic constraints (8.9), the triangulated surfaces (T(<S?1)} so defined have the following important properties: • T ( S f l ) is strictly comprised between T(<So) and <Si in the direction defined by m. • T(»So1) is identical to the triangulated surface T(<So). • T(<S°1) is identical to a triangulation T(iSi) of Si.
In other words, (pl(o) appears as the relative thickness at location a between T ( S f l l ] and T^S?1) in the direction m(a):
8.2.
MODELING STRATIFIED MEDIA
383
Equation (8.10) suggests that (f>(ot) can be used for modeling both the local variations of the thickness and the stratification style of a series of n micro layers inside a macro layer bounded by T(So) and S(S\). Prom a DSI point of view, it can be observed that the intrinsic constraints (8.9) to be honored by the relative thickness function (p are identical in form to the intrinsic constraints (10.8) presented on page 540 for controlling the behavior of Membership Functions.
8.2.3
Fitting well-markers
Let us imagine that the internal horizons {T(Sfl) : i = 1,..., (n — 1)} defined above have to fit a series of markers observed on wells and consisting of points IPzfc(f) such that9 IP*CO
=
Ah intersection of T(S°l) with the well W fc
As suggested in figure (8.6), for each well-marker IPf (f), it is always possible to find a point pf(^) in a triangle T = T(x 0 (ao),x 0 (ai),xo(a;2)) of T(«S0) such that • pf(£) has local barycentric coordinates10 (u,v) in T:
• pf(£) is the projection of IP^(^) onto T(«So) in the direction mr(u,v), as denned by
Let <^T(U,V) be the local linear interpolation of (p on T, as defined by
For T(S®1} to pass by IPf (£), the local interpolation (pr(u, v] of (p on T must honor the following constraint:
This constraint is equivalent to the DSI constraint c, which depends on the following parameters
9
Note that the same well can intersect the same internal horizon several times. See definition (6.15).
10
384
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
and as defined by
where ac is a normalizing factor, as defined by
Let us define 9c((p) as follows:
When added to the set of constraints C^ of the discrete model Mn (fi, JV, ?, Cv}, for each v < i, this constraint induces terms 7^ (a) and r^(a|(/?) in the local form of the DSI equation such that
Figure (8.8) gives a real case example of the application of the method described above.
8.2.4
Fitting ghost well-markers
In the case of a reservoir bounded by the top and bottom horizons T(«Si) and «So, a well Wfc may not intersect a given internal horizon T(»S°1). Such an event can be interpreted as a piece of information on the position of T(Sfl) relative to W fc : in the direction (—m), the horizon T(<Sfl) is "below" all the points on the path of W fc . To take this kind of information into account, the following procedure is proposed: 1. As suggested in figure (8.5), build a series of "ghost" well-markers (IP^^) : I — 1,2,...} corresponding to a regular sampling of the path of Wk. 2. For each ghost well-marker IPf (i), introduce an inequality constraint on the relative thickness function specifying that
8.2. MODELING STRATIFIED MEDIA
385
Figure 8.8 An example of a macro layer split by a series of internal horizons fitting well-markers. The cross section corresponding to the intersection with a vertical plane is represented in figure (8.9). As with real well-markers, for each ghost well-marker JPi (^), the barycentric coordinates (u, v) of the projection of IP^ (I) on a triangle T of T(So] in a direction defined by m can be found. Constraint (8.17) is then equivalent to the DSI inequality constraint c, which depends on the following parameters
and is defined by
where the coefficients A" (a) and bc are the exact opposite of the coefficients defined by equation (8.15):
It has already be seen in section (4.5) how such an inequality constraint can be taken into account by the DSI iterative algorithm. In practice, at each iteration of DSI, it is necessary to execute the following sequence of operations corresponding to the most internal loop of the algorithm presented on page 172:
386
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.9 Examples of cross sections of the faulted layer represented in figure (8.8) where the relative thickness function is assumed to be continuous (A) or discontinuous (B) across the faults. / /- Morphing algorithm for( i = I ; i < n ; i + + )
{ • find c = c(i,~S>i(l},m,T,u,v] • compute A = A*c • tp — bc • if A < 0, then ?"(a) <- ^"(a) - A • Avc(o)
Vv
}
It can be observed that the above value A is identical to {—O c ((p)} where Oc((p) is the parameter defined by equation (8.16).
8.2.5
Syndepositional versus postdepositional faults
One of the two following strategies can be used for interpolating the relative thickness function (p on the nodes of T(<$o): • either C1-continuity constraints (see section (6.4)) are installed for restoring the continuity of the thicknesses across the fault traces affecting T(«So), which is equivalent to saying that the faults have cut the layer after the sedimentation process (postdepositional faults); • or such constraints are not installed, which is equivalent to saying that the faults have been active during the sedimentation process (syndepositional faults).
The cross sections created in the model in figure (8.8) and presented in figure (8.9) show how these strategies can in fact dramatically change the shape of the internal horizons.
8.2. MODELING STRATIFIED MEDIA
387
Figure 8.10 In the case of an "on-lap" sedimentary style between a horizon SQ and an unconformity Si, it is necessary to build a "ghost" horizon <Si more or less parallel to So and located outside the layer bounded by So and Si. Initially, So was horizontal, but, here the layer is assumed to have been folded by a tectonic event before the unconformity corresponding to Si occurred.
8.2.6
On-lap and off-lap sedimentary styles
On-lap style Up to now, there has been an implicit assumption that the internal horizons were distributed between SQ and Si according to a "proportional" sedimentary style. Such a hypothesis can be justified geologically as follows: SQ corresponds, for example, to the bottom of the sea, which is assumed to be more or less horizontal at the time of sedimentation, and the sediments stack more or less parallel to SQ generating the internal horizons and, finally, the macro horizon Si. However, as shown in figure (8.10), it may be that an erosion event has partly removed the sediments resulting in a replacement of Si by an unconformity S^ not parallel to SQ and intersecting the internal horizons. In such a case and as suggested in figure (8.10), the following procedure is proposed: 1. Build a field of vectors m*(o:) joining SQ to S* using the same protocol as the one used in section (8.2.1) for building the morphing vectors m(a); these vectors are attached to the nodes a e 0 of the triangulated surface T(«$o).
388
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.11 In the case of an "off-lap" sedimentary style between a top horizon (So and a bottom unconformity <Sjf, one can use a modeling technique similar to the one used for modeling an on-lap style (see figure (8.10)). Initially, So was horizontal, but, in this picture, the layer is assumed to have been slightly folded by a tectonic event. 2. Determine the maximum length M of the vectors m*(a):
3. Build the field of vectors m(a) colinear to the vectors m*(ct:) such that
4. Use the generalized morphing technique presented in section (8.2.2) for building internal horizons between <S0 and Si. 5. Remove the part(s) of the internal horizons not located between <S0 and $i. This operation can be realized in two different ways: • either each internal horizon T(5°1) is actually built and then physically cut by <Si using the "cut" algorithm presented in section (6.6.3); • or the following postprocessing is applied to if>(oi) for any a £ fi:
As a result of this postprocessing, those parts of each internal horizon T(Sfl) located "above" <Si in the direction m(o;) are scratched on <Si.
8.2. MODELING STRATIFIED MEDIA
389
Off-lap style The on-lap sedimentary style presented above was justified by the fact that the bottom of the sea at the time of sedimentation was sub-horizontal. As shown in figure (8.11), there are cases where this hypothesis is untrue and the sedimentation progrades on a preexisting relief corresponding to an unconformity on which the sediments stack more or less horizontally. Such a sedimentation style is called the "off-lap" style and, as suggested in figure (8.11), the same modeling technique as the one used for modeling the on-lap style can be used: the roles of SQ and Si have merely to be permuted.
8.2.7 7 Building a 3-grid by extrusion of a 2-grid Any regular or irregular 2-grid denned on the bottom horizon of a layer can be transformed into a (regular or irregular) 3-grid by extrusion along the morphing vectors that bridge the top and bottom horizons of the layer. For that purpose, it is sufficient to proceed as follows for each 2-cell C2 located on the bottom horizon: • Determine the location on the bottom horizon of the vertices {x^ : i — 1,2,..., N(C2}} of C2 and interpolate the associated morphing vector m(xi) and the local relative thickness function v?(xj) at these locations. • For each integer j belonging to the range {0, n}, build the 2-cell C2(j) whose vertices Xi(j') are defined by
• For each pair of 2-cells (C 2 (j), C2(j — 1)), build an associated cylindrical 3-cell C3(j) whose top and bottom are identical to C2(j — 1) and C 2 ( j ) , respectively. The process so defined for transforming a 2-grid into a 3-grid is called "extrusion". Such a process can be applied whether the initial 2-grid is regular or irregular. On page 133, figure (3.23) shows an example of irregular 3-grid built by extrusion of an irregular 2-grid.
8.2.8 8
Curvilinear morphing
So far, for the sake of simplicity, the concept of morphing was based on a family of morphing vectors attached to the nodes of a triangulated surface T(So). In practice, these vectors can be replaced by a family of curves {m(s|o:) : a 6 f2} joining the nodes of the bottom surface T(So) to the top surface Si and such that s represents the curvilinear abscissa on these curves oriented from T(So) to Si. If the curves {m(s|o;) : a e 0} so defined are given, then the concept of morphing introduced in the previous sections can be adapted as follows to define a Curvilinear morphing: • interpret each curve m(s a) as a "morphing curve," and note m(si\a) the intersection of this curve with the ith sub-horizon T(5j01);
390
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY • interpret the component
Proceeding this way allows the node XJ(Q) of the sub-horizon T(Sfl) denned as follows:
to be
On page 122, figure (3.17) shows an example of a regular 3-grids built by curvilinear extrusion of a regular 2-grid.
8.3
Merging seismic data with well data
Most of the time, a first draft S* of an (unknown) geological horizon 5 is modeled from seismic data. It is necessary to merge this first draft with well data to obtain a better approximation S** closer to S. As suggested in figure (8.12), "well-markers" {wi,w 2 ,...} corresponding to the intersections of the well-paths with the actual horizon <S provide sparse, but accurate, information on the shape of <S. Conversely, the seismic data provide dense information on the shape of S] however, in general, such information is biased due to errors in the modeling of seismic velocities used for building «S*. Therefore, in general, S* does not honor the well-markers; to each marker Wj can be associated a "discrepancy" vector dj, as defined by dj = Wi — w*
In the above definition, w* is the point of S* that should be coincident with Wi if there were no error. If the seismic information was coherent with the well-markers, the discrepancy vectors {dj} should all be equal to zero. Unfortunately, as suggested in figure (8.12), this is generally not the case, so it is necessary to look for a technique to reconcile these two sources of data. For this purpose, it is assumed below that • S* is approximated by a triangulated surface T(<S*); • the geometry of S* is denned by the set of vectors (x*(a) : a G £1} corresponding to the location of the vertices of T(«S*).
8.3.1
A first approach
Determining the observed discrepancies {dj} Assuming that S* is not too far from the actual horizon S implies that the discrepancies d(a) for all the nodes of <S* must be small. In particular, each observed discrepancy dj must be as small as possible, implying that we should have11 is minimal 11
This implication is a direct consequence of the orthogonal projection theorem [141].
8.3. MERGING SEISMIC DATA WITH WELL DATA
391
Figure 8.12 Cross section showing the discrepancies {di} observed between a seismic horizon <S* and a series of well-markers {Wj}. ^=>•<=>•
w* = point of S* closest from Wj di orthogonal to <S*
Adopting this model for the direction of the discrepancy makes it easy to compute the observed discrepancies {dj} thanks to the following algorithm: let P(S*) be a dense set of points covering S* for_all( well-marker Wi ) { • look for w* € P(S*) such that ||wi-w*|| = min w * e p (< s*) ||wi - w*|| • compute di = (wi — w*) } The model proposed above for determining the observed discrepancies {d^} has the advantage of being simple, but it does not take into account the origin of the discrepancies. If need be, as proposed in [49], it is possible to adapt the above algorithm to take into account cases where the direction of d; depends both on the geometry of S* and on the model describing the variations of the seismic velocity used for building the initial surface <S*. Removing the discrepancies The discrepancies between <S* and <S can be removed easily once the discrepancy d(a) is known at each node a of the initial triangulated surface T(«S*). In this case, it suffices to build an improved solution T(e>**) whose vertices have a location x**(a) deduced as follows from the location x*(a) of each node a of T(5*):
392
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
The three components of the discrepancy are considered as fuzzy ControlProperties to be interpolated from the initial observed discrepancies. For this purpose, two different techniques can be used: • The first technique consists of attaching each observed discrepancy di to its associated point Wj and interpolating these discrepancies, with DSI on T(S*) directly. • Most of the time, T(S*} is not unique and, in fact, a series {Tj(S*}} of triangulated surfaces needs to be reconciled with the well data. In such a case, the full set of discrepancies observed on the series {7}(<S*)} must be globally interpolated with DSI on a regular 3-grid covering the studied domain. For each node QLJ of a particular surface T, (»$*), the associated discrepancy d(aj) can then be interpolated from values of the discrepancy attached to the neighboring nodes of the 3-grid.
8.3.2
A second approach
Let us assume that the surface to be modeled is embedded in a domain of the 3D space covered by a 3D seismic survey. The basic idea behind the method proposed in this section is that the seismic data provide the correct shape of the horizons while the well data provide the correct location of these horizons. From the 3D seismic survey, and for any location x in the studied domain, it is possible to build a field of vectors n(x) approximately orthogonal to the geological horizons. It makes sense to use this field of vectors for controlling the shape of the triangulated surface T(<S*) corresponding to the horizon to be modeled. In practice, the discrete model A'f 3 (0, N, x,C x ) associated12 with T(S] can be constrained in such a way that • for each well-marker Wj, a "Control-Node" or a "fuzzy Control-Point" constraint (see page 263) specifying that T(S*} must interpolate Wj is added to Cx; • for each node a £ fJ, a "Control-Parallelism" constraint (see page 268) specifying that is added to CxThis modeling technique is particularly efficient. At the extreme, as shown in figure (6.9), it is even possible to model an anticline when only one well-marker is given.
8.4
Deformation analysis
The analysis of the deformations of geological surfaces and volumes throughout geological time plays a central role in structural geology. This section shows, in a concise and unified way, how to characterize these deformations using a differential geometry approach. Applications of such a characterization will be presented in sections (8.5) and (8.6). 12
See definition, page 246.
8.4. DEFORMATION ANALYSIS
393
Figure 8.13 Displacement and deformations of a region 71 through time.
8.4.1
Notations
By definition, a parametric representation of a volume V or, more simply, a parametric volume, is the name given to any continuously twice differentiable mapping x from a 3D parametric domain D onto V:
As can be seen, this definition generalizes the definitions (5.1) and (5.10) given for parametric curves and surfaces. For the sake of generality, these definitions can be unified by introducing an n-dimensional parameter u belonging to an ndimensional parametric domain D and by defining a parametric representation x(u) of an n-dimensional region 7£ as follows:
In geological applications, K belongs to the 3D space and x(u) has three components that can be noted in any of the following ways:
We will assume that x is twice continuously derivable relative to u1. Furthermore, we will use the following notations similar to those used in chapter 5 for parametric curves and surfaces:
In practice, • if n = 1, then 7£ is a parametric curve; • if n = 2, then ~R, is a parametric surface; • if n = 3, then JL is a parametric volume.
394
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Thanks to these unified notations, no distinction is made below between curves, surfaces and volumes. As shown in figure (8.13), we consider a continuum of material points that, at initial time t = 0 fills the region 7£[o] and, at final time t fills the region 'R,. To describe the motion of a point x, we consider the frame (Ui,..., U n ), which moves through time with the medium and is defined as follows:
The components {guiuj} of the metric tensor associated with 7£ are stored in an (n x n) symmetric matrix G, as defined by
Similarly, the components {(g^u^lo}} °f the metric tensor associated with 7£[o] are stored in an (n x n) symmetric matrix G^ and are defined by
The coordinates of any point of 7£ relative to this frame do not change through time so that the vector cbcjo] observed at initial time t = 0 is transformed into a vector cbc at time t such that
As will be shown in the next sections, by comparing | dx[o]|| and | dx. |, the deformation of the region 7£ through time can be characterized.
8.4.2
Strain tensor and notion of dilatation
As shown in figure (8.13), a pair of twin regions 7£[0] and 71 corresponds to the same set of points before and after deformation. As can be seen in this figure, any infinitesimal step dx[0] G 7£[o] is transformed into a twin step dx e 7£. According to equations (8.19), (8.20) and (8.21), it should be noted that the (contravariant) components {du1} of these vectors are the same, but their lengths may be different:
In the mechanics of continuous media (e.g., see [205, 198]), "covariant Strain tensor" is the name given to the (twice covariant) tensor whose components
8.4. DEFORMATION ANALYSIS
395
{£uiuj} relative to the frame {Ui,..., U n } are stored in the (n x n) symmetric matrix £, as defined by13
Using this definition of £, it may be noted that the variations of the square length of the segment having (contravariant) components {du1} is such that
It is also interesting to evaluate the variation of the (Lebesgue) measure of the region element G?7£[o] when transformed into dTZ. As with equation (5.19), it can be shown that
By definition, one calls "dilatation" the coefficient 9 as defined by
Prom equations (8.24), it is easy to show that the coefficient 0 so defined can be deduced from the metric tensors G^ and G as follows:
In practice, as shown in figure (8.22) this parameter can be displayed in 7£ to point out the variations of the deformations.
8.4.3
Principal strains
Any vector W located in the region 72. can be written as
Let us now consider a unit vector W in the region 72.; according to (8.27) and (8.19), such a vector is characterized by
If the increment dx. is chosen as being colinear to W
13 Note that the coefficient | used in the definition of S plays no role in this book a introduced to be consistent with traditional notations used in the mechanics of continuous media.
396
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
then the strain A(W) in the direction W between the initial state 7£[oj and the final state 7£ is denned by
Prom equations (8.23) and (8.28), it can be seen that (8.29) is equivalent to the following system of equations:
According to the Lagrange multiplier technique [141, 90, 163], the extremum values of A(W) honoring equations (8.30) are those for which the derivatives of the following function C(W, A) vanish:
From equations (8.30) and using the vectorial derivations rules (4.26), it can be deduced that the optimum values of A(W.) must honor the following equation: In other words, the optimum directions of W are characterized by the following equation: Introducing the (n x n) matrix S as defined by
it can be noted that equation (8.31) can also be written as follows:
Prom equations (8.31), (8.32), and (8.33), it can be deduced that W = W (i) corresponds14 to an optimum of A(W) if, and only if, his associated column matrix W^ is an eigen direction of S:
Combining this equation with system (8.30) makes it possible to see that the eigen value A^) associated with the eigen direction W^ is equal to the value of such an optimum:
From equations (8.33) and (8.34), the following conclusions can be made: 14 Subscripts in parentheses are used to avoid confusion with (covariant) indices of the components of vectors.
8.4. DEFORMATION ANALYSIS
397
• The function A(W) has n extrema corresponding to the unit vectors (W(i)} colinear to the vectors (D^)} associated with the n eigen directions {D^} of S as follows:
• The eigen values (A(j) : i = l,...,n} of S associated with the directions (W(i) : i = 1,..., n} are such that
From equations (8.36) and (8.29), it can be easily verified that the eigen values {X(i)} defined above are such that
By definition, these eigen values (A(^) : i = 1,.. .,n} are called the "principal strains" and the associated unit vectors {W(^ : i = 1,.. .,n} are called the "principal strain directions." It will be shown in the next section that the vectors {W(^} so defined are orthogonal. The "elongations" {e^} associated with these directions are defined by
From equations (8.36) and (8.37) and from the definition (8.29) of A(W W ), it can be checked that these elongations are such that
Note that, from definition (8.38), it can be deduced easily that
Moreover, it can be deduced from equation (8.37) that the elongations so defined are such that
8.4.4
Orthogonality of the principal strain directions
It can be observed that the principal strain directions are intrinsic properties independent of the parameterization of *R, or 7£[0]. Consequently, without loss of generality, it can always be assumed that
and, according to equation (8.32), the matrix S then reduces to
398
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.14 After deformation, a small sphere of the initial region 72. [o] is transformed into an ellipsoid whose axes {V(i),..., V( n )} in the deformed region 72, correspond to the principal strain directions ( W ^ ) , . . . , W(n)}.
Note that S so defined is now symmetrical and, as a consequence, it is well known [14, 209] that its eigen directions (-D(i)} defined by equation (8.35) are such that Prom equations (8.35) and (8.42), it can be deduced that
As a consequence, it can be concluded that the vectors |D(j)} are orthogonal, and this implies that the principal strain directions are also orthogonal:
If we note (W^,..., W"^} the components of the principal direction W(^) relative to the frame {Ui,..., Un} in the deformed region 72., then it can be checked that the directions {(W(j))[0]} defined in 72.[o] as follows
are the only directions to remain orthogonal through time.
8.4.5
Deformation of a small sphere d7l[^
Consider a small sphere d72.[o] of radius dxjo] = TO m the initial region 72.[o] • As suggested in figure (8.14), after deformation this sphere becomes an ellipsoid whose principal axes {V(i),..., V( n )} are colinear to the principal strain directions and have a length determined by the equations (8.39) and (8.40):
In practical applications and as illustrated in figure (8.23), it may be useful to display these vectors at selected points of 72. to indicate the main directions of deformation together with the amplitude of these deformations.
8.4. DEFORMATION ANALYSIS
399
Moreover, from equation (8.32), it can be noted that
Taking into account the fact that {(1 — 2A(^) : i = 1,.. .,n} are the eigen values of (/ — 25'), the above equation can be rewritten as follows:
Prom equations (8.24) and (8.39), it can be deduce that
Comparing the above equation with equation (8.43) allows us to conclude that
8.4.6
Practical remarks
In the general case, S as defined by equation (8.32) is a non-symmetrical matrix. Prom a numerical analysis point of view, it is well known that it is easier to compute eigen values and eigen vectors for a symmetrical matrix than for a non-symmetrical matrix. Taking into account the fact that principal strain directions and elongations are intrinsic properties independent of the parameterization of 7£ or 7£[o], from a practical point of view and without loss of generality, we can always proceed as follows: • As explained in section (8.5.1), in the case where n = 2 it is convenient to choose a parameterization of 7£[o] such that G[o] = /• In such a case, the matrix S becomes symmetrical:
• As explained in section (8.6.7), in the case where n = 3 it is convenient to choose a parameterization of "R, such that G = I. In such a case, the matrix S also becomes symmetrical:
It should also be noted that, in practical applications, the elongations {&(i)} are generally all close to zero. This implies that the vectors (V^)} defined by equation (8.43) and characterizing the deformation of a small sphere are all approximately the same length. As a consequence, the image of a small sphere of radius TO is close to a sphere with the same radius so that, from a graphical point of view, the vectors {V^} may be inadequate for visualizing the deformations. For this reason, for graphical purposes, as shown in figure
400
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
(8.23), we suggest replacing the vectors {V(j)} by vectors {V^\} defined as follows:
In this definition of V*^, the exponent m is a given "magnifying factor" that must be chosen greater than 1 to increase the contrasts between the deformations corresponding to the principal strain directions.
8.4.7
Eulerian and Lagrangean strain tensors
The components of S can be viewed as the components15 of the tensor £ relative to the local frame {Ui,...,U n } attached to the current deformed region 7£. Therefore, this tensor is called the "Eulerian Strain Tensor" and corresponds to a measure of the deformations from the point of view of the deformed region 71. It should be noted that it is also possible to adopt the point of view of the undeformed region 7£[o], which leads to the following definitions of A(W[0]) and 5[oj:
The components of S[0] so defined can be viewed as the components of the strain tensor relative to the frame {(Ui)[ 0 ],..., (U n )[ 0 ])} attached to 7£[0]. This tensor is called the "Lagrangean Strain Tensor" and corresponds to a measure of the deformations from the point of view of the undeformed region %)]•
8.4.8
Invariants of the strain tensor
According to the definition (8.19), at any point of the studied domain 71, the strain tensor is fully defined by a set of (n • (n+1)/2 independent components f 1 3• • . (^ U U
The components {Suiuj} of the strain tensor so defined depend strongly on the coordinate system (w 1 ,..., un} and thus cannot be used directly to characterize the deformations of the studied region 7£. For example, let us consider a linear 15
Note that these components are once covariant and once contravariant.
8.4. DEFORMATION ANALYSIS
401
transformation of these coordinates into a new system (w' 1 ,..., u'n) such that
where A is an invertible n x n square matrix. According to the rules of transformation of (covariant) tensors [190, 205], the components of the strain tensor are transformed into new components such that
Now consider the polynomials P(x) and P'(x) defined as follows:
Prom equations (8.47) and (8.48), we can write
In other words, P(x) is a characteristic of the strain tensor independent of any linear transformation of the coordinate system (w 1 ,..., un}. Note that P(x] can always be written as follows:
It can be shown that, whatever the value of n:
The invariance of P(x) implies that the coefficients ( V i , . . . , Vn} are independent 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 tensors everywhere in the region 7i. In a certain sense, the invariants of these strain tensors can be considered as "structural attributes" characterizing the deformation of the region 71. From a practical point of view, it may be interesting to correlate these structural attributes statistically to geological properties such as, for example, permeability.
8.4.9
Displacements in continuous media
As suggested in figure (8.13), let v be the "displacement vector" of X[Q] defined as follows: Deriving this vector with respect to ul allows us to write the following implications:
Consequently, according to equation (8.22), the components of the strain tensor £ and the derivatives of the vector v are linked by the following differential equation:
8.4.10
An important case
Let us now consider the particular case where the topological dimension n of the region 71 is equal to the dimension of the embedding space. In this case, for simplicity's sake and without loss of generality, it is always possible to choose the parameterization u(x) identical to the vector x itself:
This implies that
where the vectors b^ are defined as follows:
8.4. DEFORMATION ANALYSIS
403
Let {vk} be the (contravariant) components of v in the frame {bj}:
On differentiating with respect to ul = x l , we obtain
This implies that equation (8.54) takes the following form:
In view of the fact that the vectors {bj} constitute an orthonormal frame, it can be concluded that, in this frame, the components of the strain tensor can be determined thanks to the following fundamental equation:
8.4.11
Minimum-Deformation principle
Prom a historical point of view, the law of "least action" is certainly the first general principle that has been proposed to describe the behavior of our physical world. In 1744, the French scientist Pierre-Louis Moreau de Maupertuis proposed this principle for the very first time and published it in 1746 in a famous article entitled, "The laws of motion and of rest deduced from a metaphysical principle" [38]. This "metaphysical principle" relies on the assumption that nature always operates with greatest economy: If some changes occurs in nature, then the amount of action necessary to perform this change is always as small as possible. Several examples follows: • In a homogeneous medium, light always travels according the shortest path. • Soap films always have minimum area. • The geometry of the DNA molecule, which corresponds to a double helix, is an example of a surface with minimal area. • Small crystals grow to minimize their free surface energy. • Mechanical systems always tend to minimize their potential energy.
Dozen of other examples can be observed, and interested readers are referred to a fascinating book entitled "The Parsimonious Universe" and published in 1996 by S. Hildebrandt and A. Tromba [106].
404
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Figure 8.15 Vertical cross section showing the evolution of an overturned fold throughout geological time t. Note that the region A has no deformation between the initial state (t = 0) and the current state (t = 1) in spite of the fact that its intermediate state (t = 0.5) is clearly severely deformed. The rest of this chapter is devoted to the unfolding of geological horizons and layers, and we propose applying the Maupertuis' principle to such a problem. In a nutshell, the data and the goal of the unfolding problem can be sketched as follows: • The data consist of — a complete knowledge of the current geometry of the geological objects in their folded state, and — limited information concerning the geometry of these geological objects in their unfolded state. • The problem consists of determining the complete geometry of geological objects in their unfolded state. Prom a mathematical point of view, this problem has an infinite number of solutions, only one of which corresponds to the actual solution chosen by mother nature. According to the Maupertuis' principle, this actual solution should minimize the deformations. In practice, this is equivalent to saying that the magnitude of the components of the strain tensor must be minimum everywhere:
This suggests calling equations (8.58), the "Minimum-Deformation principle".
8.5.
UNFOLDING A HORIZON
405
It should be noted, however, that the Minimum-Deformation principle is not a panacea. If the current state 7£ can be deduced by a displacement from the initial state 7£[0], then the Minimum-Deformation principle will generate a solution where the strain tensor vanishes everywhere even if severe deformations occurred throughout geological time between these two states. In other words: The Minimum-Deformation principle is unable to characterize the real trajectory of geological terrains throughout geological time: it only characterizes the deformations between the current (final) state and the initial state of the studied geological objects. This is not a simple theoretical remark. For example, as suggested in figure (8.15), consider the evolution of the region A of an overturned fold throughout geological time: • the initial state at geological time (t = 0) was horizontal and flat; • the intermediary state at geological time (t = 0.5) was severely folded; and • the current state at geological time (t = 1) is still horizontal and flat. In such a case, according to the Minimum-Deformation principle, the intermediary state is ignored, and it will be concluded that the strain tensor vanishes in the region A. This may be a serious concern if one wishes to correlate the strain tensor to a physical property, like the permeability of the terrains, depending on all the deformations that occurred throughout geological time.
8.5
Unfolding a horizon
In sedimentary geology, due to the gravitational origin of the deposition of sedimentary layers, it is generally assumed that horizons were approximately flat surfaces at geological deposition time t = 0 before the folding and faulting processes occurred as a result of successive tectonic events. Accordingly, the current shape of horizons can be viewed as a record of such tectonic events, from which the field of the resulting deformations can be computed. For this purpose, a hypothesis must be advanced concerning the folding mechanism between the initial unfolded state H^ of a horizon at geological time t — 0 and its current folded/faulted version H = H^ at today's current normalized geological time t = I. Generally, structural geologists distinguish between two main types of such mechanisms (e.g., see [236, 95, 20, 187, 192]): • The first type of unfolding mechanism, called "simple shear" [89, 230] is illustrated in figure (8.19). Simple shear involves assuming that H[0] can be obtained by projecting H = H[i] onto a given "unfolding" horizontal plane IA according to a given field of projection directions. Note that, as pointed out by Moretti et al. [164, 191], simple shear is valid only for unconsolidated material affected by syndepositional deformations. • The second type of unfolding mechanism, called "flexural slip" [211] is illustrated in figure (8.16). Flexural Slip consists in assuming that H[Q] must be, as far as possible, isometric to H and located in a given "unfolding" horizontal plane U.
406
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
In both cases, the deformations of the horizon can be quantified by analyzing, from a differential geometry point of view, how the metric properties (areas, angles, distances) are transformed between the folded and the unfolded states. The simplest way to analyze the deformations is to study how the metric tensor associated with a given parameterization u attached to the horizon H evolves between the geological times t = 0 and t = 1: this is precisely the goal of this section. For simplicity's sake, the horizon H = H^ observed at current geological time t = I and its unfolded version H^ at depositional time t = 0 are assumed to be approximated by triangulated surfaces T(H] and T(H^), respectively. These triangulated surfaces are associated with the discrete models A^ 3 (fi, N, x, Cx) and .M3(0, A/", X[0], Cx [0] ), which share the same set of nodes 0 and the same topology but have distinct functions x(a) = x^^a) and X[Q] (a) defining the location of each node a € (7 in the 3D space at current time t = I and at initial time t = 0, respectively. Thanks to the functions x(a) and X[ 0 ](a), the field of "restoration vectors" r(a) illustrated in figures (8.16) and (8.21) can then be introduced and defined on 0 as follows:
These vectors can be linearly interpolated on each triangle and it is relevant to note that they are the opposite of the displacement vectors v(a) introduced on page 402:
As will be seen in the next paragraph, the unfolding techniques proposed in this book rely on the determination of a parameterization u(x) of the horizon H = _H"[i] to be unfolded/unfaulted. Such a parameterization is also assumed to be represented by a discrete model ,M 2 (fJ, AT, u,Cu) that shares the same set of nodes and the same topology as the two discrete models introduced above. 8.5.1
Unfolding techniques
Paleo-geographic coordinates paradigm As shown in figure (8.16), let H = H^ be a folded/faulted horizon at current geological time t = 1. Taking into account the scale of the domain under study, it is assumed that H was horizontal at deposition time t = 0 and consisted of a region H[0-\ of a given horizontal plane U referred to as the "unfolding plane." This unfolding plane U is assumed to be at altitude z = zu and can be interpreted in different ways, depending on the geological context and the value of zu. For example, • if zu is greater than zero, then IA may correspond to a paleo-flood plain; • if zu is equal to zero, then U may correspond to the delta of a paleo-river; • if zu is negative, then IA corresponds to the bottom of the paleo-sea.
8.5.
UNFOLDING A HORIZON
407
Figure 8.16 An example of the unfolding/unfaulting of a triangulated surface based on a global parameterization using isometric DSI constraints: the area of the surface is preserved with a relative precision of 10~2. The isoparametric curves are represented by thin lines. (Data courtesy of Elf) However U is interpreted, this horizontal plane can always be identified with a part of the surface of the earth at deposition time t — 0. Accordingly, it is only natural to attach to 1i an arbitrary paleo-geographic coordinate system in such a way that any point u € U. can be identified with its two paleo-geographic coordinates (ul,u2):
As suggested in figure (8.16), during the folding/faulting process, each point u e f/"[o] is transformed into a point x(u) e H^, with the following interpretation: • the unfolding plane U is interpreted as a 2D parametric space; • the part of U corresponding to H^ is interpreted as a parametric domain D; • the function x(u) is interpreted as a parametric representation of the horizon H[i] at current geological time t = 1:
The paleo-geographic coordinate system (ul,u2) can be freely and arbitrarily chosen and for the sake of simplicity, this system is assumed below to be rectilinear and orthonormal. Accordingly, the metric tensor (7[0] associated with the local parameterization induced by the paleo-geographic coordinates
408
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
is thus a unit tensor:
From this paleo-geographic coordinates paradigm, it can be concluded that the problem of unfolding/unfaulting a horizon H = H[^ comes down to the search for a particular parameterization u(x) of H where the parametric domain D is identified with the unfolded/unfaulted version H^ of H:
In practice, the discrete model M2(Q, N, u,C u ) is used for computing this parameterization at the nodes of the triangulated surface T(H). For this purpose, it is necessary to add two sets of DSI constraints to Cu'• A first set of constraints has to be installed to preserve the continuity of the components w1 and w2 of u across the fault traces. These constraints correspond 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 unfolding 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 associations generated by the two approaches first proposed. One may also choose not to link twin fault traces with C° and Cl pseudocontinuity constraints. In such a case, gaps and overlaps may appear in the unfolded state of these fault traces, which can be interpreted as inconsistencies in the geometry of the associated fault in the current folded state. Isometric-mapping-based method Except where there is a specific genetic reason (see comment on page 411), it makes sense to assume that the horizon H = H^ to be unfolded/unfaulted should preserve its metric properties (areas, angles, and lengths) as far as possible throughout geological time. Taking into account the fact that H^ was assumed to be a part of the unfolding plane U, this implies that H = H^ must be isometric to a plane. In other words, the parameterization u(x) of
8.5. UNFOLDING A HORIZON
409
Figure 8.17 One more example of unfolding/unfaulting of a triangulated surface based on a global parameterization using isometric DSI constraints: the surface area is preserved with a relative precision of 10~3. The isoparametric curves are represented by thin lines in the exploded view (EAEG-overthrust model [6]). H corresponding to the above paleo-geographic coordinates paradigm must generate for H a metric tensor G, approximately equal to the unit tensor:
This is typically an isometric constraint for the parameterization u. It has been shown in section (6.5.2) how such a constraint can be honored when u is interpolated on the triangulated surface T(H} with the DSI algorithm based on the discrete model .M 2 (f2, TV, u,C u )- In practice, the technique presented in section (6.5) is particularly well adapted to the unfolding problem, and, as shown in figures (8.16) and (8.17), yields excellent results. Figures (8.17) and (8.18) show that the unfolding/unfaulting method so defined is applicable even in cases where the initial surface cannot be projected simply onto a horizontal plane, that is, without overlaps and/or gaps. Projection based method Let {-ftJ!] : i = 1, • • -, m} be a partition of H = H^ into a series of m polygonal patches; for example, • as suggested by Rouby et al. [187], each patch Hl^ may consist of a subset of triangles of T(H] corresponding to a fault block; • as suggested by Gratier et al. [95], each patch Hfa may be reduced to a single triangle ofT(H).
410
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Figure 8.18 An example of a severely folded surface that cannot be projected onto a plane without generating overlaps. The unfolding method based on a global parameterization using isometric DSI constraints can still be applied and the surface area is preserved with a relative precision of 10~5.
Each patch HI, is rotated around its center of gravity to get as horizontal as possible and then projected onto the horizontal unfolding plane U. The boundary dH^ of each patch HI-, is associated with a set of sampling points {x^ ( i , j ) : j = 1,..., n}, and the image of each point X[i] (i, j) in the unfolding plane U is noted as X[o**](i,jf):
The projection of the patches on U may induce overlaps and/or gaps, and correction techniques have been proposed [95, 187] for minimizing such inconsistencies. 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 transformation: For each point X[i](i, j } belonging to the curve dHfa, the value of the parameter u is then defined as follows
where x?Qi,,(i,j) and x¥Qi,,(i,j) are the current geographic coordinates of the point X[o*](i,j) at current geological time t = 1. It is then easy to interpolate the vectorial function u = (ul,u2) on the discrete model M2(fl, N, u, Cu) as follows: • For each point X[i](i,j) € T(H), add a fuzzy Control-Property constraint (see page 256) to Cu specifying that, at this location, the parameter u should be equal to the value denned by (8.65).
8.5. UNFOLDING A HORIZON
411
• For each triangle T e T(H), add a Constant-Gradient constraint (see page 261) to Cu specifying that u should have, approximately, a constant gradient on T and its adjacent triangles. • RunDSIon M 2 (17,]V,u,Cu). The parameter u can then be linearly interpolated on each triangle T, as indicated in section (6.1.3). Unfolding Let us assume that a parameterization u(x) of H = H[^ has been obtained by any one of the methods presented above. The flat surface #[o*] embedded in the 3D space and defined by
appears as an unfolded/unfaulted version of H located in the horizontal plane ZY at the given altitude z = zu. In practice, as shown in figure (8.20), the surface #[o*] must be translated and rotated in the unfolding plane U to become coincident with the presumed location of the initial unfolded/unfaulted version _ff[0] of H. Section (8.5.2) shows how to determine such a displacement in an optimal way. Comment: The case of listric faults A "listric fault" or "syndepositional fault" is a particular case of faults where one of the two associated fault blocks continued to move during the depositional time lag. For example, in the cross section represented in figure (8.19), the sediments are assumed to come from the left-hand side of the listric fault, and the two fault blocks behave as follows: • Few sediments are assumed to be deposited on the right-hand side of the fault, and they deposit according to horizontal layers with a constant thickness; for this reason, we propose calling this fault block the "neutral fault block." • On the contrary, the opposite fault block (the right one in figure (8.19)) is sliding downward during the sedimentation process and the sediments are filling the gap with a vertical speed that is a decreasing function of the distance to the fault; for this reason, we propose calling this fault block the "active fault block." Due to the so-called "roll-over" geological mechanism [235, 213], in the active fault block it can be observed that • the layers have a thickness that is a decreasing function of the distance to the fault; • the area of the horizons is reduced throughout geological time by a factor that is a decreasing function of the distance to the fault;
412
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.19 Vertical cross section showing the two steps of the 2D simple-shear mechanism in the case of a listric fault: the top horizon is projected onto U according to a given direction of shearing s and then translated to remove gaps. • far away from the fault, the active fault block tends to have a behavior similar to the one of the neutral fault block, and the horizons tend to have a constant area throughout geological time. In such a case and as illustrated in figure (8.19), the unfolding mechanism, called "simple-shear" is well defined in a 2D cross section of a vertical plane Xi and can be split into the following two steps: 1. Choose a given shearing direction16 s and, for each point X[i](i,j) belonging 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 parallel to s; • define the image X[0**](i, j) as the intersection of A(x[i](i, < 7'), s) with the unfolding plane U. 2. Translate globally the set of points {x[o**](i, j) : j = 1,..., n} by a vector ti chosen to minimize gaps and overlaps, and define the set {x[0*](i, j)} 16 This direction, which depends on geomechanical characteristics of the terrains, can be chosen freely or it can be determined numerically using an optimization method such as the one proposed by Kerr et al. [122].
8.5. UNFOLDING A HORIZON
413
as follows:
It is clear that, according to this unfolding mechanism, in the active fault block the area of the horizon H = H^ to be unfolded differs locally from the area of #[o]- However, it can be observed that, even in such a case, when far away from the listric faults, the metric properties of the horizon H are still preserved in the active fault block. At this point, it is useful to recall the respective roles of the three isometric constraints (6.80): • the two first isometric constraints (6.80)-1 and (6.80)-2 are used to preserve the area of H and the lenght of segments drawn on H during the restoration process; • the third isometric constraint (6.80)-3 is used to preserve the angles drawn on H during the restoration process. Consequently, this suggests that we continue to use the method based on isometric-mapping, with the following modifications whose purpose is to allow the area of the horizon H to vary in the active fault block: • at each node a of the horizon H to be unfolded, define a function A(a) taking its values in the range [0,1] and measuring the aptitude of the area of H to vary locally throughout geological time; • choose a "basic" certainty factor WQ used for weighting the isometric constraints (6.80); • use the certainty factor 073(0:) defined as follows to weight the isometric constraint (6.80)-3 at node a:
• use the certainty factor w\,i(a] defined as follows to weight the isometric constraints (6.80)-1 and (6.80)-2 at node a:
Proceeding that way allows the distortions to be minimized everywhere while taking into account the fact that the area of the unfolded horizon may not be constant close to the listric fault in the active fault block. A propos of the Minimum-Deformation principle According to equations (8.62) and (8.64), the horizon unfolding method based on the isometric-mapping technique presented on page 408 takes into account the two following constraints explicitly: • The metric tensor G[0] of the unfolded horizon H^ is strictly equal to the unit tensor:
• The metric tensor G of the folded horizon H is as close as possible to the unit tensor:
414
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.20 Displacing the unfolded horizon T(H[0*]) in the unfolding plane U up to its optimal position T(H^}. In other words, according to the definition (8.22) of the strain tensor £, the method based on isometric-mapping tends to generate an unfolded version of H such that In this regard, we can say that the horizon unfolding method based on isometricmapping technique explicitly conforms to the Minimum-Deformation principle (8.58) presented in section (8.4.11). 8.5.2
Deformation analysis
Displacements As mentioned above, the horizon T(#[0*]) defined by equation (8.66) must be displaced to become coincident with the presumed location T(H^) of this horizon at geological deposition time. From a mathematical point of view, any displacement T>(t,R) can be split, in a unique way, into a translation t followed by a rotation R:
The simplest technique for determining t and R is to proceed as suggested in figure (8.20): • Choose a series of points { I P i , . . . , IPn} belonging to T(H); for example, these points may be chosen along the lines corresponding to the intersection of the horizon with the faults or, more simply, on the boundary of the horizon (e.g., see figure (8.20)). • For each point IPi, interpolate the parameter u(lPi) and use this interpolation to set up the associated point q^ belonging to T(H[0*]) and the point PJ in
8.5.
UNFOLDING A HORIZON
415
the plane z — zu, as defined by
Note that pi is no more than the vertical projection of D?i onto the unfolding plane Li. • Determine t and R to minimize the following criterion J~(t, 7?), where £>(t, R)o QJ represents the image of q^ by the displacement T>(t, R):
As an exercise, it is verifiable that the translation t and the rotation R minimizing the criterion J(t, R} defined by the above equation (8.67) can be determined as follows: • The translation vector t is such that
where p represents the center of gravity of the points {p 1; .. ,,p n }, while q represents the center of gravity of the points {q 1 ,..., qn}. • The center of the rotation R is coincident with p and the angle 9 of the rotation in the unfolding plane ti is such that
where A and B are defined by
The integer k in equation (8.68) is assumed to be either equal to 0 or 1 and these two values correspond to the maximum and the minimum of J~(t,R), respectively; in practice, only the value corresponding to the minimum of ^7(t, R) must be retained. The restoration vector r(x) is then defined at any location x on T(H] as follows:
As illustrated in figure (8.21), the field of restoration vectors so defined depends strongly on the "fixed" region defined by the set of points (IPi,..., TPn} chosen on T(H) and clearly shows how the surface has moved relative to this fixed region.
416
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.21 Top view of the field of restoration vectors associated with the unfolding of the horizon represented in figure (8.16). The fixed points correspond to the vertices of the triangle represented in grey: depending on the location of this fixed set of points, the field of restoration vectors looks very different. (Data courtesy of Elf)
Figure 8.22 Top view showing the variations of the dilatation of the horizon represented in figure (8.16). The magnitude of these dilatations, defined by equation (8.25), are color coded in grey scale. (Data courtesy of Elf) Strains It should be noted that the translations and the rotation used by P(t,J?) to transform T(H^) into T(H^) correspond to a rigid displacement that
8.5. UNFOLDING A HORIZON
417
Figure 8.23 Top view showing the principal strain directions of the horizon represented in figure (8.16) and defined by equation (8.43). The length contrasts of these vectors are magnified by an arbitrary factor and reflect the deformations of a circle stuck on the unfolded horizon. In a better color coded representation the directions corresponding to positive elongations e^ should be represented in red while the others should be represented in blue. (Data courtesy of Elf) generates no deformation. If {x(o:o),x(a!i),x(a;2)} represents the location of the vertices of the current triangle T of T(H] and if the following notations are used
then, according to equations (6.25) and (6.30), the metric tensor GT associated with the global parameterization u(-) on T is such that
According to the definition (8.22) and from equations (8.62) and (8.69), it is easy to estimate the strain tensor £ on each triangle T G T(H\ as follows:
According to equations (8.26) and (8.35), the above estimation of £ makes it possible to compute the dilatation coefficient 9 and the principal strain directions (W^)} for each triangle T G T(H}. It is interesting to observe the following:
418
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
• The dilatation coefficient OT depends only on the determinant of GT and is defined by
• The components of the principal strain directions in the (Ur, VT) frame associated with the triangle T can be computed easily thanks to equation (6.26):
To analyze the deformations and as shown in figures (8.22) and (8.23), the dilatation coefficient and the principal strain directions modulated by the elongations defined by equation (8.38) can be mapped on T(H}. Strains versus curvatures: A paradox The intuition may suggest that the principal normal curvatures of a surface should be linked with the strain tensor of this surface. Unfortunately, as demonstrated below, this is not true at all: • Consider a flat surface <S[o] that is bent without plastic deformation to obtain a new shape S. In this case, the strain tensor of S vanishes while its principal normal curvatures do not vanish. • Consider a flat square surface <S[oj that is transformed (with plastic deformations) into a flat rectangular surface S. In this case, the strain tensor of S does not vanish while its principal normal curvatures vanish. However, it is important to note that this paradox is due to the fact that we are considering the 2D strain tensor of a surface and not the 3D strain tensor of the volume bounded by this surface. For example, if the surface 5[o] corresponds to the top horizon of a flat geological layer which is transformed into a folded surface S after some tectonic event, then it can be shown (e.g., see Sokomikoff [204], p 198 and 212) that the components of the 3D strain tensor within the layer are actually functions the principal normal curvatures of the top horizon.
8.6
Unfolding a stack of layers
8.6.1
Introduction
One of the most challenging issues in numerical structural geology is the "balanced" unfolding/unfaulting of a stack of sedimentary layers. In practice, this step is required as a "preprocessing" by a number of applications such as, for example, sedimentary process and fluid-flow modeling. As shown in figure (8.24), the goal is to "restore" the stack of layers in such a way that
8.6.
UNFOLDING A STACK OF LAYERS
419
Figure 8.24 Vertical cross section showing the unfolding mechanism for a stack of layers. The constraints consist of a given field of restoration vectors r(x[i](a)) associated with the uppermost horizon H\±\ in addition to the Mass-Preservation and the Minimum-Deformation constraints, which specify that the mass of terrains must remain constant while the layers must be deformed as little as possible. • the horizon H^ corresponding to the hanging wall of the top layer is transformed into an unfolded/unfaulted surface H[Q] located in a horizontal plane U at altitude zu, as it was assumed to be at the time of deposition before being deformed by a tectonic event; • the terrains located below H^ follow the movement of H[i] toward ff[0] in a piecewise continuous way; • the faults, if any, are the only discontinuities in the displacement of the terrains located below H[i]. In other words, for any particle a located at point x(a) = X[1](o:) in the 3D studied domain, we want to go backward through geological time from the current position X[i](a;), which corresponds to the current normalized geological time t = 1, to the "initial" position X[ 0 ](a) at time t = 0 of the deposition of H[^: X[i] (a) X[t] (a) X[0] (a)
= == =
current position of a position of a at time t G [0,1] initial position of a at deposition time
By definition, the vectors r(x[i](o;)), denned as follows at any point X[i](a) of the current 3D geological domain to be restored, are called "restoration vectors:"
420
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
As soon as the restoration vectors are known at any location X[ 1 ](a), it is easy to restore all the terrains as follows:
For the sake of simplicity and without loss of generality, as in section (8.5), it is assumed here that geological time has been scaled in such a way that • the current position of terrains corresponds to geological time t = 1, and • the initial position of terrains at the time of deposition of H[\] corresponds to geological time t — 0.
We propose to consider the terrains to be restored as a compressible viscous fluid where each particle a moves backward from the current location X[ X ] (a) to location X[ 0 ](a) during the restoration time lag Ai = — 1 so that, according to the Taylor series expansion formula (see page 147), we can write
Consequently, from equations (8.70) and (8.71), it can be concluded that the opposite of the restoration vector r(x^](a)) can be viewed as a first-order approximation of the velocity of the terrain particle a at geological time t = 1:
It will be shown below how this analogy to viscous fluid mechanics can be used for determining the field of restoration vectors r(x[!](o:)). Notion of balanced restoration
"Balanced" restoration [53] means that the mass of terrains has to remain constant throughout geological time. This is equivalent to saying that the velocity cbc[t](a)/cft of the terrain particles must honor the well-known "equation of continuity"17
where p(x[f] (a)) is the density of the terrains at location x^] (a) and geological time t. Potentially, this partial differential equation has an infinite number 17 For a complete presentation of the continuity equation, the reader is referred to [190, 206], for example. If the components of any vector V of the 3D space relative to an orthonormal system of coordinates ( x , y , z ) are noted as (V x , Vy, V z ), then it will be recalled that div(V) can be expressed as follows:
8.6.
UNFOLDING A STACK OF LAYERS
421
Figure 8.25 Vertical cross section showing the iterative "back-stripping" algorithm: after flattening the top horizon, the top layer is removed. of solutions; therefore, to ensure the uniqueness of the field of restoration vectors r(xj 1 ]), we propose introducing the three following constraints, at the very least: 1)
the field of restoration vectors is given on the hanging wall H[i] of the top layer;
2)
the Minimum-Deformation principle defined by equations (8.58) has to be honored;
3)
the mass of the terrains has to be preserved.
In practice, a given horizontal plane U is assumed to contain the unfolded state H[0] of the hanging wall H^ of the top layer and any one of the methods presented in section (8.5) can be used for constructing H^. As illustrated in figure (8.16), the restoration vectors r(x[!]) at any location X[ij € H^ on the top horizon corresponding to the above constraint (8.74)-l can then easily be deduced as follows from the location of its image X[0] G H^:
Back-stripping algorithm In practice, as suggested in figure (8.25), the unfolding of a stack of layers is performed iteratively in three steps: 1. unfold the top horizon; 2. unfold the stack of layers to follow the movement of the top horizon; 3. remove the top layer (stripping) and go back to step (1) until all the top horizons have been unfolded.
422
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
This iterative algorithm, called "back-stripping," allows the unfolding mechanism to be broken down into a series of time steps {At^\ A t ^ 2 ) , . . . , At^}, all assumed to be normalized and to have a span equal to (—1). Let r^ be the field of restoration vectors determined at time step At^. It should be noted that time step A^1) allows the top horizon H[^ to be flattened, but the underlying layers are still affected by residual deformations, which have to be evaluated at subsequent time steps. Consequently, if the stack of horizons is such that H^1' H^
is the uppermost horizon is immediately below H^
H(i}
is immediately below H(i~V
then • the deformation of the layer {H^l\H^} is characterized by the field of restoration vectors r = r^ 1 '; • the deformation of the layer {H^2\ H^3'} is characterized by the field of restoration vectors r = (r^ + r1-2-*); • ...
• the deformation of the layer {H(-l~l\ H^} is characterized by the field of restoration vectors
8.6.2
Restoration method based on DSI
Nine steps are proposed for interpolating the field of restoration vectors while taking into account the three constraints (8.74): 1. Cover the studied domain with a regular orthogonal rectilinear 3-grid (see section (3.4) and figures (8.26) and (8.28)). The size of the grid cells is chosen in such a way that the problem to be solved can reasonably reduce to the determination of the restoration vector r(a) on the set £7 of the vertices of the grid. In practice and for simplicity's sake • the (x, y, z) coordinate system is identified with the (w, t>, w) axis of the grids: • the z = w axis is oriented upward.
2. Build a discrete model ,M 3 (f2, N, x, Cx) where
is the current location of node a € 0, of the grid at geological time t = 1, while (3 € N(a) if, and only if, |x(a),x(/5)} is an edge of the grid not cut by a fault. Note that the neighborhoods TV (a) so defined honor the discontinuities introduced by the faults, if any (see figure (8.28)).
8.6. UNFOLDING A STACK OF LAYERS
423
Figure 8.26 Computing the field of restoration vectors at the nodes of a regular linear 3-grid covering the region to be restored. For the sake of clarity, only a vertical cross section is shown. 3. Build a second discrete model Ai3($7, N,r,Cr) where r(a) is the vector r(x[!](a)) at location x^a) = x(o;):
Note that Q and the neighborhood operator N are the same as those of the model A4 3 (O, TV, x,Cx) denned above. 4. Sample the top horizon H^ at a series of points (h[i](i) : i = 1,..., m} where the restoration vectors r (h[i] («)) are assumed to be known. Next, for each point h[1](i) located in a 3-cell of the grid, add three fuzzy Control-Property constraints (see page 186) to CY thus specifying that the three components of the restoration vector need to be equal to the respective components of r(h[i](i)) at this location. 5. Add a "Minimum-Deformation" DSI constraint to Cr to specify that the components of the strain tensor have to be as close as possible to zero. However, to allow large displacements along the faults, this type of constraint must not be installed for cells cut by faults. 6. Add a "Mass-Preservation" DSI constraint to Cr to specify that the continuity equation (8.73) has to be honored at any node a 6 fJ. 7. If need be, some additional DSI constraints can be added to CY. 8. Run DSI on the model .M3(f2, N,r,C r ). 9. The final step involves using the values {r(a) : a 6 £1} to interpolate r(x[j]) at any point X[i] to be restored in the studied domain K = "R^
424
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.27 Barycentric interpolation of the restoration vector at a location x within a regular linear 3-grid. For the sake of clarity, in this figure all the restoration vectors are assumed to be parallel to a vertical plane and only a vertical cross section is shown. and to apply the following backward transformation:
The only theoretical difficulty is in building the DSI constraints corresponding to steps 5 and 6; this problem is addressed in sections (8.6.4), and (8.6.5). Some practical implementation details (1) Let x = X[i] be a given point in the region 72, = T^[i] to be restored, and let C(x[i]) be the cell containing x^] and belonging to the regular linear 3-grid used to compute the field of restoration vectors. As suggested in figure (8.27), let (u,v,w) be the local normalized coordinates (see section (3.4.3)) of x^] relative to the local frame associated with the edges of the cell (^(x^]):
According to equation (3.16), the barycentric interpolation r(u,v,w) of the restoration vector at location x^] is defined as follows:
In this definition of r(w, v,w), it is implicitly assumed that the nodes of the 3-cell C(x[i]) are numbered in such a way that
8.6. UNFOLDING A STACK OF LAYERS
425
Figure 8.28 Vertical cross section showing how geometrical inconsistencies can be avoided by removing the grid cells and the triangles of the horizons in the neighborhood of faults. Using this barycentric interpolation (8.76) of r allows any point x^] 6 *R,\i\ to be easily restored according to the following four-step procedure: 1. determine the 3-cell C(x.[i]) containing X[ij; 2. compute the local normalized coordinates (u, v, w) of X[i] relative to the local frame associated with the edges of C(x[i]); 3. compute r(u,v,w) according to equation (8.76); 4. restore X[i] as follows:
Some practical implementation details (2) As shown in figure (8.28), two types of geometrical inconsistencies may arise in the neighborhood of faults: • A horizon may not meet the fault surface exactly, thus generating some gaps between its boundary and the fault. This kind of inconsistency has no effect on the interpolation of the field of restoration vectors and can be completely ignored.
426
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
• A horizon may go a short way beyond the fault, thus generating overlaps 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 erroneous Control-Property constraints at step 4 of the proposed restoration algorithm; — should such a problem arise for any one of the horizons, then the vertices of the inconsistent boundary triangles will not be correctly restored at step nine of the proposed restoration algorithm. A practical solution to help avoid such inconsistencies is suggested in figure (8.28) and involves proceeding as follows where all the horizons {H*} to be restored are assumed to be modeled as triangulated surfaces {T(H1}}: • At step 4 of the proposed restoration algorithm, remove all the sampling points located in one or several rings of boundary triangles in the neighborhood of faults from the top horizon Hl = H^. • For each horizon T(H1} to be restored, split the final step of the proposed restoration algorithm into the following substeps: — build a discrete model M3(£ll, AP,x, Cx) where x models the geometry 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 computing 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 transformation: It is relevant to note that this method for avoiding side effects in the neighborhood 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
8.6.3
427
Derivatives of the restoration vectors
As already mentioned, it can be observed that the restoration vector r is the exact opposite of the displacement vector v introduced in section (8.4):
Taking into account this remark, equations (8.57) and (8.73) clearly show that derivatives of the field of restoration vectors directly control both the components of the strain tensor and the continuity equation. As a consequence, the Minimum-Deformation and Mass-Preservation DSI constraints mentioned in section (8.6.2) should make direct use of these derivatives. For this reason and prior to studying these constraints, it is important to show how the derivatives of r can be evaluated numerically: this is precisely the goal of this section. Notations For the sake of simplicity, in the next sections the parameterization u(x) of the folded region K is assumed to be identical to the vector x itself:
Moreover, depending on the context, components (x^x^x 3 ) and (r^r^r 3 ) of the vectors x and r will be noted (x, y, z) and (r x , r y , r*), respectively:
Let us consider a node a of the regular 3-grid used for estimating the field of restoration vectors. As suggested in figure (8.29), if, starting from ct, a step is performed in the positive direction of the x axis, then a new node a~£ is generally reached except, possibly, if a is located on the boundary of the grid. Conversely, if we perform a step in the negative direction of the x axis, then we generally reach a new node a~. Similarly, moving one step in the negative and positive directions of the y and z axes allows new pairs of nodes (a~, <x+) and (a~,ct^~) to be reached. More generally, if we do not follow the directions of these steps, then it we can say that a 3-cell C = C(a) of the grid is fully identified by one of its vertices a and three of its direct neighbors (a£, a^, acz}. As suggested in figure (8.29), the four remaining vertices of such a 3-cell are referred to as o^y, a£ 2 , otyZ, and acxyz, respectively. If the vertices (a£,o^,o^) are reached from a by doing (positive or negative) steps (A£, A^, A^) in the (x,y,z) directions, respectively, then the remaining vertices of C = C(a) can be reached as follows from a: • ofxy is reached by doing steps A£ and A£; • atxz is reached by doing steps A^ and A^; • OLcyz is reached by doing steps A^ and A^; and
428
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Figure 8.29 Numbering conventions of the vertices of a 3-cell C = C(a) surrounding a node a of a regular rectilinear 3-grid whose edges are assumed to be aligned with the ( x , y , z ) coordinate axes. • OixyZ is reached by doing steps A£, A£, and A£. Note that each node a of the grid is surrounded by, at most, 8 of such 3-cells C(o). It should be observed that some of these 3-cells may have their edges intersected by faults. It is convenient to note 7£(a) and l^J (a) the sets of 3-cells C(a) such that
Moreover, for the sake of consistency with previous notations introduced throughout this book, the number of 3-cells contained in these sets 7?.(a) and 72/(o:) will be referred to as \Jt(a) and |72/(o:)|, respectively. Evaluating derivatives at the center of a 3-cell Using the notations introduced above makes it easy to evaluate derivatives of the restoration vector r(x) at the center of a 3-cell C(a), as follows:
8.6. UNFOLDING A STACK OF LAYERS
429
Evaluating derivatives at a node of the grid Taking into account equations (8.80), (8.81), (8.82), and (8.83) allows the derivatives of r(x) to be evaluated at any node a and in any direction d G {x, y, z} as follows:
8.6.4
Mass-Preservation constraint
Whatever the restoration method used for unfolding the layers, the mass of terrains18 has to remain constant. This constitutes the fundamental principle that any 3D restoration method has to conform to and corresponds to the continuity equation (8.73). In the following it will be shown how this equation can be turned into a DSI constraint. For simplicity's sake, it is implicitly assumed that the tectonic deformations are not so severe and that the acceleration 5 2 X[ t ](a)/'dt 2 can be ignored. Accordingly, the continuity equation (8.73) can be reduced to the following, simpler equation:
In the oil and gas industry, the top horizon is generally moderately folded, making it feasible to use this approximation. However, in severely folded geological structures, the acceleration <92X[t](a)/<9t2 cannot be ignored and the solution obtained when using the equation (8.85) can only be considered as a first-order approximation. Approximating the continuity equation Due to the compaction induced by the pressure19 of terrains, during the sediment burial and diagenesis process the porosity 0(d) decreases with depth d. In practice, the following empirical porosity/depth model of Magara is proposed [143, 196, 122]:
where >o is the initial porosity at depth d = 0 and A is the porosity decay length20 as defined by 18
The volume may change due to compaction. 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.... 19
430
CHAPTER 8. ELEMENTS OF STRUCTURAL
GEOLOGY
Such a variation of the porosity induces a variation of p(x.^(a)) as a function of the depth d — (zu — xfn(a)) where zu represents the z-coordinate21 of the horizontal unfolding plane 14:
For the sake of simplicity, po is assumed to be a constant independent of a: this hypothesis allows po to be eliminated from the final equation (8.93), and its actual value can thus be ignored. According to equation (8.72), it can be observed that, at geological time t = 1, the derivative dx.LJdt can be roughly approximated by
Denning p'(x[t](a)) as
and taking into account the fact that the geological time step At is equal to (-1) between the states x^a) and X[0](a), it can be deduced from (8.88) and (8.89) that
The continuity equation (8.85) at geological time t — I can then be rewritten as follows:
It can be observed that
Consequently, from equations (8.89), (8.90), and (8.91), at geological time t = 1, the continuity equation (8.85) can be approximated by
Finally, introducing the function p,(x.^(a)) defined by
it can be concluded that the continuity equation (8.85) is approximately equivalent to 21
It is assumed that the z axis is oriented positively upward.
8.6. UNFOLDING A STACK OF LAYERS
431
Defining Coni(r, //|a, C) Using notations introduced in section (8.6.3), for any 3-cell C(oi), the value D(r\a,C) is defined as follows as a function of derivatives of r computed at the center of C = C(a):
In other words, D(r\a,C) is equal to four times the approximation of the divergence of r at the center of the 3-cell C:
Prom equations (8.81), (8.82), and (8.83) we deduce that
Let fj,(a,C} be the value of the function //, denned by equation (8.92) at the center of the 3-cell C(a). By definition, the function Cont(r, JJL a, C} is defined as follows for any 3-cell C(a) of the grid:
Taking into account equation (8.95) clearly shows that Cont(r,(j,\a,C) is approximately equal to four times the left-hand side of the equation of continuity (8.93). As a consequence, the mass of terrains will be preserved if the following constraint is honored for any 3-cell C(a) of the grid:
This constraint is linear relative to components of the restoration vectors at vertices of the 3-cell C(oi) and can thus be easily turned into a DSI constraint: this is precisely the goal of the next section.
432
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
DSI constraint Let d£, dy, d^+, dc~, and ac be coefficients such that
and let {Av,c-,(j3} : (3 6 fJ} be associated coefficients denned as follows:
Note that the square of coefficients {A^c\(fi)}
so denned sum up to 1:
Using these coefficients, it can be checked that
In other words, the constraint (8.98) is equivalent to the following normalized DSI constraint:
The index K(C) in the above equation represents the DSI constraint associated with the 3-cell C(a) where the continuity equation is evaluated. According to equations (4.49), each non-null coefficient {^(c\(/3)} induces a series of three pairs of terms {^ (c) (/?),f* (c) (/3|r)}, {^ (c) (/3),f^ (c) (/5|r)} and {^( c )(^)'f^(c)(^l r )} occurring in the local form of the DSI equation. For example, the terms related to the node a of the 3-cell C(a) take the following form:
Theoretically, terms associated with other non-null coefficients { A ^ , , ( @ ) } should also be denned in a similar way. However, from a practical point of
8.6. UNFOLDING A STACK OF LAYERS
433
view, this is not at all necessary: it can be verified that the same result can be obtained by replacing all these terms by the following terms {7^* (/3}, F^* (J3 r)} deduced from those defined by the equation (8.101) and where K* = K*(£ xy , a) represents a composite DSI constraint:
8.6.5
Minimum-Deformation constraint
According to the Minimum-Deformation principle introduced in section (8.4.11), the field of restoration vectors r(x) must minimize the components of the six independent components of the strain tensor 8:
For the sake of simplicity, notations introduced in section (8.6.3) are used, and it is convenient to specify that the above equation should be honored only at the center of any 3-cell C(a) of the regular rectilinear 3-grid not cut by a fault. According to equation (8.57) and constraints (8.103), it is equivalent to say that, for any 3-cell C*(a), we should have
In practice, second-order terms in the above constraints are, generally, an order of magnitude lower than those of first-order terms. As a consequence, these second-order terms can be neglected: the above equations reduce to the six following equations, which are linear relative to components of the restoration vector r:
The next sections show how these equations can be turned into DSI constraints. Defining £"XiXj (r|a, C) According to the numerical technique introduced in section (8.6.3), it is always possible to evaluate derivatives of the restoration vector r at the center of any 3-cell. Let -E^ox^ (r a, C) be the function defined as follows at the center of a 3-cell C(a):
434
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
According to equation (8.104), it is clear that E-^i-^j and ^x*xj evaluated at the center of C(oi) are linked by the following relationship:
Using approximations (8.81), (8.82), and (8.83), it is easy to evaluate these values E^i^j. For simplicity's sake and according to notations (8.79), in the following, the components (x^x^x 3 ) and (r^r^r 3 ) of the vectors x and r will be noted (x, y, z) and (r x , ry, r z ), respectively, so that, for any 3-cell C(a) we can write
The other terms Exz, Eyz, Exx, Eyy, and Ezz can be defined in a similar way:
8.6. UNFOLDING A STACK OF LAYERS
435
DSI constraints As a tutorial example, let us address the problem of building a DSI constraint to minimize the component i^x2 = £xy of the strain tensor. According to equation (8.105), at the center of the cell C(ot), this is equivalent to the following constraint: Let d^,^. d!f,/ . and cr£,,y be coefficients such that •^ I ^ y y/'Ly
and let {A^cJ/3) : (3 € £)} be associated coefficients defined as follows:
Note that the square of coefficients {A^,CJ(3}} so defined sum to 1:
Using these coefficients, it can be verified that
In other words, the constraint (8.112) is equivalent to the following normalized DSI constraint:
It should be noted that the index «(C f ) in equation (8.114) represents the DSI constraint and depends on the 3-cell C = C(a) where the component £xy of the strain tensor is estimated. According to equations (4.49), to each non-null
436
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
coefficient {Av,-,(f3}} corresponds two pairs of terms (7^(c)(/3), r^/^(/3|r)} and i^«Cc)(^)' «(c)(^l r )} that occur in the local form of the DSI equation. For example, terms related to the node a of the 3-cell C(a) take the following form:
The terms associated with other non-null coefficients {Av,^(f3}} should also be denned in a similar way. However, from a practical point of view, this is not at all necessary: the same result can be obtained by replacing all these terms by the terms {7^(/?),r^(/3|r)} and {7^(/3),r^(/?|r)} deduced from those defined by equation (8.115) and where K* = K*(£xy,a} represents a composite DSI constraint:
The minimization of the other independent components £xz, £yz, £xx, £yy, and £zz of the strain tensor £ can be achieved in a similar way. Comment A slight, but important, difference should be noted between pairs of terms {7^*, r^*} defined by equation (8.102) and those defined by equations (8.116): • In the case of the Mass-Preservation constraint, the sum is performed on the whole set Tl(a) of cells surrounding the node a even in the neighborhood of faults. This is necessary to avoid gaps and overlaps, which could occur between fault blocks along the faults. • In the case of the Minimum-Deformation constraint, the sum is restricted to the set 72/ (a) of cells surrounding the node a and not cut but a fault. Such a restriction is necessary to allow large deformations to occur in the neighborhood of faults.
8.6.6
Other possible DSI constraints
As usual with DSI, the more constraints there are, the more the solution generated by DSI has a chance of being "geologically" admissible. Potentially there is nothing to limit the choice of such additional constraints except common sense. In this section, as an example, we present a few such additional constraints, which can be used in combination with the Mass-Preservation and the Structural constraints presented in the previous sections.
8.6. UNFOLDING A STACK OF LAYERS
437
Pin-Point constraint The simplest additional soft constraint that one can think of introducing is to specify that a given point x(a) called "Pin-Point" has to keep one (or several) of its coordinates {xt/(a) : v — x, y or z} fixed during the restoration process. Such a constraint is equivalent to installing a fuzzy Control-Point constraint (see section (4.7)) specifying that the corresponding component r I/ (a) of the restoration vector at location x(a) is equal to zero. Note that the notion of "Pin-Line" introduced by Dahlstrom [53] can be modeled as series of Pin-Points. Tangent-to-Fault constraint Consider a node a € il located in the neighborhood of a fault T and characterized 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 constraint can be turned into the following normalized DSI constraint:
where the coefficients {A^((3)} and bc are defined by
According to equations (4.49), it can be concluded that the associated terms 7^ (a) and F^(a|r) occurring in the local form of the DSI equation are such that
In the case where the fault-throw direction t(a) at node a is known (see page 372), in equations (8.117) and (8.118) it may be wise to replace the unit normal vector N^a) by the vector N^-(a) defined as follows:
438
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
Rigid-Region-Translation constraint Sometimes, geologists may identify regions of the model that have been merely translated, by an unknown vector, without any deformation through geological time. For each such region R C 0, the rigid translation assumption induces the following constraints on the field of restoration vectors: constant or, equivalently
It is relevant to note that each of these constraints can, in turn, be transformed into the following normalized DSI constraint c = c(y, a, R] defined by
where A"(0) and bc are such that
As one can easily check that \\AC\\ = 1, this implies that the DSI constraint so defined is actually normalized. According to equation (4.51), it can be concluded that the terms ^(a) and r^(a|r), occurring in the DSI equation (4.46) at node a e R and associated with the constraint c = c(i>, ce, R), are such that
Observed-Strain constraint There are situations [7] where geologists can evaluate an approximated value £XiX:/ (a) of a component of the strain tensor at a given node a. Using the notations introduced in section (8.6.3) and (8.6.5), implies that the field of restoration vectors should honor the following constraint for all the 3-cells C = C(a] surrounding a and not cut by a fault:
If we note # X i X j (r\a,C) the function of r defined as follows
8.6.
UNFOLDING A STACK OF LAYERS
439
then the constraint (8.119) can be rewritten as
For example, in the case where xz = x and x j = y, which is similar to the case of the Minimum-Deformation constraint introduced in section (8.6.5), the above constraint generates pairs of terms {7«( c )(/3)>r^/x(/3|r)} and {7w c )(/?) ? r^/ c )(/? r)} occurring in the local form of the DSI equation:
Summing these terms for all 3-cells surrounding the node a and not cut by a fault generates the following composite terms and
8.6.7
Deformation analysis
Let us now assume that the deformed region is associated with the parametric coordinate system defined by equation (8.78). According to equation (8.57), the components of the strain tensor at the center of a 3-cell are
The numerical approximations (8.81), (8.82) and (8.83) allow each component Z-x.i-x.3 (oi) of the strain tensor £(ot) to be computed numerically at each node a of the 3-grid as follows:
Note that the parameterization denned by equation (8.78) implies that the metric tensor of the deformed region 'R, is constant and equal to the unit tensor: Consequently, from equation (8.32), it can be concluded that
According to equations (8.35), (8.39) and (8.44), the principal strain directions (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 permeability with the Colocated CoKriging method presented in section (9.7.4). • The fractures induced by the deformations can be observed on well logs but are invisible in the seismic images. These subseismic fractures are generally modeled as elliptical pieces of planes simulated at random in the domain being studied. Let us assume that elongations (e(i), 6( 2 ), 6(3)} associated with the principal strain directions (W(i), W(2), W($)} are sorted as follows:
To improve the orientation and the shape of these ellipses, their two main axes may be chosen as proportional to the two first principal strain directions {W(i), W(2)} modulated by their associated elongations (e(i),e( 2 )}.
8.6.8
A test example
figure (8.30) shows an example of a 3D balanced restoration obtained with the method presented above. In this example, • the initial geological model at current geological time t = 1 is the one presented in the left-hand side of figure (8.17), • the unfolding of the top horizon was performed with the isometric parameterization method described in section (8.5) and shown in the upper half of figure (8.17), and • the Mass-Preservation and Minimum-Deformation constraints were used without taking into account the decompaction. This example clearly shows that the proposed method yields consistent results, leading us to conclude that the current model is probably geometrically correct except, possibly, at one location pinpointed in figure (8.30). As mentioned above, to allow an objective testing of the efficiency of the Mass-Preservation constraint, compaction/decompaction was not taken into account. It is interesting to note that both the area of the horizons and the volume of the layers were preserved after restoration with a relative variation of 10~2. Comment The geometric model used in this example is a synthetic model called the "EAEG-model"23 which was realized by IFF using gOcad software [6]. In 22 Note that such a correlation is positive if there is no cementation of the micro fractures induced by the deformation, otherwise it will be negative. 23 EAEG is the acronym for "European Association of Exploration Geophysicists," while IFF is the acronym for "Institut Francais du Petrole."
8.7.
CONCLUSIONS
441
Figure 8.30 Solid view showing an example of a 3D balanced restoration where the top horizon is unfolded with the isometric parameterization method. The initial model corresponds to the left-hand side fault block of the example presented in figure (8.17). practice, for building this model, a series of balanced 2D parallel vertical cross sections were first generated using a forward modeling technique. Using gOcad, these synthetic cross sections were next transformed into fault and horizon triangulated surfaces, which in turn were used to build the model represented in the left-hand side of figure (8.17).
8.7
Conclusions
Contrary to most of the methods presented in the rest of this book, the methods presented in this chapter are very specific to geology and, more precisely, to the structural geology of stratified media. Because numerical structural geology is a wide field of active research, this chapter can be considered as no more than a brief introduction limited
442
CHAPTER 8. ELEMENTS OF STRUCTURAL GEOLOGY
to some examples of important problems associated with sedimentary layers. Once again, DSI and the discrete modeling approach proposed in this book provide efficient tools that can be very useful even in complex cases.
Chapter
9 Stochastic Modeling Important economic decisions are often made based on models of the subsurface. However, due to the sparse and unprecise data, these models cannot be considered fully reliable, and the impact of uncertainties should be integrated into the decision-making process. As shown in this chapter, stochastic methods provide a useful framework for assessing the uncertainties attached to these models.
9.1
Simulation versus interpolation
One common problem in the geosciences is that the set of information available is not enough to assess the local complexity of the entities1 to be modeled. In areas far away from the data points, any interpolation method honoring these data would produce one single smooth solution that does not reproduce possible high-frequency variations of the actual phenomenon; this is a consequence of the Shannon theorem [15], which can be approximately formulated as follows: If a function has neighboring extrema, located at a relative distance d from each other, then an interpolation method can reproduce these extrema only if the data spacing is less than or equal to d/2. This implies that, in regions away from the data points, the corresponding "most probable" solution can have only a "smooth behavior," which is typ1
In practice, these "entities" represent the geometry and the physical properties of the geological object. 443
444
CHAPTER 9. STOCHASTIC
MODELING
Figure 9.1 For each equiprobable solution «S(u, a>), the functional "R,i generates a response rj(u;), and the frequency of a given value TI for this response is equal to fi(n}. ically very different from the actual behavior of the entities to be modeled. As a consequence, it could be hazardous to make economic decisions based on a single and artificially smooth solution, even if this solution is the "most probable" one. In practice, economic decisions are based on the values of a series of nonlinear functionals {T^i,??^,...}, which transform any particular solution S into a series of real numbers {ri, r2,...}:
For example, in decisions related to the management of an oil reservoir, the following functionals, where S represents one particular reservoir model, may be considered (see figure (9.1)): • The time r\ — Tl\ (S) of the first arrival of water (breakthrough) at a well location. • The total volume of oil r2 = 72.2 (<$) produced after one year of production, These values {ri,r2,...} can be evaluated using a flow simulator fed with parameters (porosities, permeabilities) included in the model <S. To avoid catastrophic decisions, Journel [119] suggests proceeding as follows: 1. Generate a series of equiprobable elementary statistical events:2 2
See section (9.2.1).
9.2.
PROBABILITIES IN A NUTSHELL
445
2. Generate an associated series of equiprobable solutions, all honoring the data: In the above solutions {«S(u, u;)}, (u e D} is assumed to be a set of points attached to the object to be modeled (see figure (9.1)). 3. Compute the associated series of responses ri(u) = 72-i(«S(-,u;)):
4. For a given functional 7£i, in general the responses are not distributed uniformly, and the series {rj(u;i), ^(0*2),...} can be used to build an estimate of the frequency fi(ri) of a given response r*. The frequency distributions {/i(ri), fafa), • • •} thus obtained can be used to assess the risks associated with any decision: the distribution f i f a ) represents a measure of the uncertainty related to the functional 7t^. This decision-making strategy is relevant only if it is possible to produce a series of equiprobable solutions <S(u, u^-) called simulations honoring the two following fundamental constraints: • Each simulation S(u,u}j) honors all the data. • Each simulation S(u,u>j) has a local behavior deemed compatible with an a priori knowledge of the "style" of local variations for the entity to be modeled. In this approach, each solution <S(u, u/j) appears as a realization of a random model <S(u,a;) also called a "stochastic simulator"3 or, more simply, a "simulator." Despite the many possible stochastic methods [215, 58, 94, 45] that can be used for building such random models, they are of practical interest only if they can produce a large number of equiprobable solutions at low CPU and memory cost.
9.2
Probabilities in a nutshell
This section briefly introduces the minimum notions of probability required for an understanding of the models presented in the next sections. For an extensive presentation of the probability theory, the reader is referred to [78, 101, 139]. For simplicity's sake, mathematical details such as "measurability" or "integrability" of functions or "completeness" of <j-algebras will not be addressed. In other words, it will be assumed that all the necessary subtle mathematical conditions needed for ensuring the validity of the concepts presented in this chapter are implicitly honored if not explicitly mentioned.
9.2.1 1 Notion of Probabilized Space In probability theory, a Probabilized Space consists of any triplet (15, A, P} where: 3
These "stochastic" simulators should not be confused with "flow" simulators used in the oil and gas industry.
446
CHAPTER 9. STOCHASTIC
MODELING
• O is the set4 of all the elementary statistical events uj corresponding, for example, to experiments that may be performed in the context of the problem to be considered. • A is a a-algebra on IS, that is a family of subsets of 13 stable for the union and the intersection:
Any subset A belonging to A is called an event. • IP is a, probability denned on A that is an application from A to [0,1] such that
• The two following notations are traditionally used for the probability of an event A £ A:
For any pair (A, B) of parts of A such that IP(B] ^ 0, the probability of A "conditioned" by B is noted as JP(A\B} and defined as follows:
This conditional probability JP(A\B} represents the probability that any event u) belongs to A when it is already known that uj belongs to B.
9.2.2
Notion of a Random Variable
An application Z from 13 to the real parametric space 1R is said to be a Random Variable, (RV), relative to (15, A, P} if, and only if, for any interval ]a, b] of IR there is an event A(a, b] € A such that The notion of expected value E(Z), also called the mean, is defined as the average (if it exists) of the values of Z on 15 weighted by the probability distribution JP:
4 Traditionally, in books dedicated to probability theory, this set is noted as £7. In this book, it was decided to note it as 13 to avoid confusion with the set of nodes £1 used in the Discrete Smooth Interpolation theory (see section (1.2)).
9.2. PROBABILITIES
IN A NUTSHELL
447
Figure 9.2 An example of a one-dimensional cdf function Fz(z) and its associated 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
By definition, the square root o~z of a\ is called a "standard deviation" of Z, and it is said that
For any RV Z, there is a Cumulative Distribution Function (cdf) sometimes called the "law" of Z, defined on TR as
From the definition of JP, it is easy to infer the following properties for any cdf:
When FZ(Z) is derivable relative to z, its derivative
is a nonnegative function called the Probability Distribution Function (pdf) of Z. Figure (9.2) shows an example of cdf and its associated pdf. It can be shown that, for any function5 g ( z ) , the following formula called the formula of transfer is valid:
5
Strictly speaking, any A-measumble function, see [101].
448
CHAPTER 9. STOCHASTIC MODELING
This implies that, if f z ( z ) exists, the mean mz and the variance a\ can be computed according to the following formulae:
If FZ(Z) is not derivable, then a formula similar to equations (9.6) and (9.7) can be obtained using the Stieljes-Lebesgue integrals (see [15]):
The most simple example of RV is the (binary) indicator Random Variable Z = I A associated with an event A of A defined as
The following straightforward relation always holds for any indicator RV I A '• Moreover, it can be shown that any RV Z can be approximated by a weighted sum of indicator Random Variables:
In this sum, {zi} represents a series of real values, while the events {Ai} are assumed to realize a partition of 13.
9.2.3
Some useful examples of RV's
Uniform Random Variable Let [a, b] be an interval on JR. An RV Z is said to be "uniform" on [a, b] if its cdf is such that
It can be checked that the associated pdf f z ( z ) is such that
9.2. PROBABILITIES IN A NUTSHELL
449
This RV is fully defined by the two parameters a and b or, equivalently, by its mean and variance, which are
The inverse function U~l(p\a, b) is a linear function of p G [0,1]: Moreover, the cdf FX (z) of any continuous Random Variable X can be roughly approximated as follows by a uniform law having the same mean mx and the same variance a\ as X:
Similarly, the inverse function Fxl(p) can be roughly approximated by
Gaussian Random Variable Let m be a real number and a2 be a positive real number. An RV Z is said to be "Gaussian" or "normal" if its cdf is such that
The associated pdf fz(z) is
This RV is fully defined by its mean and its variance
Useful precise numerical approximations of Fz(z] and F^l(p) can be found in [1]. Degenerated Random Variable Let m be a real number. An RV Z is said to be "degenerated" if its cdf is a Heaviside function, as denned by
Note that the degenerated cdf Ti.(z\m) can be viewed as the limit of a normal cdf J\f(z\m, cr2) when the variance cr2 tends toward zero:
It can also be viewed as the limit of the uniform cdf U(z\a, b) when a and b tend simultaneously toward m:
450
CHAPTER 9. STOCHASTIC
9.2.4
MODELING
Score-transform theorem
A famous theorem called the score-transform theorem states that the two following relationships are always true: • For any RV X, the transform U = Fx(X) is such that
where U(u\0,1) is the uniform cdf on [0,1]. The RV U = F X ( X ) so denned is called the uniform transform of the RV X. • Conversely, if U is an RV uniformly distributed on [0,1], then, for any continuous cdf F, the following implication is true:
From equations (9.16) and (9.17), the "score-transform formula" can be deduced in a straightforward way:
Proof
According to equation (9.5):
Applications • The property (9.17)
9.2. PROBABILITIES
IN A NUTSHELL
451
is of particular interest in simulation when an RV Z having a given cdf F(z] has to be generated. In such a case, using a random number generator able to simulate a uniform RV U allows Z to be defined as Z = F^1 (U). For an example of the use of this property, refer to section (9.6). • More generally, the score-transform formula shows that any RV X can be transformed into a RV Z having any type of predefined continuous cdf F. For an example of the use of this property, refer to section (9.3.5).
9.2.5
Notion of a vectorial Random Variable
The case of a pair (Zi, Z%} of Random Variables Consider a pair of RV's (Zi,Z 2 ). These two RV's can be considered as the components of a column matrix or vector Z:
Such an application from U to JR is called a "bivariate" RV. When they exist, the mean value mz and the covariance matrix [Czz] are defined as
In the matrix [Czz], each term Cz.z. is called the covariance of the pair (Zi, Zj] and is defined by
Note that the variance cr|. defined by equation (9.4) is such that
The notion of cumulative distribution function is generalized to M2 by the following formula:
From the definition (9.1) of JP, it can be shown that any bivariate cdf z zF has the following properties:
When FZiZ2(zi,Z2) is derivable, its derivative
452
CHAPTER 9. STOCHASTIC MODELING
is a nonnegative function called the Probability Distribution Function (pdf) of the vector Z. The above definitions imply the following relations where fz (z\) and fz (22) are called the "marginal" pdf functions relative to z\ and £2, respectively:
Similarly to the one dimensional case, it can be shown that, for any function 9(zi, zz], the following formula of transfer is valid:
Generalization Let us consider a family {Zi,Z%,..., ZN} composed of N RV's indexed by an integer index i G [1, N]. These RV's can be considered as the components of a column matrix Z: Such an application Z from 13 to MN is called a vectorial RV. When they exist, the mean value mz and the covariance matrix [Czz] are denned by
Note that [Czz] is symmetrical because CZiZ. = Cz.z.. Moreover, any linear combination of the components of Z is a (scalar) RV Y which can be written as
It can easily be checked that the variance dy of that linear combination is then a quadratic form:
This implies that any covariance matrix [Czz] is always semipositive definite. Multivariate Gaussian Random Variable By definition, a Random Variable Z = [Zi,..., ZN]* with a mean value mz and a covariance matrix [Czz] is said to be a "multivariate Gaussian" variable if its pdf fz(z) is defined by
9.2. PROBABILITIES IN A NUTSHELL
453
In practice, multivariate Gaussian Random Variables are characterized by the following properties: • any submatrix of Z is also a multivariate Gaussian Random Variable; • any linear combination of the components of Z is a one-dimensional Gaussian Random Variable; • the components of Z are independent6 if, and only if, [Czz] is diagonal, that is, CziZj = 0 for all i ^ j ; and • for any partition of Z into two submatrices Z — [X, Y], the conditional distribution7 f y / x ( y \ x ) of Y when X = x is fixed is multivariate Gaussian.
9.2.6 Notion of independence Definitions • Two events Ai and Aj are said to be .^-independent or, more simply independent, if the following relation holds true:
According to equation (9.2), the independence of Ai and Aj can also be defined as follows: {Ai independent of A j }
• By definition, two RV's Zi and Zj are said to be independent if the events Ai and Aj
are independent for any a$ G 1R and any a,j G M. Characterization of independent RV's Let us first observe that
As a consequence, the following characteristic property can be deduced from the definition of the independence of two RV's: { Zi independent of Zj } 6 See 7
section (9.2.6). See [139, 78, 159] for a formal definition of the notion of conditional distribution.
454
CHAPTER 9. STOCHASTIC
MODELING
If FZ^J (zii zj) is derivable relative to Zi and Zj, then it can be deduced that, for any pair (zi, Zj\ the following properties also hold true: { Zi independent of Zj }
Moreover, if Zi — 1^ and Zj = IA^ are two indicator Random Variables (see definition (9.9)), then the following property is a straightforward consequence of the definitions (9.3) and (9.21): { Zi independent of Zj
From equation (9.10), it can be deduced that this property is also true in the general case where Zi and/or Zj are not indicator Random Variables. Transformation of independent RV's The following property is true for any pair {gi(z),gj(z)} of ordinary functions:8 { Zi independent of Zj }
•<=>•
{ §i(Zi) independent of gj(Zj) }
(9.24)
In this case, the Random Variables {Zi, Zj} are said to be "pairwise independent." More generally, a series of n Random Variables {Zi,..., Zn} is said to be stochastically independent if, for any series {gi,..., gn} of ordinary functions, the following equality holds: E{
5l (Zi) •92(Z2)
• • • gn(Zn) }
=
E{g1(Zl)} • E{g2(Z2)} • • • E{gn(Zn)} (9.25)
Warnings • Pairwise independence for all i ^ j as defined by equation (9.24) does not implies the independence of the series {Zi,.. .,Zn} as defined by equation (9.25). • Care must be taken not to confuse the shape of cumulative distribution functions with the behavior of the associated RV's. There is no relationship between the shape of two cumulative distribution functions and the fact that the corresponding RV's are, or are not, independent:
In fact, it is possible for two independent RV's to have exactly the same cdf. Central limit theorem Let {Zi, ^2,...} be a series of Random Variables and let SN be the associated Random Variable, as defined by
8
In fact, gi(z) and gj(z) have to be measurable (see [101]).
9.2. PROBABILITIES IN A NUTSHELL
455
Figure 9.3 Random sampling of 15: to each N-sampling u>* € 13* there corresponds 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 certainly the most famous theorem in the field of probability and statistics. In a way, this theorem justifies the "central" role played by Gaussian Random Variables in the field of statistics whenever Random Variables are interpreted as sums of independent errors.
9.2.7
Random sampling
By definition, any series of N realizations of a Random Variable Z defined on (U, A, IP] and observed during an experiment a;* is called an "JV-sampling" of Z:
In practice, the set of elementary statistical events U(u;*) should be chosen in a "random way" in 0 with the hope that it will be as representative as possible of 15. This leads to the concept of "equiprobable realization" of a Random Variable or a random function. The main purpose of this chapter (see page 443) is precisely to generate such "equiprobable realizations," and, 9
Note that there is no other condition.
456
CHAPTER 9. STOCHASTIC MODELING
as such, it is worthwhile to define this concept mathematically rather than to rely merely on intuition. In this section, after an intuitive introduction, a formal definition of the notion of "random sampling" is proposed that is at the origin of the notion of "mathematical statistics." Prom a practical point of view, we will also show how such samplings can be generated on a computer. Random sampling of 13: an intuitive definition As suggested in figure (9.3), let us consider a domain 13 corresponding to a part of a geological map where a (potentially) infinite set 13* of companies simultaneously and independently of each other decide to drill N wells.10 The triplet (13, A, IP) can always be defined as the Probabilized Space associated with the domain 13 in such way that A contains all the parts11 of 13, while JP is defined by12 Accordingly, a series of N well locations {a>i(u;*),.. .,u;jv(<*>*)} can be associated with each company ui* G 13*. Intuitively, it can be said that these well locations constitute a "random sampling" of 13 when the two following conditions are honored: 1) the number of companies that have chosen to install their ith well u>i(u*) on any given part A of 13 is proportional to the area of A, that is, IP (A), 2) for any subset A of 13, the fact of installing the ith well uji(u*) on A has no influence on the possibility of drilling other wells on the same subset.
The next section proposes a formalization of this notion of random sampling. Random sampling of 13: A formal definition Let (13, A, IP) be a first Probabilized Space and let (13*, A*, IP*) be a second Probabilized Space called the "space of samplings." On the other hand, let {13(uj*) : cu* e 13*} be a family of discrete subsets of 13 defined as follows:
By definition, it will be said that {13(u*) : LJ* e 13*} is a "random sampling" of 13 if the Probabilized Space of samplings (13*, A*, IP*) has been chosen in function of (13, A, IP) in such a way that the two following properties similar to (9.26) conditions are honored:
10
For example, to measure the depth Z(uj) of a given horizon denned on 13. Such cr-algebra is called the "Lebesgue"
11
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 random sampling of 15 associated with (£5*,.4*, JP*). On the other hand, and as suggested in figure (9.3), let {Z*,..., Z^} be the series of Random Variables denned as follows on (0*, A*, IP*):
By definition, {Z±,..., Z^} is called a "random Af-sampling of Z" and each series of values {Z*(u*},..., Z~^(uj*}} is called a "realization" of this Nsampling. It will also be said that are independent realizations of Z
As a direct consequence of (9.5), (9.21), (9.22), and (9.27), it can be shown that
where FZ*(Z) and FZ(Z) are the cdf's of Z* and Z, respectively. Notion of statistic By definition, a "statistic" on Z is any Random Variable T* denned on (0*, .4*, IP*) as a (measurable) function of an TV-sampling of Z:
Among the most classic statistics, one can mention the notions of "experimental mean" M| N and "experimental variance" V£ N, as defined by
Using properties (9.29), it can easily be shown that
458
CHAPTER 9. STOCHASTIC MODELING
When N tends toward infinity, it is also possible to show (e.g., [84]) that M£ N and YZ N tend toward the mean and the variance of Z, respectively:
For any pair of RV's X and Y", the "experimental covariance" C\y N is also defined as
As with the properties of the experimental variance, it can be shown that
Construction of a random sampling of 13 = [0,1] One of the many different procedures traditionally used in computer science for generating a random sampling of 15 = [0,1] is presented in this section. For this purpose, recall first that, on a 32-bit computer, the maximum positive integer that one can represent is equal to M = (231 — 1) and then consider the following Probabilized Spaces:13 (15, A, IP) and (0*,,4*,7P*) U
=
[0,1]
U*
=
{u* e JN+ : u* < M}
A
=
Lebesgue
A*
=
cr-algebra of the parts of 15*
]P(A}
= \A\/\15\ VAeA
JP*(A*)
=
\A*\/\V*\ V A* e A* (9.30)
For each w* e 15*, let 15(a;*) = {tt>i(u;*),.. .,a;jv(k>*)} be the series consisting of N real numbers, defined as follows,14 on O = [0,1]:
It can be shown that the series 15(a;*) so defined has a period equal to15 (M — l)/2 and, as long as N is lower than this period, experimental tests have shown that, for any segment Ac [0,1] 1. the number of points Ui(u)*) belonging to A is proportional to the length of A, that is to say, to JP(A), and 2. the number of points uJi(ui*) belonging to A has no influence on the possibility that U>J(LL)*) may also belong to A.
In other words, 15(u*) honors conditions similar to conditions (9.26) and, as a consequence, can be considered as a random sample of 0 = [0,1]. 13
The notation IV+ represents the set of the positive integers. 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]). 14
9.3.
RANDOM FUNCTIONS
459
Construction of a random sampling of an RV Let us now consider the Random Variable U(uj} denned as follows on the Probabilized Space (£5, .4, IP], itself denned according to equations (9.30):
According to equations (9.30), it can be observed that U is uniformly distributed on the segment 13 = [0,1]:
As a consequence, according to the score-transform theorem, it is possible to generate a random sampling of any Random Variable Z having a given cdf FZ as follows:
Fundamental hypothesis: Random sampling For practical reasons, only one set 0(u;*) is generally available. Consequently, all that has been said up to now in section (9.2.7) is only a theoretical framework: in practical applications, it is necessary to use a fundamental hypothesis that assumes that the only available sampling U(o;*) of 13 is, in fact, a random sampling. Therefore, throughout the remainder of this book, for simplicity's sake, the event u;* will systematically be omitted in the notations. Moreover, it will be implicitly assumed that the events
are "well enough" distributed on 15 for it to be said that • the set {u>i,.. .,UN} is a random TV-sampling of O, and • the set { Z ( u j i ) , . . . , Z(U>N)} is a random TV-sampling of Z.
9.3 9.3.1
Random Functions Definitions
Let £ be a normed linear vector space (see [141]) associated with a norm noted as • | assumed to define the distance between points of 8: =
distance between Ui and 112
Let us consider a family Z = {Zu : u e D} composed of RV's indexed by a variable u with values in a region D of 8. In practical applications, 8 is often a "parametric" non-Euclidean curved space having a finite dimension p generally equal to 1, 2, or 3: • if D is a part of a curve (e.g., a well-path), then p = 1;
460
CHAPTER 9. STOCHASTIC MODELING • if D is a part of a curved surface (e.g., a horizon), then p = 2; and • if D is a part of a solid (e.g., a layer), then p = 3.
If all of the RV's in the family Z — {Z\\ : u 6 D} are defined on the same Probabilized Space (0,^4, JP), then this family is called a Random Function (RF). From a practical point of view, the three following different notations for the same RF Z are used:
It may be considered that • Z\i(u) is an RV generated by Z(u,o>) at point u G D. • Zu(u) is a function of u generated by Z(u,u>) at elementary event u; e 15.
The most simple example of an RF is the notion of Indicator Random Function Zu = IA(U) associated with an event A(u) of A and which can be written as
The following property is always verified for any indicator RF /A(U) :
Within the framework of this chapter, the following notation will be used for any region D of 8:
In the case where D is a finite set, as usual, \D\ will represent the number of elements of D.
9.3.2
Moments of a Random Function
By definition, any RF Z(u, u;) can be considered either as a function of u or a function of u;. These two points of view are associated with two families of characteristics called "moments" • "statistical moments," also called "moments" when there is no possible ambiguity, are ordinary functions denned by integrals on the variable u;, and • "spatial moments" are RV's or RF's denned by integrals on the spatial variable u.
Statistical moments of an RF The mean value m^(u), the covariance function CZ(VLI, u 2 ), the variance function cr|(u), and the variogram16 7z(ui, 112) of an RF Z = Z(u, a;), when they 16
In the early days of geostatistics, the function 7z( u ii U 2) was called a "semivariogram." Nowadays, the prefix "semi" is no longer used.
9.3. RANDOM FUNCTIONS
461
exist, are ordinary functions, as defined by
By definition,
Most of the time, for simplicity's sake and when there is no possible confusion, the following notations will also be used:
Note that the existence of (7(111,112) implies the existence of 7(111,112), but the reverse is false: C exists 7 exists There is a family of RF's called "stationary" RF's that are of particular interest in practical applications; this notion of stationarity [62, 156, 157] is defined as follows:
When Z — Z(u,cu) is order 2 stationary, then it is easily verifiable that its variogram 7(11, u + h) exists, is also stationary, and is such that
Spatial moments of an RF
Any RF is a function of two variables, uo and u, and some (statistical) moments relative to the variable LU were presented in the section above. Similarly, it is possible to define moments relative to the variable u, called "spatial moment:" • where they exist, the spatial mean value ms(u>) and the spatial variance crs2(o;) of an RF Z(u,uj) are ordinary RV's defined as
462
CHAPTER 9. STOCHASTIC MODELING • where they exist, the spatial covariance Cs(h, u>) and the spatial variogram 7s (h, u;) of an RF are RF's, as defined by
Ergodicity From a practical point of view, to make computing possible, it is almost always necessary to use a "magic" property specific to RF's called ergodicity. This amounts to assuming that statistical moments and spatial moments can be identified: • An RF Z is said to be order 1 ergodic if it is already order 1 stationary and if, when \D\ tends toward infinity in equation (9.34), the following property holds true for the mean value of Z:
• An RF Z is said to be order 2 ergodic if it is already order 2 stationary and if, when |D(h)| tends toward infinity in equation (9.35), the following property holds true for the covariance of Z
or, similarly, if:
Note that the above definitions of ergodicity can be slightly weakened in the following sense: • An RF Z is said to be order 1 weakly ergodic if it is already order 1 stationary and if, when D\ tends toward infinity in equation (9.34), the following property holds true for the mean value of Z:
• An RF Z is said to be order 2 weakly ergodic if it is already order 2 stationary and if, when |Z?(h)| tends toward infinity in equation (9.35), the following property holds true for the covariance of Z
or, similarly, if
9.3. RANDOM FUNCTIONS
463
Ergodicity viewed as a model For practical reasons, in Computer-Aided design, one traditionally chooses to use spline functions, for example, to model parametric curves and surfaces. This does not means that all the parametric curves and surfaces in the universe are spline functions. This simply means that parametric curves and surfaces can be fairly well approximated by spline functions, which, in turn, can be efficiently implemented in computerized models. Similarly, in practical applications, one traditionally chooses to use ergodic RF's to model the behavior of stochastic phenomena. This does not mean that all stochastic phenomena in the universe are ergodic. This simply mean that ergodic models can fairly well approximate the behavior of stochastic phenomena and, in addition, allow mean and covariance functions to be estimated from partial observations of these phenomena.
9.3.3 Modeling C(ui, u 2 ) Posit ivity Let us consider a finite set D* consisting of N sampling points that belong to the parametric domain D:
For any such sampling, there is an associated vectorial RV Z deduced from the RF Zu(w) = Z(u,aj) in such a way that
This implies that the associated covariance matrix [Czz] is such that
It has been shown (see equation (9.19)) that any covariance matrix must be semipositive definite and this must be true for the above matrix whatever the number N of sampling points {iij}. This suggests the following definition: A function C(ui,u 2 ) will be said to be "semipositive definite" if, and only if, any matrix [Czz] deduced from (7(111,112) according to the above schema is semipositive definite. This definition characterizes the covariance functions and it will be said that A function G(UI, u 2 ) is a covariance function if, and only if, it is semipositive definite.
464
CHAPTER 9. STOCHASTIC MODELING
Bochner's famous theorem [62, 159] characterizes the family of stationary covariance functions: Any continuous stationary covariance function C(h) is proportional to the Fourier Transform of a symmetrical pdf /(s):
In the above expression, (s-h) represents the scalar product of vectors s and h of the ^-dimensional parametric space E = 1RP, while i is the pure imaginary number equal to \/—T. In practical applications, this theorem is extremely useful for building models of covariance functions that fit the observed data. One-dimensional covariance functions If p = 1, then, using the Bochner theorem, it can be shown that the following functions are proportional to the Fourier transform of symmetrical pdf: • Gaussian model • Exponential model
• Spherical model
• Nugget-effect model
Note that the above covariance models are normalized in such a way that (7(h) ~ 0 as soon as h > 1. ^-dimensional covariance functions Let us consider the quadratic form D 2 (h) as defined by where [R2] is a given symmetrical positive definite matrix called the "range matrix." Let 1Z(R2) be the associated set of vectors of 7RP, as defined by In the Mp parametric space, 7i(R2} is an ellipsoid called the "range ellipsoid" such that
9.3. RANDOM FUNCTIONS
465
It can be observed that the one-dimensional covariance functions cov\(s) denned in the previous section are such that
This suggests the following definition of the ^-dimensional covariance functions for all h belonging to £ = JRP:
According to equations (9.44) and (9.45), it can be concluded that the range ellipsoid split the Mp parametric space in two regions such that
figure (9.5) shows an example of such an ellipsoid in a curved 3-dimensional parametric space 8 = 1R consisting of a stratigraphic grid: due to the curvature of the stratigraphic grid and the faults, when observed from the (x, y, z]embedding Euclidean space, the ellipsoid appears deformed and cut. Nested covariance functions Let us consider a series of independent, centered random functions
and let Z(u, u;) be the associated random function, as denned by
Noting the covariance function of Z(u, uS) as C(h) and the covariance function of Zi(u,uj) as Ci(h), it is easy to check that
In other words, the sum of several covariance functions is still a valid covariance 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 experimental values computed from the observed data.
466
CHAPTER 9. STOCHASTIC MODELING
Figure 9.4 Modeling a variogram from its associated experimental variogram cloud.
9.3.4
Modeling 7(h)
From covariance function to variogram In practical applications, the second-order stationarity of the random functions to be studied is usually assumed as an a priori model. In this case, according to equation (9.33), the notion of variogram is exactly equivalent to that of covariance function:
However, in the geostatistical community, the notion of variogram is generally preferred to that of covariance functions for the two following main reasons: • From a practical point of view, the variogram interpretation is more intuitive than that of a covariance function: 27(h) is the average of the square difference between Z(u, •) and Z(u + h, •). • From a theoretical point of view, as opposed to the covariance function, the variogram does not depend on the mean value of the associated random function. As a consequence, there is no need for this mean to be estimated. Moreover, from equation (9.48) and as suggested in figure (9.4), it can observed that • the behavior of 7(h) for small values of h defines the nugget effect if any:
• if 7(h) tends toward a plateau called the "sill" when h is large, then this sill is equal to C*(0):
• the value r of h where 7(h) reaches the sill is equal to the range (see equations (9.42) and (9.46)):
9.3. RANDOM FUNCTIONS
467
Estimating a variogram: one-dimensional case In practice, it is possible to estimate the variogram of a random function Z(u, (jj) under the two following (sufficient but not necessary) conditions: • Z(u,cj) is a second-order stationary ergodic RF, and • Z(ui,uj) = z(ui) is known on a finite set D* = {ui,.. .,UAT} of data points belonging to the domain of definition D. In this case, equation (9.38) can be numerically approximated17 by a finite sum with the following form
where D*(h) represents the subset of D* consisting of points u^ such that (ui +h) belongs to D*. However, there is a major drawback in this equation: if the data points are sampled randomly in D, then there are few chances for (ui + h) to belong to D* and z(\ii + h) is then unknown. Several practical strategies have been implemented to overcome this difficulty [111, 58, 224]; the simplest is to replace z(iij + h) by the value z*(\ii +h), defined as follows, where u^1 is the closest point to (u^ + h) in D*:
As suggested in figure (9.4), if 8 is a 1-dimensional parametric space, the variogram cloud is defined as the set of points {hj, \z(ui] — z*(\ii + h-,)| 2 /2} and the "experimental" variogram has an equation chosen to fit as much as possible this set of points. Estimating a variogram: p-dimensional case Most of the time, in the geosciences, 3-dimensional variograms are used and, as suggested in figure (9.5), it is common practice to proceed as follows: • Build the one-dimensional variogram clouds associated with a series of given predefined directions in ]R3. • Choose a 3-dimensional variogram model and adjust interactively its range and nugget effect, if any, to fit, in a least square sense, the one-dimensional clouds in all of the predefined directions. For example, figure (9.5) shows the control panel corresponding to the "variogram analyzer" proposed by GQCAD for estimating a 3-dimensional variogram in the parametric curvilinear space corresponding to a stratigraphic grid. 17 This estimation is biased if the points Uj are clustered and it may be necessary to use a "declustering" technique (see [168]). Nevertheless in practice, this approximation is generally considered acceptable for small h.
468
CHAPTER 9. STOCHASTIC
MODELING
Figure 9.5 Graphical user interface of a 3D-variogram analyzer. The well data, with the faulted regular curvilinear 3-grid covering the studied domain in the (x, y, z) "geologic" space, are mapped onto a unit cube in the (11, v, w) parametric space. In the parametric space, faults vanish and ID-variograms are adjusted in some selected directions. These ID-variograms are then used for adjusting a range ellipsoid and a 3D-variogram that respects a chosen theoretical variogram model specified in the "control panel."
9.3.5
Cdf s of an RF
As in the case of the moments of an RF Z(u, w), each of the variables u and u> induces a specific definition of the notion of cumulative distribution function (cdf): • when u is fixed, the distribution of the values z = Z(u, o>) is characterized by a "statistical" cdf or, more simply, the "cdf" at location u; • when o> is fixed, the distribution of the values z = Z(u, o>) is characterized by a "spatial" cdf.
Statistical cdf If u is fixed in D, then Z(u, a;) becomes an ordinary RV Z\^(uj} — Z(u, u)) with a statistical cdf FZU(Z) that is an ordinary function -F"z(u; z) of the variable z G JR defined as
Similarly, if two points ui and 112 are fixed in D, then the RF Z(u, a;) induces two RV's Zu! and Z\i2 having a joint cdf FZiZ2(zi, z^) that is an ordinary
9.3. RANDOM FUNCTIONS
469
function FZ(UI, 112; ^1,^2) of the variables z\ € JR and z-2 6 JR denned as
More generally, for any set of sampling points (ui,..., UTV}, it is possible to define the joint cdf FZ(UI, ..., ujv; ^i, • • . , ZN) in a similar way. The derivatives of these functions, when they exist, are called the pdf of the RF:
If H(s] represents Heaviside's step function denned by
then it can be written:18
The definitions of spatial cdf s presented in the next section are directly inspired 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 defined 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, respectively, equations (9.50) and (9.51) can be used as follows for approximating both the statistical and spatial cdf's of Z(u, a;):
There are two cases to be considered: • There are a few situations where 13* contains more than one statistical event: for example, in meteorology when Z(\ii,Uj) represents the temperature observed at location Ui at time ujj. In this case, both the statistical and the spatial cdf's can be estimated reasonably well thanks to the above expressions. • Most of the time, 13* is reduced to one statistical event WQ meaning that all that can be done is to estimate the spatial cdf FZ(WQ; z) associated with this unique statistical event. In this case, it is common practice to assume ergodicity (see page 462) to identify the statistical and spatial cdf's:
Whatever the case, the raw approximations F£(u^; z) and F^(ujj] z) are typically replaced by smooth parametric equations FZ(U; z) and Fg(u); z) approximating FZ(UJ; z) and F^*(UJJ;Z). Normal score-transform Let FZ(U', z) be the cdf of a random function Z(u,u). By definition: • the "normal score-transform," noted as $z(u;z), is the function associated with Z(u, a;) and denned by
where N(x 0,1) is the cdf of the centered and normalized Gaussian law (see definition (9.14)). 19 In practice, this may not be the case: in geology, the observed data are often clustered on well-paths or seismic lines, and it may be necessary to apply a "declustering" technique.
9.3. RANDOM FUNCTIONS
471
• the "normal score" of Z(u,o>), expressed as Z(u, o>), is the random function, as denned by
According to the score-transform theorem (see equation (9.18)), F^(u;z) is indeed a centered and normalized Gaussian law:
Due to the very congenial properties of the multivariate Gaussian Random Variables mentioned on page 452, it is common geostatistical practice to proceed as follows: 1. Estimate FZ(U;Z) from the sampled data {Z(ui,uij)} (see preceding section) and build the associated normal score-transform $z(u; 2), 2. Transform all the sampled data {Z(\ii,Uj)} into their normal score:
3. Assume that {Z(ui,o;j)} are a sample of a multivariate Gaussian random function Z(u, u;), 4. Take advantage of the properties of the multivariate Gaussian Random Variables (see page 452) for realizing some operation CL on Z(u,u>):
5. Back transform the result:
Section (9.7.5) shows an example of this strategy. 9.3.6
Tutorial examples
The "pool" example In figure (9.6), Z(u, uj) is the height of water observed at point u of a swimming pool on a time uo. In this case: • 15 =]Ti,T 2 ] is the period of time during which the surface of the water was under observation. • A is the family of all the periods of time A =]£i, £2] contained in O. • IP is denned as
472
CHAPTER 9. STOCHASTIC
MODELING
Figure 9.6 The "pool" example: the space parameter u = [x, y]* corresponds to a point on the bottom of the pool, while Z(u, u;) corresponds to the height of the water observed on date ui at location u. The function Fz(u; z) represents the cdf of the height of the water at location u. • D is the part of the (x, y) plane corresponding to the bottom of the swimming pool and u is defined as
For reasons such as wind, the surface of the water is not horizontal and changes at any time u; € O. If the volume of water is constant, then it makes sense to consider Z(u, a;) as order 1 and 2 stationary ergodic. The roles of a; and u are very clear: • If u = UQ is fixed, for example, by installing a deepmeter at some location 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 expected value ra(uo) = E(Z\i0} is equal to the mean through time:
If the volume of water is constant, it seems reasonable to consider that m(u) does not depend on u, and that Z(u, o>) is order 1 stationary:
• If (jj = LJQ is fixed, for example, by taking a snapshot of the surface of the water at a given date UQ € 15, then Z Wo ( u ) = Z(U,UQ) appears as an ordinary function describing the surface of the water on date UJQ.
9.3. RANDOM FUNCTIONS
473
Figure 9.7 Comparison of the "pool" and "linen" examples. Let ms(ujQ} be the spatial mean value on date UQ defined as
If the volume of water is constant and if m(u) = ra does not depend on u, then it seems reasonable to consider that m s (cjo) does not depend on UJQ and to assume that Z(u, a;) is ergodic so that
The "linen" example
Let us now imagine that the water is removed from the pool of our previous example and the surface of the water is replaced by a piece of linen covering the domain D. To constrain the linen to behave like the water's surface, the following procedure is proposed: • Install vertical poles located at a set D* consisting of N sampling points ( u i , . . . , Ujv} belonging to the domain D. Each pole has a different given length and the linen is fixed at the top of each pole with a pin; • Install a set of electric fans above and below the linen so that the shape of the linen can be modified through time. By so doing, the linen can be considered as an RF Z(u, a;) exactly like the surface of the water in the case of the pool example. However, as can be seen in figure (9.7), there is an important difference: the RF Z(u,o;) is now constrained at the TV points {u^} and degenerates into deterministic values {z(ui)} at these points. Consequently, the cdf FZu_(z) at a point u^, where
474
CHAPTER 9. STOCHASTIC MODELING
Z(u,u>) is constrained to be equal to the length z(ui) of the corresponding pole, degenerates into a step function such that
Stochastic blending of ordinary functions Let {/i(u),..., / n (u)} be a series of ordinary functions where u is a vector of a parametric space t = Mp and let {/?o(u;),..., /?n(u;)} be an associated series of "blending" Random Variables defined on a probabilized space (15, A, IP). Prom these two series, it is always possible to build an RF 2T(u, a;) defined as follows:
This example is at the origin of a very important family of RF's called "Random Fourier Series" and presented in the next section. We will see also in section (9.8) how such stochastic blendings of ordinary functions can be used for generating RF's honoring a given mean and a given variogram.
9.4
Random Fourier Series
It is well known (e.g., [15]) that any periodic integrable function z(u) having a period equal to 2?r on 1R can be approximated by a Fourier Series z(u) as defined by
where the coefficients {zf,} and {z%.} are such that
This suggests that any random function Z(u,u;) whose realizations are periodic integrable functions of u on [0,2?r] can be approximated by a Random Fourier Series (RFS) Z(u,u) defined as
475
9.4. RANDOM FOURIER SERIES where the Random Variables {Z£(u;)} and (Z^(cj)} are such that
Let us assume that Z(w, a;) is a centered Gaussian second-order stationary random function with known mean and covariance: Z(u,u>)
is a Gaussian Random Variable V u
with:
The next section addresses the problem of building the Random Variables {Z^(uj}} and {Zf,(<jj}} in such a way that Z(u, u>)
is a Gaussian Random Variable
Vu
with:
It will also be shown how the decomposition (9.54) can be generalized when u is a vector of IRP.
9.4.1
Building a stationary one-dimensional RFS
Let {Z}.,Zf. : k = 0,1,..., K — 1} be a family of independent Random Variables such that
Let us now consider the periodic random function Z(u,u} denned as follows for any value of the parametric space variable u e [0, 2?r]:
From properties (9.56), it can be deduced that the mean value and the Covariance function of Z(w, a;) must be such that
476
CHAPTER 9. STOCHASTIC MODELING
In other words, Z(u, uj} is a centered second-order stationary random function having a stationary covariance function C^(h) as defined by
where h represents a lag in the range [—2?r, +2yr]. The only parameters denning Z ( u , u j ) are the coefficients {cr2,} and the degree K of the polynomials used in equations (9.56) and (9.57). In practice, the coefficients {cr2} are chosen to have
where cov(h) is a given "target" one-dimensional stationary covariance function (see page 464) assumed to capture the "style"20 of the random function Z(u,u}) to be built. Comparing equations (9.58) and (9.60) enables us to write
This suggests [144] interpolating the given function cov(h) by the trigonometric polynomial {^fcJo afc ' cos(kh)}- For example, if we choose to interpolate the series of points {hj} belonging to ]0, TT] such that
then, for any21 pair of integers p and q lower or equal to K — 1, the following orthogonality relationships hold true (see [129]):
From these, the following values22 for {cr2} can be deduced
where the family of functions >#(&, h] are defined by
20
See section (9.4.6) 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. 21
9.4. RANDOM FOURIER SERIES
477
It can be shown that these values (a)?} are always positive provided that the given covariance function cov(h) honors the two following conditions:
From equations (9.61) and (9.62), we can also deduce that
The parameters defining the one-dimensional random function Z(u,uj} presented above are now reduced to the degree K and the covariance function cov(h) of the trigonometric polynomial Z(u,uo}. In practice, these parameters can be chosen as follows: • The covariance function cov(h) is assumed to depend only on a "range"23 parameter R, which is determined from a "prior" knowledge of the "style"24 of the random function Z(u,u). As shown in figure (9.8), — a short range, typically R < ^5, yields an erratic style for the random function Z(ii,u;), and — a large range, typically R > 77, yields a smooth style for the random function Z(u, uj).
• Degree K of the polynomial must be large enough to obtain a good approximation of equation (9.61). For this purpose, the following strategy inspired by equation (9.64) can be used: — choose a large value for K, say, K > 30, — choose a percentage p, say, p = 80%, and determine the smallest set /C of indexes such that
— restrict the sum (9.57) to the set /C: small coefficients {crj.} can be disregarded without having to recompute25 the remaining coefficients. 23 The range of cov(h} is equal to the distance h beyond which cov(h] can be considered as equal to zero. 24 See section (9.4.6) 25 This is a consequence of the orthogonality relationships (9.62).
478
CHAPTER 9. STOCHASTIC MODELING
9.4.2
Building a stationary p-dimensional RFS
Let u and {/i,..., fp} be a p-dimensional vector and a series of p letters "c" or "s," respectively such that
and let Z^ 1 '"^(u, u;) be an associated family of random functions, as denned by
Using these notations, it is easy to extend the one-dimensional random function generator presented in the above section to obtain a p-dimensional random function generator. For this purpose, the random function Z(u,u)) is denned by
where the random functions Z% (u, u;) and Z| (u, LJ) are themselves defined recursively as follows:
If the Random Variables {Z^" ^{uj}} are assumed to be independent26 such that
26
See the definition on page 453.
9.4. RANDOM FOURIER SERIES
479
then, for all u £ [0, 27r]p, it is verifiable that the mean value and the covariance function of Z(u,u)) are such that
where {/i 1 ,..., hp} are the components of h in the parametric space:
In other words, Z(u, a;) is a centered second-order stationary random function whose stationary covariance function C^(h) is defined by
where h represents a lag in the [—2yr, +2yr]p domain. Once again, the parameters defining Z(u, u] are the coefficients {cr2^ k } and the degrees {Ki,.. .,KP} of the polynomials used in equations (9.65), (9.66) and (9.67). In practice, just as in the one-dimensional case, the coefficients {crjk k } are determined in such a way that
where cov(h) is a given "target" p-dimensional stationary covariance function assumed to capture the "style"27 of the random function Z^u,a>) to be built. Comparing equations (9.67) and (9.68), we can write
This suggests interpolating the target function cov(h) by a trigonometric polynomial with the following form
where the coefficients {crki k } are determined to honor the equation (9.69) as well as possible. For example, if we choose to interpolate the series of points {hji-.-jp} belonging to ]0, TT]P and defined by
27
See section (9.4.6)
480
CHAPTER 9. STOCHASTIC
MODELING
then, using the functions ^(fc, h) as defined by equation (9.63), we obtain
As in the one-dimensional case, it can be checked that these values {a2 k } are always positive provided that the given covariance function cov(h) honors the two following conditions:28
The only parameters of the p-dimensional random function Z(u, u;) presented above are the degrees {Ki,..., Kp} and the covariance function cov(h) of the trigonometric polynomial Z(u, w). In practice, these parameters can be chosen as follows: • The covariance function ccw(h) is assumed to have the form
where covi(h) is a one-dimensional covariance function (see page 464) and [R2] is a symmetrical positive definite range matrix (see page 464):
As in the one-dimensional case, the range matrix is chosen to fit the "prior" knowledge of the "style"29 of the random function Z(u,a>). • Degrees (Ki,...,Kp) of the polynomial must be large enough to achieve a good approximation of equation (9.69). To this purpose, a strategy similar to the one used for the one-dimensional case (see page 477) can be used. Moreover, to minimize the number of terms in the set /C, a rule of thumb is to perform a rotation of the coordinate system for the components ul of u to become parallel to the iih eigen vector of the range matrix [R2].
9.4.3
Ergodicity
Let us consider the one-dimensional RFS Z(w,u;), as denned by equation
(9.57), and let ra|(u;) and C^(h, u] be the associated spatial mean and spatial covariance functions:
28
This is a sufficient, not a necessary, condition. See section (9.4.6)
29
9.4. RANDOM FOURIER SERIES
481
Using the notations (9.55) and the orthogonality of the sin(-) and cos(-) functions on [0, 2-Tr], it can be shown that
According to equations (9.56),
where m^ and C^(h) are the (statistical) mean and covariance functions of Z(u,(jj\ respectively. From equation (9.33), it can also be deduced that
where 7|(fo) and 7^(/0 are the spatial and statistical variograms of Z(u,u), respectively. This shows that • Z(u,uj) is order 1 weakly ergodic, and • Z(u,u)) is order 2 weakly ergodic. In fact, as soon as the range of C^(h] is less than 3?r/2, it can be observed experimentally that
Similar results can be obtained for the p-dimensional random function Z(u, w), as denned by equation (9.65).
9.4.4
Gaussian behavior: Notion of GRFS ~" f
f
The fact that the Random Variables Zkl" kp used in equations (9.65) and (9.66) to build a RFS Z(u, LJ] are centered implies that Z(u, cu] is a centered random function: Let us assume that, in addition, all the Random Variables Z^" kp have the 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 ~ f
f
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 realizations for Z(u,u)) than spherical and exponential modes.
Moreover, the range matrix (see page 464) of the covariance function defines both • the "pseudo-period" of the realizations (see figure (9.8), and • the anisotropy of the realizations (see figure (9.9)).
9.4. RANDOM FOURIER SERIES
483
Figure 9.9 An example of multiple equiprobable realizations of a two-dimensional P-field on [0, TT] in the case of an anisotropic range ellipsoid (drawn in white) and a Gaussian covariance function. Values close to 0 are coded in light grey while values close to 1 are coded in dark grey.
9.4.6
About the "style" of a Random Function
All through the previous sections of this chapter the term "style" of a random function has been used without giving an exact definition: it was simply stated that this style is controlled by the covariance function. The examples presented in figures (9.8) and (9.9) suggest that the notion of style is composed of three parts: • the behavior of a random function is controlled by the type of its covariance function: a Gaussian covariance function yields smoother realizations than spherical and exponential models; • the pseudo-period of a random function is controlled by the magnitude of the range of the covariance function: two main extrema of a realization are approximately distant of half of the range; • the amplitude of local variations of a random function are approximately equal to the square root yC(0) of the covariance function at the origin.
484
9.4.7
CHAPTER 9. STOCHASTIC MODELING
Random Function defined on a bounded support
Let D be a bounded domain in the parametric space Mp, and let Dn be the smallest parallelepipedic region containing D and denned as follows:
Assuming that hlmin < hlmax for each i, u can always be denned as a vectorial function of u such that
The reparameterization u(u) so denned is obviously invertible:
Prom a theoretical point of view, this shows that any random function Z(u, a;) whose realizations are denned and integrable on the bounded domain D contained in DD can be approximated by a Random Fourier Series Z(u, uo] defined on [0, 27r]p with a period equal to 2?r in each direction of the parametric space:
As a consequence, all the properties presented in section (9.4) for Random Fourier Series are also valid for random functions whose realizations are denned and integrable on a bounded support D.
9.4.8
Sampling a GRFS on a regular p-grid
In many applications, realizations of a GRFS Z(u,u}) must be generated at each node of a regular p-grid. In such a case and as shown in this section, the formalism of the Discrete Fourier transform (e.g., see [238, 45]) can be applied to the representation of Z(u, LJ) . The greatest benefit of such a discrete representation is to allow a very fast computation of Z(u,u;) at the nodes of the grid thanks to the Fast Fourier Transform (FFT) algorithm. Discrete representation of a GRFS on a 1-grid Let us first examine the case where Z(u,w) defined by equation (9.57) has to be computed on [0, 2?r[ at equally spaced nodes {un : n = 0 , . . . , K — 1} of a regular 1-grid defined by
In such a case, the sampling of Z(u, u) at the K nodes of the grid generates a periodic series of K Random Variables:
9.4.
RANDOM FOURIER SERIES
485
Using the well-known complex trigonometric formulae30
allows the discrete version of equation (9.57) to be written as
with
According to equations (9.56), these Random Variables are such that31
Referring to equations (9.55), Zk(w} can be turned into the following integral:
Replacing du by the increment Aw = 27T/K and using the sampling denned by the equations (9.74) allows this integral to be approximated as follows:
At this point, let us recall the definition of the notions of (direct) Discrete Fourier Transform (DFT) and inverse Discrete Fourier Transform (e.g., see [93, 45]): • the direct Discrete Fourier Transform of a series {X*} = { X o , . . .,XK-I} is a series {^0} = {Xo,..., X K - I } as defined by
• the inverse Discrete Fourier Transform of a series {^o} = {Xo, • • - , X K - I } is a series {X*} = {Xo,..., XK-I} as defined by
30
In these formulae, i is the pure imaginary number i = •\/—'i. Here, \z = \/a2 + b2 represents the modulus of z = a + ib.
31
486
CHAPTER 9. STOCHASTIC MODELING • thefollowingrelationships always hold true:
For each fixed elementary event uj G 0, the complex value Zk(u) defined by equation (9.79) is no more than the Discrete Fourier Transform of the function Z(u, ui) sampled on the regular 1-grid at nodes un defined by equations (9.74). Consequently, the inverse Discrete Fourier Transform defined by
can generate the associated sampled values Z(itfc,u;) for any given integer k = Q,...,K-l. Taking into account the independence of the RV's {Zk}, it can be derived from equations (9.78) and (9.79) that32
This clearly shows that the series {a\ : k = 0, ...,K — 1} is the inverse Discrete Fourier Transform of the series {Cm : ra = 0 , . . .,K — 1} defined by Cm ~ Cz(mAu). As a consequence, the direct Fourier Transform allows the coefficients a\ to be computed at the nodes of a regular 1-grid as follows:
Fast generation of a GRFS on a regular 1-grid The twin equations (9.79) and (9.80) with equation (9.82) form the basis of a very fast algorithm for generating realizations of a GRFS at the nodes of a 1-grid; to this end, proceed as follows: 1. use the direct Fast Fourier Transform algorithm (e.g., see [93]) to compute the series of coefficients {cr 0 ,..., &K-I} from the following sampling of a given (periodic) covariance function C^(K):
2. draw, at random, a series uj = {Oo, • • -, OK-I} of K angles uniformly distributed on [0, 2?r[; 32
Here ~z = a — ib represents the conjugate of z = a + ib.
9.4. RANDOM FOURIER SERIES
487
3. build a series of K numbers {Zo(u),..., ZK-\(U}} defined33 by
4. use the inverse Fast Fourier Transform algorithm to compute the values Z(un,u] defined by equation (9.80) at the nodes of the regular 1-grid. There is a pitfall to be avoided at step 1 of this process: generally, one chooses a given covariance function cov(h) similar to one of those presented on page 464, and it is tempting to interpret equation (9.83) as follows:
However, according to equation (9.59), it is clear that C^(h] must be a periodic function with a period equal to 2yr and this is generally not the case for cov(h}: consequently, the above definition of the coefficients Cm cannot be used. Due to this periodicity of C^(h\ it can be observed that
As a consequence, in the case where the range of cov(h) is lower than TT, the above difficulty can be avoided if step 1 of the fast algorithm is itself broken down into the three following substeps: • determine the greater integer M such that MAu is lower than TT
and compute the sequence {Co,..., CM} as follows:
• use equation (9.83) to complete the sequence {Co,..., CK-I}'
• use the direct Fast Fourier Transform algorithm to compute the series of coefficients {
33
Note that the RV's Z^ so denned are independent, have the same cdf, and honor the conditions (9.78).
488
CHAPTER 9. STOCHASTIC MODELING
As a consequence, the discrete representation of a p-dimensional GRFS Z(u, u) at the nodes of such a regular p-grid can be generalized making it possible to extend the fast generation algorithm presented above. For a complete presentation of this type of method, the reader is referred to [238, 45] where useful theoretical and practical implementation details are given. In a nutshell, equation (9.82) is generalized as follows
while equation (9.80) becomes
In the above equation, the random coefficients ^/ Cl ...fc p (^') are assumed to be defined by where u = {..., &kv...kp, • • •} is a series of angles randomly drawn in the range [0,27T[.
It should be noted that the same pitfall as the one mentioned for the covariance function in the 1-dimensional case has to be avoided. For this purpose, it is necessary to define the series {Cmi...TOp} in such a way that
9.5
Uniform Random Functions and P-fields
9.5.1 Definitions By definition, • The random function C/(u, u>) is a Uniform Random Function (URF) if its cdf FU (u; s) is such that where U(s a(u),6(u)) is the uniform cdf denned on [a(u),6(u)] by equation (9.11), while a(u) and 6(u) are two given functions such that • The random function P(u, u;) is a P-field34 if it is a uniform random function distributed on [0,1], that is to say, if its cdf Fp(u;p) is such that 34 The name "P-field," an acronym for "Probability-field," comes from the fact that, similarly to probabilities, P-fields have values in the range [0,1].
9.5. UNIFORM RANDOM FUNCTIONS AND P-FIELDS
489
Note that any P-field can be transformed as follows into a uniform random function with values in the range [a(u),&(u)j:
As a consequence, our attention will focus mainly on the case of P-fields that appear as "normalized" uniform random functions. Comment 1 P-fields are of special interest because, due to the score-transform theorem presented in section (9.2.4), they can easily be transformed into random functions 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 equiprobable surfaces (horizons and faults) interpolating well data, while integrating variations due to errors on the seismic velocity field (see section (9.9.1)), • 1-dimensional P-fields can be used in the characterization of reservoirs for generating equiprobable shapes of the axis of meandering channels (see section (9.9.2)).
9.5.2
Building a P-field
Many possible techniques for building a uniform random function have been proposed in the literature [144, 99, 207, 85, 48, 133, 171, 201]. For example, simulation methods such as the so-called "Sequential Gaussian Simulator" (see page 516) or the "Blending-Based simulator" (see page 519) will be presented later on in this book. All these methods can easily be turned into uniform random function generators. The general method for generating a P-field .P(u, w) can be outlined as follows: 1. use any method for generating an unconstrained random function Z(u,u>), 2. determine the cdf F^(u; s) of Z(u, a>), and 3. define P(u, cu) as follows:
490
CHAPTER 9. STOCHASTIC MODELING
According to the score-transform theorem presented in section (9.2.4), the random function P(u, u;) so defined has a cdf function corresponding to a uniform distribution on [0,1]: In practice, the covariance function CjK u i > U 2 ) °f the random function Z(u, a;) can be selected in many different ways, depending on the context of the simulation 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 approximately, a second-order stationary uniform random function. Moreover, the mean value rap(u) and the covariance function (7p(u, u + h) of P(u, u;) are
where Cjj(h) is the covariance function of the RF Z(u,cj) used to build P(u,u;). Proof By definition, for any fixed value of u, the random function P(u, o>) is uniformly distributed on [0,1] and this implies that
According to equation (9.12) and thanks to the second-order stationarity of 2T(u, w), the cdf F^(u;s) of Z(u,a;) can, very roughly, be approximated by the cdf of the uniform law:
Most of the time, according to equation (9.11), this implies that
Using this rough approximation makes it possible to show that the covariance function Cp(u, u + h) honors the second equation (9.91), approximately; as a consequence, P(u, u) is approximately a second-order random function. Comment In practice, approximating Cp(la) in this way suffices for tuning the covariance function C^(h) to fit roughly Cp(h) to a given a priori model.
9.5. UNIFORM RANDOM FUNCTIONS AND P-FIELDS
9.5.3
491
Theorem
Let -F(u; s) be a given family of cdf indexed by a parameter u G D whose associated mean value m(u) and variance cr 2 (u) as defined by equation (9.8) are assumed to exist:
Under this condition, the random function S(u, u;) as defined by
has the following properties: 1. If P(u, a;) is a P-field, then the cdf -Fg(u; s), the mean value ras(u) and the variance cr|(u) of S(u,aj) are
2. If P(u, u)) is a second-order stationary P-field derived from a random function Z(u,cu) according to equation (9.90), then S(u,uj) is approximately a second-order non-stationary random function having a covariance function Cs(ui,ii2) such that
3. If P(u, u)) is a periodic P-field derived from a GRFS Z(u,w) according to equation (9.90) and if, in addition, F(u; s) is a Gaussian cdf,35 then 5(u, u;) is strictly a second-order non-stationary random function having a covariance function €3(111,112) such that
Moreover, in this case,
35
See equation (9.14), page 449.
492
CHAPTER 9. STOCHASTIC MODELING
Proof It can be observed that • equation (9.93) is a direct consequence of the score-transform theorem (see equation (9.17)) and definitions (9.88) and (9.92). • equations (9.94) is a straightforward consequence of the approximation (9.13) and properties (9.91) and (9.89). Let us now assume that P(u, o>) is the periodic P-field denned in section (9.5.2) and that F(u; s) is a Gaussian cdf:
It can be observed that, for any p G [0,1],
Taking into account condition (9.73) and equations (9.92) or (9.90), it can be deduced that
where Z(u,u;) is the GRFS used to build P(U,UJ). From this equation, it can be concluded that 5(u, a;) is a second-order non-stationary RF honoring equations (9.95).
9.6
Stochastic simulators
As explained in section (9.1), the main purpose of this chapter is to propose simulation techniques capable of producing equiprobable solutions to interpolation problems. These solutions are called "simulations" and are defined as realizations of random functions called "stochastic simulators" or, more simply, "simulators." Many different techniques have been proposed in the literature for building simulators (e.g., see [215, 58, 94]). In this section, having denned the notion of simulator, three examples of particularly simple techniques for building simulators are given. Other techniques will be presented later on in sections (9.7.7), (9.7.8), (9.9.1), and (9.8) and in chapter 10.
9.6.1
The interpolation versus simulation problem
As suggested in figure (9.10), let z(u) be an unknown scalar function defined on a region D of a normed linear vector space36 8 (see [141]) and known only on a finite subset D* consisting of N sampling points {ui,..., ujv} belonging toD:
36 For example, this space can be the Euclidean parametric space (x, y, z) or a curvilinear parametric space (u,v,w) corresponding to a stratigraphic grid (see figure (10.1)).
9.6. STOCHASTIC SIMULATORS
493
Figure 9.10 The interpolation problem consists in estimating at point u (white dot) a function z(u) denned on a part D of a normed linear vector space E and known at a finite set of N sampling points {ui} (black dots). In practice, sampling data points may be limited to a neighborhood W(u) of point u. With such limited information, there are two possible strategies for assessing the variations of z(u) on D: • The first strategy involves looking for a unique function z*(u) defined on D and assumed to interpolate the unknown function 2(11) on D*:
In this case, z*(\i) is assumed to be built to provide the "best" solution.37 • The second strategy consists of looking for a random function S^u, u;) defined on D and assumed to have all its realizations equiprobable and constrained to interpolate z(u) on D*:
In practice, these two strategies are complementary, and section (9.6.2) will show how any interpolator z*(u) can be used for building such a random function S(u,u;). If one succeeds in building such an RF S(u, cu), then, to any series {uji, u^, • • •} of equiprobable statistical elementary events, a series of equiprobable realizations {z*(u), z%(u),...} interpolating the initial data can be associated:
By definition, the functions {Zj(u)} so generated are called the "simulations" of the unknown function z(u) and the associated random function S^u, uj] is called a (stochastic) "simulator." 37 The notion of "best" solution has to be denned with regard to a specific goodness criterion depending on the interpolation technique.
494
CHAPTER 9. STOCHASTIC MODELING
Comment 1 Let ras(u) and cr|(u) be the mean and the variance of the random function 5(11,0;) to build
In general, ms(u) and cr|(u) actually depend on u e D, and the stochastic simulator 5(11,0;) to be built is thus a non-stationary random function; in particular, ras(u) and cr|(u) must honor the two following constraints:
In other words, 5(u,o;) should be similar to the "linen" example presented in section (9.3.6) (see figure (9.7)). Comment 2 Applications exists where the data observed at sampling points u^ 6 D* consist of intervals [z~(u^), z+ (u^)]
where the values z~(ui) and z+(ui) are assumed to be given. Such a constraint may be viewed as a generalization of the constraint (9.96).
9.6.2
Example 1: P-field-based simulator
This section presents one example of a method directly inspired from theorem (9.5.3) and allowing a stochastic simulator, based on the P-field defined in section (9.5.2), to be built. General technique There is, of course, an infinity of RF's honoring data at their locations (i.e., the constraints (9.97)). To "reduce" the set of possible solutions, it is proposed to choose 5(u,a;) with an a priori given cdf -F(u; s). However, proceeding in this way requires ensuring that F(u; s] is consistent with constraint (9.97); this is equivalent to saying that F(u; s] must honor the following constraints (see figure (9.10)):
Unfortunately, there is still an infinity of possible RF's with such a given cdf, and we must choose one RF 5(u, uj] among this infinity. For this purpose, it is proposed [207] building a P-field P(u,o;) and defining 5(u,o;) as follows:
9.6.
STOCHASTIC SIMULATORS
495
According to the theorem in section (9.5.3) page 491, the cdf F$(u; s) of the RF S(u] a;) so defined is identical to F(u; s) Moreover, according to this theorem, choosing a second-order stationary random function for P(u, u) implies that S(u; a;) is approximately a second-order random function having a covariance function (7s(ui, 112) such that
In this expression, cr|(u) represents the variance of S(u,u), while C^(h) is the stationary covariance function of the RF Z(u, u] used to build the P-field P(u,u;) (see section (9.5.2)). It should be noted that Cs(iii, u 2 ) does not change if the covariance function C^(h) is multiplied by a constant. In other words, in addition to the data configuration, only the type and the range of the covariance function C^(h) can have an influence on Cs(ui,u 2 ) and thus on the simulator S(u,u>). From this observation and according equations (9.94) and (9.95), it can be concluded that • erf (u) controls the amplitude of the variations of £(11,0;); • CZ(\\}/CZ(Q] controls the style of the variations of S^u,a;). Comment 1 Sections (9.7.7) and (9.9.1) present situations where it is possible to choose F(u; s] in such a way that the associated variance cr|(u) honors the following constraint: u far away from the data points In this case, equation (9.104) can be simplified to obtain
{
Ui far away from the data points ^ 112 far away from the data points J
As a consequence, if constraint (9.105) is honored, and if we move far away from the set D* of the data points, then, taking into account equations (9.106) and (9.70), it can be said that Cj,(h) directly controls • the behavior of the simulator S(u, o>), and • the style of each simulation Zj(u) = 5(u,to,-). From this observation, it is deduced that, if S(u,u) is required to have a given stationary covariance function cov(h) when far way from the data points, then one must choose Comment 2 In the case of interval data types corresponding to constraint (9.100), a cdf honoring the following constraints, which generalize the constraints (9.101), is all that has to be chosen for F(u: s}:
496
CHAPTER 9. STOCHASTIC MODELING
Comment 3 In the one-dimensional case where the parametric domain D is a part of iR,
In other words, the derivative of each realization 5(11, u;) vanishes on the set D* of the data points: this may be a, drawback in some practical applications. It is easy to check that a similar property occurs for the partial derivatives of each realization relative to the components of u in the p-dimensional case where D is a part of 1RP. The case of a P-field Gaussian simulator Let us first observe that any interpolator z*(u) can be used for building a simulator 5(u,o;) whose realizations interpolate the unknown function z(u); for this purpose, it suffices to choose for FS(U;S) = F(u;s) a cdf whose associated mean ms(u) and variance cr|(u) honor the constraints (9.99).
Such a choice for 7715(u) and cr|(u) implies that the constraints (9.98) are automatically honored [120]. Note also that equation (9.104) will be honored. In practice, there is no general technique for choosing
According to equation (9.15), it is easy to check that this choice is compatible with constraints (9.101):
Moreover, according to the theorem in section (9.5.3), if P(u,a;) is a GRFS, then the following property is strictly honored:
38
Choosing a Gaussian law is a practical choice, not a fundamental choice.
9.6. STOCHASTIC SIMULATORS
9.6.3
497
Example 2: PC-based simulator
This section presents a second example of a method derived from the principal components of a covariance matrix and allowing a stochastic simulator to be built on a finite subset D0 of the parametric domain D. Definition of the simulator Let us assume that the stochastic simulator 5(u, a;) to be build is required to have a given mean ras(u), a given standard deviation as (u), and a given covariance function Cs(ui, 112). For simplicity's sake, assume that (7s (ui, u 2 ) can be decomposed as follows:
In the above decomposition of GS^UI, u 2 ), the function C(h) is assumed to be a stationary semipositive definite covariance function to ensure that (7,5(111,112) is itself semipositive definite. Note that, in spite of the fact that C(h) is stationary, 65(111,112) can be non-stationary. Moreover, it should be observed that we must have Cs(u, u) = cr|(u), and this implies that C(h) must be chosen such that As a final remark on the properties of 5(u, u;), it should be noted that, in the case where this simulator is constrained to take constant non-random values {z(ui) : Ui € D*} on a finite subset D* of the parametric domain D, these constant values must be equal to the values of the mean function ms (u):
In the following, we address the problem of computing realizations of S'(u, a;) for u belonging to a finite subset D® of the parametric domain D consisting of M sampling points including D*: For this purpose, to compute 5(u, a;) on jD°, it is proposed to use the following model where A is & matrix with M rows and K < M columns to be determined:
In this matrix equation, X(u>) is assumed to be a random vector whose components are not correlated, have a variance equal to one, and have a mean equal to zero; in other words, X(cu) is assumed to honor the two following constraints where 0 is the null vector while [/] is the unit matrix:
498
CHAPTER 9. STOCHASTIC MODELING
As can be seen, the first constraint above implies that the model (9.109) reproduces correctly the mean value ms(u) of S^u, a;) on D°:
A a consequence, the only thing to do is to look for a matrix A ensuring that the covariances defined by equation (9.108) are reproduced on D° x £)°. Determining the matrix A Let [C] be the symmetrical (M x M) covariance matrix and let [
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 function crs:(u) used in equation (9.108):
It is easy to check that the covariance matrix [Css] °f the random vector S(u) defined by equation (9.109) is such that
Moreover, taking into account equation (9.109) and (9.110), it can be observed that Let { V i , . . . , VM} be the unit eigen vectors of [C] corresponding to the eigen values {AI, ..., AM} assumed to be sorted by decreasing order of magnitude. Taking into account the fact that [C] is symmetrical and semipositive definite, it is well known (e.g., see [19]) that • the eigen values of [C] are real and nonnegative, and • the matrix [C] can be decomposed as follows:
Consequently, if there are K eigen values significantly different from zero, then equations (9.114) and (9.116) imply that we can write
In conclusion, if we identify the columns of the matrix A in equations (9.109) and (9.115) with the K vectors {Ak = \f\k • [
9.6. STOCHASTIC SIMULATORS
499
Algorithm As a consequence of the above model, the following procedure to generate realizations of 5(u, o;) on D^ is proposed: • Using equations (9.108) and (9.114), build the matrix [C]. • Compute the K < M non-null eigen values {Afc} of [C] and their associated unit eigen vectors {Vk}. • Build the matrix A of equation (9.109) as follows:
• For each simulation associated with an even uj G 15 — use a random number generator to generate a realization of X(u>) honoring the constraints (9.110), and — use the equation (9.109) to generate the sampling of <S(u, u) on £)°.
It can be observed that the column vectors [\f\k • Vk} used to build the matrix A are no more than the coefficients of the Principal Components of the covariance matrix [C]. For this reason, it is proposed that we call "Principal-Components-based simulator" or, more simply, "PC-based simulator" the stochastic simulator S(u,u;) so denned. Comment When the set D^ of the sampling points is sufficiently dense on D, each realization 5(11,0;) can be continuously interpolated on D and, at the limit, equation (9.109) takes the following continuous form:
In the one-dimensional case where the parametric domain D is a part of M, it can be observed that, at each data point Uj G -D*, the derivative of 0"s(u) generally vanishes, and we have
In other words, on the set D* of the data points, the derivative of each realization S(u, o;) is equal to the derivatives of ms (u): this may be a drawback in practical applications. It is easy to check that a similar property occurs for the partial derivatives of each realization relative to the components of u in the p-dimensional case where D is a part of ]RP.
9.6.4
Example 3: Residual-based simulator
This section shows how an interpolation method can be used to transform an unconstrained simulator into a constrained simulator.
500
CHAPTER 9. STOCHASTIC MODELING
Definition of the simulator Once again, let us address the problem of building a stochastic simulator ,S(u, uj] constrained to honor the following constraints where {z(ui) : u^ e D*} is a given set of sampled values for the unknown function z(u) to be simulated on D D D* while C(h) is a given stationary covariance function:
1) 2)
In this section, S(u, a;) is assumed to be denned as the sum of two random functions SQ(U,UJ) and R(U,UJ) where So(u, u;) is a given unconstrained simulator such that
while .R(u, o>) is a "residual" random function honoring the following constraint: As a consequence of equations (9.120), (9.121)-1, and (9.122), with a simulator so denned, the constraint (9.119)-1 is always strictly honored:
To build a residual random function -R(u, u;) honoring the constraints (9.122), one can proceed as follows: • Use any stochastic method to build an unconstrained simulator SQ (u, u;) whose mean is chosen equal to zero while its covariance function is chosen equal to C(ui — u 2 ). • For each event uj € O, build the realization -R(u, u>) as follows: 1. for each data point Ui £ D*, compute the residual R(ui,u>) as defined by equation (9.122); 2. use an interpolation method to build a (non-random) function R(u, u) denned on D and interpolating the values {R(ui,u) : Ui E D*}. Choosing an interpolation method for R(U,UJ) Proceeding as suggested above ensures that the simulator 5(u, u;) defined by equation (9.120) honors the constraint (9.119)-1 but there is no reason for the constraint (9.119)-2 to be honored. Let us assume now that we choose to interpolate each realization of R(u, u;) with an interpolation method honoring the following constraint: u far away from the data points uu £ D*
9.6.
STOCHASTIC SIMULATORS
501
Figure 9.11 An example of a series of 50 equiprobable constrained simulations («S(u, uji) : i = 1, 2 , . . . , 50}, obtained with a residual based simulator. In such a case, as a straightforward consequence, it can be observed that the constraint (9.119)-2 is now honored: (111,112) far away from the data points m e D*
Moreover, an interesting property of the simulator 5(11,0;) so defined is that, far away from the data points, the mean value of S(u,u>) is close to the constant z: u far away from the data points u^ 6 D* Whatever the interpolation method used to build -R(u, a;), this suggests choosing 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 realizations of a residual-based simulator defined on a segment D and using the DSI
502
CHAPTER 9. STOCHASTIC MODELING
interpolation method. It can be observed that, contrary to the simulations obtained with the P-field and PC-based simulators, these simulations do not have a constant derivative at the data points {u^ G D*}.
9.6.5
Other stochastic simulators
Besides the three methods presented above, many different methods have been proposed in the literature to build stochastic simulators. For example, • the turning bands method [157, 219]; • sequential methods based on Kriging [58]; • blending-based methods [151]; • simulating annealing methods [94]; and • methods based on neural networks [39]. The rest of this chapter is dedicated to the presentation of some of these methods.
9.7
Kriging-based methods
Since its introduction by Matheron [156] in the late 1960s, geostatistics has contributed a great deal to the development of spatial interpolation over the past decades (see also Whittle [233]). During the 1980s, the main focus of this family of methods shifted from the estimation of physical parameters distributed over a region to the generation of multiple simulations of these parameters. This section focuses briefly on the notion of "Kriging," which is of particular interest in the building of simulators. Those interested in a complete presentation of geostatistical methods are referred to the many excellent books on the subject, for example, [114, 119, 111, 58, 224, 94, 45].
9.7.1
The interpolation problem
Considering further the interpolation versus simulation problem introduced in section (9.6.1), an interpolation strategy can be adopted whose aim is to build a function z*(u) defined on D and assumed to interpolate the unknown function z(u) on D*:
To build such an interpolator z*(u), the traditional geostatistics approach would proceed in this way: 1. Take the model decision that there is an unknown second-order stationary ergodic (see pages 461 and 462) random function Z(u, cj) honoring the following constraint:
9.
5 5
2. Use the ergodicity of Z(u,u) (see equation (9.38)) for building a variogram model 7z(h) from the N pairs of data {u^, z(iii)} (see page 467); 3. use the variogram model 72 (h), or, equivalently, the associated covariance function Cz(h) for building a linear estimator Z*(u,u) of Z(u,uj) such that
where the weighting coefficients (Ai(u)} have to be determined in an "optimal" way; 4. Use equations (9.125) and (9.126) for building an estimate z*(u) of 2(11) defined on D by
where UQ is the same elementary statistical event as the one corresponding to equation (9.125). This equation shows that the weighting coefficients (Aj(u)} need to be constrained to have their sum equal to one39 because, in the extreme case where all the values {z(ui)} are equal to a constant, we would like z*(u) to be equal to this constant:
In steps (1) and (3), the words "model decision" and "use" have been written in bold to avoid misunderstanding: • It is extremely important to note that taking the decision that there is an unknown second-order stationary 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 estimator 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 whatever 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
9.7.2
CHAPTER 9. STOCHASTIC MODELING
Ordinary Kriging interpolator
Definition Among the infinite number of possible weightings (Aj(u)} used in equation (9.126), Ordinary Kriging chooses the one that minimizes the so-called "estimation variance "
The optimal weighting coefficients (A^(u)} minimizing (9.129), while honoring constraint (9.128), can be obtained using the classic Lagrange multipliers technique [141, 90, 163]. According to this technique, the optimal solution should realize the minimum of the function £(Ai(u),..., AJV(U), /u(u)) as defined by
where /Lt(u) is the so-called "Lagrange multiplier" associated with constraint (9.128). Consequently, the following equations must be honored:
Taking into account the fact that Z(u, u) is assumed to be order 2 stationary, it is easy to show that
where C^(h) is the stationary covariance function of Z(u,a;). The Lagrange equations (9.130) can thus be turned into the following system of (N + 1) linear equations called "Ordinary Kriging equations:"
In other words, assuming that [K] is invertible,40 the optimal weightings are such that 40 With the covariance functions presented in section (9.3.3), it can be shown that this is always the case provided that the sampling points u^ G D* are distinct.
9.7. KRIGING-BASED METHODS
505
Properties As an exercise it can be checked that the associated minimum of the estimation variance is such that
Moreover, in the case where u is identical to one of the sampling points, say Uj, then F(u) — F(UJ) is identical to the jib. column of [K] and the solution A(u) of equation (9.132) is thus such that otherwise
According to equation (9.127), this implies that the Ordinary Kriging is an "exact" interpolator in the sense that, if u is identical to a data location Uj, then the estimated value z*(uj) is equal to the input data: For the same reason, the estimation variance cr|;(u) vanishes at data points: If the distance of u to the data points is denned as follows u far away from data points
then it is verifiable41 that the estimation variance behaves as follows when far away from the data points: u far away from data points
Example Ordinary Kriging is widely used in geomodeling for interpolating physical parameters of natural objects. Figure (9.12) shows an example corresponding to a data set given in [58] where the goal was to interpolate a parameter z(a) = 2(11(0:)) at each node of a regular 2-grid: • the Ordinary Kriging map z*(u) does interpolate the data points and looks smooth when away from these data; and • the variance of estimation cr%(u) does vanish at data points and is close to a constant for points u whose distance to the closest data point is greater than the range of the covariance function (or the variogram). According to equation (9.137), this constant value is within the range [Cz(0),2 • Cz(0)]. 41 This property comes from equation (9.131) and the fact that the hypothesis (9.136) and the constraint (9.128) imply that
506
CHAPTER 9. STOCHASTIC MODELING
Figure 9.12 Comparison between the DSI interpolation (B) and Ordinary Kriging interpolation (C) computed at the 2002 nodes of a regular rectilinear 2-grid using the same data set (A). Part (D) shows how the variance of estimation crE(u) of the Ordinary Kriging varies as a function of the distance to the data points. In these pictures, low values are coded in light grey while high values are coded in dark grey. In this example, a Spherical covariance function model Cz(h) was used (see definition on page 464) with an isotropic range R equal to | of the width of the studied domain. It can be observed that, as with any other interpolation method, both the DSI interpolation presented in figure (9.12)-B and the Ordinary Kriging presented in figure (9.12)-C produce smooth solution.
9.7.3
Simple Kriging interpolator
Definition Simple Kriging is a simplified version of Ordinary Kriging where the constraint (9.128) is removed.42 As a consequence, Lagrange multipliers are no 42 Generally, the mean mz(u) is assumed to be known a priori and the discrepancies relative to this mean are interpolated:
For example, if the data points are not clustered, it can be assumed that mz(u) = mz and mz can be estimated as the average value of the observed data {z(uj)}.
9.7.
KRIGING-BASED
5
longer needed and the weighting coefficients (Ai(u)} are now solutions of the following N linear equations:
According to equations (9.131), it is deduced that
This linear system can also be turned into the following matrix equation called the "Simple Kriging equation," which replaces equation (9.132):
Properties It is easy to check that Simple Kriging has the same properties (equations (9.133)-(9.136)) as Ordinary Kriging except that, due to the removal of constraint (9.128), we now have:
However, it should be noted that equation (9.137) is now replaced by43
property and and properties (9.133)-(9.136) shared with n addition to the above property Ordinary Kriging, it can be observed that
43
This property comes from equation (9.131) and the fact that the hypothesis (9.136) and the equation (9.139) imply that all the coefficients (Aj(u)} vanish when u is far away from data points.
508
CHAPTER 9. STOCHASTIC MODELING
Figure 9.13 An example ofcolocated coKriging of the porosity z(u) observed on well logs. The secondary function x(u) consists of the seismic amplitude observed everywhere in a 3D curvilinear grid modeling the stratigraphy of the studied domain. The grid is represented by three curvilinear sections in the u, v, and w directions. The estimation of the relationship z = f(x) was performed on a sampling of the wells where both x and z are known. (Data courtesy of Chevron) According to equation (9.138), we can observe that Simple Kriging has the following notable property:
In other words, the Simple Kriging interpolator features the correct covariances 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
9.7.4
50
Colocated coKriging
As suggested in figure (9.13), let us assume that the function z(u) to be interpolated is linked by a functional relationship to a second function44 x(u) assumed to be known everywhere on D:
Unfortunately, due to measurement errors, this link is not fully reliable and should be considered only as a hint as to the behavior of z(u) when a long way from the data points. Several geostatistical methods, called coKriging [224, 80] or Colocated Kriging [237], have been proposed for taking into account this "fuzzy" link between z(u) and x(u). A complete presentation of these methods is beyond the scope of this book, but a very simple alternative to colocated coKriging can be formulated as follows:
where • z*(u) is either an ordinary or Simple Kriging interpolator; • p is a given "certainty factor" belonging to [0,1], which is used to weight the importance of the functional link (9.143) relative to the result z*(u) yielded by the Kriging interpolator £*(u); and • cr|;(u) is the estimation variance associated with z*(u).
Let us assume that the covariance function C^(h) used for building the Ordinary 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 interpolator 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 correlation between Z and f(X) such that then it is possible to show (see [237, 63, 45]) that the best linear estimation z*(u) of z(u) is actually such that
It should be noted that, for small values of p 2 , this estimator is equivalent to equation (9.144).
9.7.5
Practical implementation techniques
Window W(u) It can be seen that the size of the linear systems (9.132) and (9.138) corresponding to the Kriging equations is proportional to the number TV of sampling points. This implies that the CPU time for solving this system on a computer is proportional to TV2 (see [177]). On the other hand, in practice, it can be observed that • in the case of Simple Kriging, the weighting coefficients (Ai(u)} become negligible as soon as the distance ||uj — u|| is larger that the range of the covariance function (or the variogram) in the (uj — u) direction; and • if A7" is large, e.g., greater than 100, numerical errors may become a major concern when resolving the linear system (9.132).
Therefore, as suggested in figure (9.10), a better strategy widely used in geostatistics consists of limiting the data used in equation (9.132) to the subset of sampling points located in a window W(u) centered on the point u where z(u) has to be estimated. In practice, this window consists of an ellipsoid centered on u whose radius p(d) in the d direction is greater than or equal to the radius of the ellipsoid defining the range of the covariance function or the variogram in this direction (see page 464). In the case where W(u) is cut by a discontinuity (e.g., a fault [154]), it is recommended to truncate it in such a way that its interior remains on the same side of the discontinuity as u. This "divide and conquer" strategy is very efficient as long as the following condition is honored
where D*(u) represents the points of D* located in W(u). However, it is relevant to note that strongly clustered data points, as is often the case in geoscience,46 may lead to this condition not being honored. In this case the 46
For example, this is the case for data collected on well logs.
9.7. KRIGING-BASED METHODS5
51
local Kriging approach may generate irrelevant discontinuities for z*(u) and some specific precautions have to be taken (e.g., see [94], p. 178). Normal score-transform Using a normal score-transform (see page 470) in association with the Kriging methods is a common practice discussed in this section. According to equation (9.53), the cdf -F^(u; z) associated with the normal score-transform Z(u, a;) of the random function Z(u, u) is a Gaussian cdf. On the other hand, the truth of the following implication can easily be checked: Gaussian Gaussian F Z ( U , U I , . . . , u j v ; z , z i , . . .,ZN) Gaussian Gaussian
Assuming -F^(u, u i , . . . , UTV; z, z i , . . . , ZTV) to be Gaussian47 is thus compatible with the normal score-transform and makes it possible to benefit from the properties of the multivariate Gaussian law (see page 453): • as a linear combination of the Random Variables {Z(ui,u)}, the Kriging estimator Z*(u, u>) is a Gaussian variable; and • among all the possible linear or nonlinear estimations of Z(u, o>), the linear estimator Z*(u, u;) yielded by the Kriging equations is the one that realizes the lowest minimum for the estimation variance. In other words, proceeding as suggested by this schema
enables an optimal estimator z*(u), which is now a nonlinear function of the initial data (z(ui),..., Z(UAT)}, to be obtained. However, in general, the variance of estimation cr|,(u) of Z(u, a;) is different from the inverse transform of the variance of estimation crf;(u) of Z(u, u?):
Much worse, generally the estimator Z*(u, u;) so obtained is biased [115]:
47 This is not a hypothesis, but a model very similar to choosing the degree of a polynomial if using a spline or Bezier interpolation.
512
9.7.6
CHAPTER 9. STOCHASTIC MODELING
About the Heisenberg uncertainty principle
Within the framework of particle physics, the Heisenberg uncertainty principle tells us that From the same set of data, either position or momentum of a particle can be measured with precision. It can be observe that, in the frame of our interpolation problem, z(u) is the analog of the position of a particle while the standard deviation of the estimate of z(u) is the analog of its momentum. Since Kriging yields both an estimate z* (u) and a variance of estimation a\, (u), one may be tempted to claim that traditional Kriging methods do not suffer from a similar uncertainty principle. In fact, such a naive interpretation of Kriging makes the implicit assumption that a\ (u) measures the precision on the estimate z* (u). Unfortunately, this implicit assumption is not true because it can only be said that
9.7.7
P-field-based and PC-based simulators revisited
As an epilogue of section (9.6), this section shows how P-field and PC-based simulators can be derived from a Kriging interpolation z*(u) of the unknown function z(u) to be simulated on a parametric domain D. In accordance with previous notations, in this section D* represents a finite set of interpolation points belonging to D where the values of the function z(u) are assumed to be given. Preliminary remark Note that, according to equations (9.107), any simulator 5(11,0;) is a nonstationary random function honoring the following constraint:
This clearly shows that S(u, u;) cannot be identical to the stationary random function Z(u, o;) used to define the Kriging interpolator (see equation (9.125)) whose stationary mean and variance are such that
9.7. KRIGING-BASED METHODS
513
Figure 9.14 Four examples of equiprobable simulation {z*(u) = 5(11, cjj)} using the same data as in figure (9.12)-A and obtained with a P-field-based Gaussian simulator £(11,01) built from the Kriging interpolator presented in figures (9.12)-C and (9.12)-D. In this picture, low values are coded in light grey while high values are coded in dark grey. Choosing the mean, the variance, and the style of S(u,uj] P-field-based Gaussian simulators and PC-based simulators can be implemented only if the mean ms (u) and the variance cr| (u) of the simulator to be built are given. In the case where a Kriging interpolator z*(u) is known, an intuitive solution honoring the constraints (9.145) consists of choosing ra,s(u) identical to this Kriging interpolator while choosing cr|(u) identical to the associated variance of estimation cr|n(u):
If Cz(h) is the stationary covariance function used to build the Kriging interpolator z*(u), the style of 5(u, a;) can then be defined in a consistent way as follows: • in the case of a P-field-based simulator, the stationary covariance function C^(h) used to define this P-field is chosen as being identical to Cz(h):
514
CHAPTER 9. STOCHASTIC MODELING • in the case of a PC-based simulator, the stationary covariance function C(h) used to define the eigen vectors is chosen as being proportional to Cz(h):
In both cases, according to equations (9.137), and (9.140), the following implication holds true u far away from the data points From equations (9.104) and (9.108), this implies that
{
Ui far away from the data points 1 U2 far away from the data points J
This notable result has these important consequences: • It justifies "a posteriori" the choice of equation (9.146) made above for erf (u). • Thanks to the ergodic model, it guarantees that the simulations {^(u) = S(u,u>j)} will have a "style" controlled by the covariance function Cz(h). • In the case of a P-field Gaussian based simulator (see page 496), the covariance function Cz(h) in the Kriging equation must be identical to the covariance function C^(ti) to be used for building this P-field. • In the case of a PC-based simulator (see page 497), equation (9.148) clearly shows that the covariance function Cz(h) in the Kriging equation must be proportional to the covariance function C(h) to be used for building this PCbased simulator. Example As shown in figure (9.12)-C, Kriging yields a very smooth result that is far from reproducing high-frequency variations specified by the Spherical covariance model Cz(h) (see definition on page 464). This is not surprising if we remember that Kriging uses the covariance function, but does not try to honor it (see section (9.7.1)). Referring to equation (9.7.7), we note a major difference in the simulator 5(u, u;) presented above, whose behavior is directly controlled by the input covariance function C^(h) = C^(h). As can be seen in figure (9.14), simulations {Zj(u) = 5(u,cc>j)} generated by a P-field Gaussian based simulator (see page 496) do reproduce these high frequencies. In this example, the P-field was a periodic P-field generated at the nodes of a regular 2-grid using the discrete approach presented in section (9.4.8) and based on the Fast Fourier Transform.
9.7.8
Sequential simulators
Compared to Simple Kriging, it can be observed that Ordinary Kriging does not requires us to know the mean value of the RF chosen as model. For this reason, in practical interpolation problems, Ordinary Kriging must be preferred to Simple Kriging and the reader may wonder why Simple Kriging
9.7. KRIGING-BASED METHODS
515
has been introduced. The only reason for introducing Simple Kriging in this book is that it is often used for building a sequential simulation technique to be presented below. As will be seen, this sequential technique initially proposed by Journel is quite different from the P-field approach demonstrated up to now. Building a sequential simulator For simplicity's sake, let us assume that the simulator S^u, to>) that we want to build is centered and is order 2 stationary:
Suppose that the simulator S(u, a;) is already known on a finite set £>* of n sampling points:
It is assumed that the n given Random Variables S(\ii,u)) honor the correct covariance function
and S(un+i,uj) is defined as follows at a new location u n+ i € D considered to be a new sampling location:
In this definition of S(un+i,uj), the random function Z*(un+i,uj} and the Random Variable Rn+i(u) are chosen in such a way that • Z*(u n+ i,u;) is the Simple Kriging estimator of Z(u,ui) = S(u,uj) as a function of{S(ui,u) :ui£Dtl}:
• Rn+i(uj) is independent of any other random variable and such that
where crf;(u n +i) is the Simple Kriging estimation variance associated with equation (9.153). Note also that the cdf of Rn+i(uj) need not be Gaussian and it can also change from n to n + 1.
One can observe that hypothesis (9.149) is consistent with equations (9.152), (9.153) and (9.154):
516
CHAPTER 9. STOCHASTIC MODELING
Moreover, taking into account the independence of the Random Variables Rn+i(u}) and from equations (9.152) and (9.141), it can easily be deduced that
In other words, S(u n _|_i,a;) as denned by equation (9.152) honors the correct covariances with any of the Random Variables (5(u^,o;) : ii; e D*}. The equation (9.156) justifies using the following sequential algorithm which is compatible with preconditions (9.150) and (9.151): //— Sequential simulator algorithm let u be a given elementary statistical event let Dn0 be a given initial set consisting of no sampling points where 5(u, a>) is known, let DM be a given superset of D*0 consisting of N sampling points where S(u, u>) has to be computed, let n = no while( n < N } { • generate Rn+i(u>) • compute Simple Kriging Z*(un+i,u) = ^™=1 A ^ U n + l ) • S(Ui,u)
• compute S(un+i,u]1 = Z*(u n +i,w) + Rn+i(u) • increment n D* n
<— <—
D*n U {un+1} n +\
} II end: while
Sequential Gaussian simulator (SGS)
Most of the time, a Gaussian variable is chosen for Rn+i(ui), and the sequential simulation technique described above is called a "Sequential Gaussian Simulation" (SGS). In practice, two types of SGS are used: • Constrained SGS corresponds to the case where the simulator S(u,u) is assumed to be degenerated on D*0 :
The values {z(ui) : Ui £ -Dn0} correspond to the sampling data of the function z(u) to be simulated. The above constraint guarantees that such sampling data will be honored by each simulation and that the simulator S(u, u) generated 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 observed. In this case, the sequential algorithm can be initialized as follows:
9.7. KRIGING-BASED METHODS5
51
Figure 9.15 An example of Sequential Gaussian Simulation (SGS) of the distribution of porosities in a reservoir: the simulation is constrained to honor both a given variogram and the data observed along the well-paths. The well-paths are not represented while the variations of the porosities are represented in color scale from low porosities in dark blue to high porosities in white. The curvilinear 3-grid used in this example contains one million hexahedric 3-cells that have been slightly distorted in the neighborhood of faults to smoothly cope with the geometry of these faults. — no is initialized to 1 and the set D*0 is initialized with the first point of n*N. L) — S(ui,u>) is randomly generated according to a Gaussian centered law having a variance equal to Cz(O). In this case, the simulator <S(u, a;) generated by the above sequential algorithm is similar to the "pool" example presented in section (9.3.6) and figure (9.7).
Figure (9.15) gives an example of constrained simulation generated by an SGS simulator. In this example, the parameter to be modeled corresponds to the distribution of porosity in an oil and gas reservoir and the data to be honored are given along well-paths. Comment Note that, if constraint (9.149) is not honored, then implication (9.155) is no longer valid; as a consequence, property (9.156) is no longer true. From this remark, the following can be deduced: • In the case of an unconstrained SGS, it can be guaranteed48 that S(u,u>) generated by the above sequential algorithm will honor the given covariance 48
This is because, by construction, unconstrained SGS honors constraint (9.149).
518
CHAPTER 9. STOCHASTIC MODELING function Cz(h); • In the case of a constrained SGS, S(u,u) is no longer stationary. For this reason, honoring the given covariance function C'z(h) no longer makes sense. However, in practice, in the same way as in P-field simulations, moving away from the data points, it can be observed that SGS approximately reproduces Cz(h).
P-field-based simulators versus sequential simulators Prom a practical point of view, P-field-based and sequential simulators yield similar results and in several ways are complementary: • A sequential simulator can be used to generate a P-field by proceeding as follows: — build an unconstrained sequential simulator S(u, •) honoring the specified covariance function Cz(h); and - use the score-transform formula (9.16) to build the P-field P(u, •) where FS(S) is the cdf of 5(11, •) as follows:
• From the point of view of the algorithm's complexity, P-field-based and sequential simulators behave in opposite ways: — The window VK(u) used by the SGS has to be larger than the range of the specified covariance function Cz(h). As a consequence, the bulk of computation needed to build the intersection W(u) D D^ tends to increase when the range increases. — The degree of the trigonometric polynomials used for generating periodic P-fields generally increases as the range of Cz(h) decreases. • From a computer science point of view, the generation of a periodic P-field such as the one presented in section (9.5.2) can be parallelized in a straightforward way. Conversely, due to its sequential nature, SGS cannot be parallelized. • From a mathematical point of view, thanks to theorem (9.5.3) and property (9.156), both periodic P-fields and sequential-based simulators have solid fundations. In practice, with a fairly large C^(h) range,49 periodic P-fields presented in section (9.5.2) are extremely efficient and must be preferred to SGS for the following reasons: • they are faster than SGS; and 49
For example, in a one-dimensional problem, the range R must be greater than .D/20.
9.8. BLENDING-BASED METHOD
519
• they can be parallelized, which dramatically increases the speed of their computation; In particular, periodic P-fields are an excellent choice for building the geometric simulators presented in section (9.9.1). Comment It may be that the function z(u) to be estimated is correlated with another function x(u) known everywhere; for example, this is the case if z(u) is the seismic impedance observed on well logs, while x(u) represents the seismic amplitude observed in the whole 3D domain of interest. In such a situation, a sequential simulator could be built based on Colocated CoKriging. It should also be mentioned that many other possible methods have been proposed in the literature (e.g., [92, 100]).
9.8
Blending-based method
In this section, a very fast method for building random functions with given mean and covariance functions, while honoring linear constraints if any, is proposed [151]. This method uses a limited set of precomputed equiprobable realizations assumed to be generated by other traditional methods and can be viewed as a "booster" of these traditional methods. A preliminary remark First, observe that the Random Fourier Series introduced in section (9.4) can be written in the following form:
where the functions (/j(u)} are given sine and cosine functions, while the {/%(u;)}'s are Random Variables adjusted to obtain a given covariance function for Z(u, u;):
In practice, due to the inadequacy of sine and cosine functions, honoring a given covariance function cov(-, •) generally requires large values for n. In this section, it will be shown that, if realizations of a given random function Z(u,uj) honoring the covariance function cov(-, •) are chosen for {/j(u)|
then the random coefficients {/3i(u}} can be chosen in such a way that, when n tends toward infinity, Z(u, a;) also honors the same covariance function and the same linear constraints, if any, as Z(u, w):
520
CHAPTER 9. STOCHASTIC MODELING
The interest of this approach lies in the fact that, due to the adequacy of the functions {/j(u)j so chosen, the convergence of equation (9.157) toward a random function honoring constraint (9.158) occurs very rapidly for small values of n. According to equations (9.157) and (9.159), Z(u,u>) can be seen as a random "blending" of realizations of the random function Z(u, u}\ for this reason, we propose calling "Blending-Based Random Function," (BBRF), the random function Z(u,u;) so defined.
9.8.1
Notion of Blending-Based Random Function
Let Z(u, u;) be a random function for which the elementary event uj belongs to a set 0, itself associated with a Probabilized Space (0,.A, IP}. Let {Z(u, u;i(a;*)),..., Z(u, un(u>*))} be a series of n > 1 independent realizations (see definition (9.28)) of Z(u, u;) obtained in the frame of an n-sampling a;*. For the sake of simplicity in the following sections, the events w* associated with the sampling will be omitted, and the following notations will be used:
Let { B i ( u j } , . . . , Bn(ui)} be a series of n "blending" Random Variables associated with the elementary event uj belonging to 15 and honoring the following constraints:
By definition, the random function Z(u,u;) denned as follows for all u 6 D is called a "Blending-Based Random Function" (BBRF):
Observe that Z(u, u;) can also be written as follows:
9.8. BLENDING-BASED METHOD5
5
9.8.2 The BBRF Z(u,u;), as defined by equations (9.161) and (9.162), has the following properties: • The mean and covariance functions of Z(u, w) are such that
• When n tends toward infinity, Z(u, uj) has the same mean and covariance functions as Z(u,u):
• If the blending Random Variables {Bi} are independent and have the same type of cdf, then, when n tends toward infinity, the cdf FZ(U;S) of Z(U,LJ) tends toward a Gaussian cdf having a mean equal to m^(u) and a variance equal to C^(u, u):
• The blending Random Variables {A}, as defined by equation (9.162), have the following properties where a\. represents the variance of $:
• If each realization of Z(u,u>i) honors a given linear equality constraint, then all the realizations of Z(u, a;) honor the same equality constraint; in other words, for any domain D, any real value 0, and any distribution X (see [194]), the following implication holds true:
Proof It is relevant to note that properties (9.163) are straightforward consequences of constraints (9.160), which are assumed to be honored by the blending Random Variables {B^}.
522
CHAPTER 9. STOCHASTIC MODELING
Taking into account the independence of the n realizations of Z(u,o;*), similar to the properties of the experimental mean and variance (see page 458), it can be shown (e.g., [84, 78, 159]) that
Properties (9.164) are then a straightforward consequences of properties (9.163). If the Random Variables {Bi} are independent and have the same cdf then, according to definition (9.161), for each fixed value of u, Z(u,o;) is the sum of n independent Random Variables with the same type of cdf. According to the central limit theorem (see page 454), using properties (9.164) we easily conclude that property (9.165) is true. Definition (9.162) of the Random Variables {/^(u;)} ensures that property (9.166)-1 holds true:
The two last properties (9.166) of the Random Variables {&} are direct consequences of constraints (9.160) to be honored by the Random Variables {Bi}. According to definition (9.162) of Z(u, o>):
If the left-hand side of (9.167) is true, then, according to the first property (9.166), it can be concluded that
Comment 1 If the Dirac distribution <$ufe at location u^ is chosen for A, and if ^ is a given value z(iifc), then property (9.167) will have the following particular form:
In other words, if each of the functions Z(uk,u)i) interpolates a set of data points, then Z(\ik,uj) also interpolates those data points.
9.8. BLENDING-BASED METHOD
523
Comment 2 Experimental results have shown that the convergence corresponding to properties (9.164) and (9.165) is fast. Even for very small values of n, e.g., n = 10, it has been observed that the limit corresponding to properties (9.164) and (9.165) can be reached. However, when n is small, it is important to check the independence of the n initial realizations used in the blending process.
9.8.3
Choosing the blending Random Variables
There are many possible choices of blending Random Variables {Bi}. The simplest solution is to choose a series of independent Random Variables {Bi} that honor the constraints (9.160)-1 and (9.160)-2:
In this case, according to property (9.23), for any i ^ j, the independence of Bi from Bj ensures that
which, in turn, implies that the constraint (9.160)-3 is also honored: Bi independent of Bj V i ^ j 1 E(Bi) = 0 V i J
Examples The simplest example of blending Random Variables {Bi} is a family of independent, centered, Random Variables uniformly distributed on a segment 13 = [— -^/3/(n — 1), +y / 3/(n — 1)]. A family of independent, centered, Gaussian Random Variables distributed on the real axis O = [—00, +00] and having a variance equal to ^-j- provides another simple example. In both cases, it is easy to check that the constraints, as defined by equations (9.160), are honored.
9.8.4
Ergodic correction
Let o\((jj) be the Random Variable as defined by
where D is assumed to represent the variation domain of the parameter u in the parametric space, while Z(u,uj) is the BBRF as defined by equation (9.161). For points u far away from the data points, a second-order stationary and ergodic behavior is generally required for the simulator S(u,u}), and this implies that
524
CHAPTER 9. STOCHASTIC MODELING
Figure 9.16 An example of realizations of a 2-dimensional blending-based simulator (upper part) based on a series of n = 10 SGS realizations (lower part). The variations of four of each of these realizations color coded in grey are represented at the nodes of a 100 x 100 square grid. The specified variogram j(h) corresponds to a spherical model whose range is represented by the ellipse at the right bottom corner. The spatial variograms of ten realizations computed in the horizontal direction are represented by thin curves. In practice, this condition is rarely perfectly honored, thus, for each event <jj € 0, the following "ergodic correction" operation must be performed:
Note that such a transformation preserves property (9.167).
9.8.5
Application to stochastic modeling
Let us assume that a constrained or unconstrained simulator 5(u, o>) able to generate equiprobable solutions of a given modeling problem has already been built. Consider a series
of n > I independent realizations of 5(u, a;). It may be that the computation of multiple realizations is time-consuming and that, furthermore, the realiza-
9.8. BLENDING-BASED METHOD
525
tions do not fit some linear constraints perfectly. In such a case, the following blending-based simulator approach can be applied: 1. The first step consists in using the definition (9.161) of the notion of BlendingBased Random Function to define the notion of "Blending-Based simulator" (BBS) as follows: 2. The second step is optional: if need be, the n realizations {^(u, uji) : i = 1, n} can be edited slightly to provide an exact fit for linear constraints similar to those defined by equation (9.167). 3. The third step consists of choosing a Probabilized Space (15, A, IP) and a set of associated blending Random Variables {Bi} honoring constraints (9.160). For example, as suggested in section (9.8.3), the blending Random Variables derived from the uniform distribution on the segment 13 as defined by
may be chosen. 4. The fourth step consists in drawing random points {u/,u/',.--} uniformly distributed in 13 and then using equation (9.168) to associate equiprobable realizations (5r(u, u/), S r (u,o;"),...} with each of these random points. Since equation (9.161) involves very few computations, the proposed method is extremely fast. Moreover, from properties (9.164) and (9.167), we deduce that this new simulator honors, approximately, the same mean and covariance functions as the initial simulator 5(u,u;) and also honors the same linear constraints as 5(u,o;), should the case arise. In particular, data points, if any, are honored. Example 1 Figure (9.16) shows a series of realizations of two random functions S ( u , u j ) and S(u,uj) denned on the same 2-dimensional parametric domain D and having a common stationary covariance function:
In this expression, a2 = C(u, u) represents the "variance" of the random functions S(u,u) and 5(u,a;), while 7(h) is their common variogram. The variogram 7(h) is assumed to correspond to a spherical model having no nugget effect yet having an anisotropic range represented by an ellipse at the right bottom corner of figure (9.16). From a practical point of view, the realizations of S(u,uj] shown in figure (9.16) were generated by a Blending-Based simulator (BBS) as follows: • the base functions {S(u,uJi) : i = l,n} consist of a set of n = 10 realizations generated by a Sequential Gaussian simulator (SGS); • the blending Random Variables {Bi(u) : i = l,n} consist of a family of independent, centered, Gaussian Random Variables distributed on the real axis fi = [—00, +00] and having a variance equal to ^y; and
526
CHAPTER 9. STOCHASTIC MODELING
• the ergodic correction was applied to improve the ergodic behavior. It is relevant to note that the equiprobability of the realizations of 5(u, uj] derives from that of the blending Random Variables {Bi(uj) : i = l,n}. To check how correctly the SGS and the BBS methods generate ergodic realizations honoring the specified variogram, figure (9.16) presents the spatial variograms of ten realizations obtained with the BBS method (top right corner) with the spatial variograms of the n = 10 SGS realizations (left bottom corner) used to define the BBS. These spatial variograms have been computed in the direction ul corresponding to the first component of the parameter u = [u1, w 2 ]*. As can be seen, the behavior close to the origin, the range, and the sill of the specified variogram are acceptably honored. In practice, each equiprobable realization S(u, uij) is evaluated at the nodes {uffh} of a regular grid in the parametric domain. Even for grids having one million nodes, such as the ones shown in figure (9.16), the computation time for a realization of a BBS on a regular PC is very short. Example 2 A simple test suite is presented in Table (9.1) to compare the performances of the BBS method with those of the SGS method. In this test suite: • the random function <S'(u, o>) to be simulated is evaluated at the nodes of a 2D square grid and is assumed to have an isotropic spherical covariance function with a range equal to one-third of the grid size; • for both methods, 100 (unconstrained) simulations are computed for three different grid resolutions (50 x 50, 100 x 100, and 200 x 200 cells); • for the BBS method, six different values of the number n of initial solutions are tested to evaluate the impact of this parameter on the computation time; • for each combination of parameters of the test suite, the total computation time on an MIPS R4400 (200 MHZ) processor is reported in Table (9.1). As can be seen in Table (9.1), when compared with the SGS method and all things being equal, the BBS method computation time is at least one order of magnitude lower than that for the SGS method. This remarkable computation speed derives from the simplicity of equation (9.162) which involves only n multiplications and n additions for evaluating a value S(ukh,ajj) at each node ukh9.8.6 Honoring inequality constraints It can easily be checked that, if the inequality constraints
are honored, then:
9.8. BLENDING-BASED METHOD
Method SGS BBS (n= 10) BBS (n= 20) BBS (n= 40) BBS (n= 50) BBS (n= 80) BBS (n= 100)
2500 cells 275 1 2 5 6 10 13
527
10000 cells 1147 4 7 17 23 41 52
40000 cells 4617 17 30 67 96 167 214
Table 9.1 Computation time (in seconds) needed to generate 100 equiprobable realizations of a random function defined on a regular grid (with three different resolutions) using the SGS and BBS methods. The number of initial "blending functions" (n) varies from 10 to 100. In other words, for any domain Z), any real value 0 and any distribution A, if the realizations {Z(u,uJi}} honor the inequality constraint (9.169), then the realizations of the blending-based random function S(u, u>), as defined by equation (9.162) and corresponding to nonnegative values of the {/?j(cj)}'s, also honor the same inequality constraint. In practice, a tricky way to generate realizations of S(u, oj) honoring the inequality constraint
consists in keeping only the events cu corresponding to nonnegative values of the {AHJ's. What does a BBS bring ? The simplicity and the efficiency of the BBS's is somewhat confusing, and one can wonder if these simulators really generate something new compared to the initial equiprobable realizations they use. To answer this question, let us consider two families of equiprobable solutions T and T' built on the same set of data such that • f = (Z(u,u;i), Z(u, ^2),...} is generated, for example, using a Sequential Gaussian simulator, and • F' = {Z'(u, cui), Z'(u, tc>2), • • •} is generated, for example, using a P-fieldbased simulator, In spite of the fact that each of these families contain an infinite number of functions, generally they are completely different:
In other words, P-field-based simulators generate realizations that SGS's cannot generate, and SGS's generate realizations that P-field-based simulators cannot generate.
528
CHAPTER 9. STOCHASTIC MODELING
Now, let us consider the family F" of realizations generated by a BBS using the n first realizations contained, for example, in the family 5-'. Generally, this new family of equiprobable realizations is such that
In other words, the BBS generates equiprobable realizations that neither a SGS nor a P-field-based simulator can generate. Consequently, one can say that the BBS really generates new equiprobable realizations.
9.9
Assessing geometric uncertainties
In this section, two examples will show how stochastic simulators can also be used for assessing uncertainties of geometric objects.
9.9.1
Example 1: Case of a discrete model
Let G be a ]>dimensional geometric object embedded in the IRm space and whose unknown geometry (x(u) 6 ]Rm} is a function of a parameter u itself defined on a region D of ]RP called the "parametric domain:"
Let us now consider a discrete model A^ m (r2,7V, x, C) approximating the unknown geometry {x(u) 6 Mm} of G. At each node a e 0, the parameter u(a) is assumed to be known and x(a) is assumed to be an approximation of the unknown value x(u(a)):
It should be observed that the interpolation {x(a) : a 6 fi} of x(u) generated by the DSI method must be considered as an estimate of the unknown geometry [153]. To assess the uncertainties regarding the geometry of G, we propose building a geometric simulator X(u, u;) having the following form:
Note that it is not mandatory for the vectors {v(a) : a G 0} to be unit vectors, and the construction of X(u, u>) can be reduced to the construction of the scalar simulator 5(u,u;). In practice, it is assumed that
This is achieved if 5(u, u;) is constrained to be centered:
9.9. ASSESSING GEOMETRIC UNCERTAINTIES
529
Assuming that a periodic P-field as denned in section (9.5.2) is used to build the simulator 5(u,c*;), the only parameter remaining to be chosen is the covariance function, which controls the behavior of 5(u, u] when far away from the data points. Comment 1 Observe that equation (9.170) is simply a first-order approximation of the following general nonlinear model:
In this equation, {v(s a) : a € $1} represents a given family of 3D curves parameterized by their arc length s and whose shapes must be chosen as functions of the geometry of G. Note that it is even possible to envision a more general stochastic geometric simulator where the shapes of these curves are themselves stochastic: In any case, however, it is necessary to install some geometric constraints to avoid self-intersecting realizations of the geometric object G. Comment 2 In the case where the geometric object G is a smooth surface not too far from its current approximation, a very simple stochastic geometric simulator consists in choosing v(u) proportional to an approximation of the unit normal vector N(a) to G at point X(U(CK)): Choosing the orientation of v(o:) this way has the advantage of being simple, but does not take into account the origin of the errors. To have a better model, it is necessary to examine the modeling process used for building the first draft of G in detail (e.g., see [49]). Comment 3 If it is assumed that ||v(o;)| represents the maximum amplitude of the variation of the geometry at location x(u(a)), then it is wise to choose C$ (h) to have: It is verifiable that any centered normalized Gaussian Random Variable has a 0.95 probability of belonging to the interval [—1.96,+1.96]. Consequently, if a Gaussian simulator is used, then from this observation, the choice
guarantees that ^(u,^)! will remain lower than 1 with a probability greater than 0.95.
530
CHAPTER 9. STOCHASTIC MODELING
Figure 9.17 Global parameterization of a triangulated geological horizon (A) interpolating seven well-markers and associated stochastic simulations (B, C, D). Note that each of these simulations honors the well-markers perfectly. Comment 4 Assuming that v(a) is not a unit vector implies that 11v(a) 11 can be considered as an additional tuning parameter of the simulation method described above. For example, in geophysics, fault surfaces are identified as "shadow areas" where the seismic survey gives an incoherent image of the subsurface. In practice, each shaded area can be bounded by two more or less parallel surfaces G~ and G+ defining the extreme possible locations of the associated fault surface. In this particular case, this suggests proceeding as follows: • build a surface G located approximately equidistant from G~ and G + , • define the direction of v(a) as being orthogonal to G, and • define ||v(a)|| as half the local distance between G~ and G+. Example Let us consider the triangulated surface and the associated parameterization shown in figure (9.17)-A: this surface built using DSI is assumed to model a geological horizon interpolating seven well-markers. Figures (9.17)-B, C, and D show three examples of stochastic realizations generated by a P-field-based Gaussian geometric simulator of this surface in the simple case where: • the vectors v(a) have a constant length and are orthogonal to the surface, and • the covariance function controlling the behavior of the simulator corresponds to an isotropic Gaussian model with a range equal to | of the maximum extension of the surface.
9.9. ASSESSING GEOMETRIC
UNCERTAINTIES
531
Figure 9.18 Stochastic simulations of channels interpolating six well-markers. Note that each of these simulations honors the well-markers perfectly.
9.9.2
Example 2: Channels simulator
When characterizing heterogeneities of fluviatile reservoirs, one is often faced with the problem of channel facies observed on well logs but not visible in the seismic data [234, 222]. In such a situation, a stochastic simulator must be built and must be capable of generating the geometry of possible channels that honor the well data. For simplicity's sake, let us assume that • the channels have to be generated in a (u, v) parametric space such that the stream directions correspond to the u direction; • the wells can intersect the channels at randomly simulated locations relative to centerlines. According to such hypotheses, the centerline of the channel to be generated can be seen as the realization of a random function v = S(u, u;). We propose to build a sequential simulator constrained to honor a series of points {(iti,Vi) : « = !,..., AT} corresponding to the intersection of the wells with the channel. In this case, the range of the covariance function Cs(h) to be used must be chosen as being equal to half the wave length of the meanders (see [186]). Such an approach gives good results but suffers from one drawback: the shape of the meanders does not look like the real centerline of channels. Section (5.6.1) shows how this drawback can be overcome (see figures (5.16) and (9.18)) thanks to a postprocessing based on the curvature of the centerline of each channel. In practice and as shown in figure (9.18), the (u,v} parametric space is chosen as a map of a channel belt on a paleo-horizon during a given geological time lag (i±At) corresponding to the segments of channel facies intersected by the wells. Proceeding in this way guarantees that the channels so generated will remain approximately in the channels' belt if the covariance function Cs(h] is chosen such as where Ai> represents the width of the channel belt in the parametric space. As shown in figures (9.18) and (9.19), the (u, v) parametric space can be viewed
CHAPTER 9. STOCHASTIC MODELING
532
Figure 9.19 The (u,v,w) parametric space represented in figure (9.18) can be used to parameterize a faulted/folded regular curvilinear 3-grid modeling a geological layer (see also figures 5.16 and 3.18). as a slice of the (w, u, w) parametric space used for parameterizing a regular curvilinear 3-grid modeling a faulted/folded layer. The geometry of such a curvilinear 3-grid can also be denned to fit the shape of the channel belt.
9.10
Conclusions
This chapter presented a series of stochastic methods generating equiprobable 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 possible solutions honoring the available data. These solutions can be used in two different ways for evaluating uncertainties on economic parameters controlling the decision-making process: • First, it is possible to use these solutions for building histograms of economic parameters, depending on the geometry and the properties of the subsurface. • Next, it is possible to examine each of these solutions in turn to determine whether there are some catastrophic occurrences where the geometry and the distribution of physical properties jeopardize the economic exploitation of an oil field or an ore deposit. If such occurrences do exist, then it is of paramount importance to look for additional data to confirm or reject it. It should be noted, however, that while these methods allow an evaluation of the uncertainties, they are (generally) unable to predict their origin.
Chapter
m Discrete Smooth Partition In a broad sense, a fades in geology represents a part of the subsurface where a given set of properties can be considered as more or less constant at a given scale. Each fades can be composed of a series of non-overlapping regions, and the set of all the possible fades constitutes a partition of the subsurface. To estimate such a partition, this chapter proposes a new approach that is based on the DSI method and that takes into account a wide range of structural constraints allowing the space of the possible solutions to be reduced. By definition, any partition obtained using this method will be called a "Discrete Smooth Partition."
10.1
Introduction
10.1.1
The classification problem
Notion of classification In a general way, it can be said that any classification problem consists in splitting a set 0 into a series of non-overlapping subsets {F1,...,Fn}, called the "classes" defining a partition of Q. Such a definition can be applied to very different types of problems, for example, 1. in sociology, if $7 represents a population of individuals, then each class F" may correspond to a social class; 2. in paleontology, if f2 represents the family of dinosaurs, then each class F" represents a different breed of dinosaurs; 3. in geology, if fJ represents a part of a geological layer (see figure (10.1)), then each class F" corresponds to a given type of rock, called the "fades," 533
534
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.1 Partitioning the set fi of all the 3-cells of a (cell-centered) curvilinear regular 3-grid into n subsets corresponding to a given series of geological fades {.F1,.. .,Fn}. For the sake of clarity, in the vertical direction, only one cell out of four has been displayed and the altitudes have been multiplied by a factor of 5. (Data courtesy of Chevron) contained in this layer; and
4. in environmental sciences, if fi represents a region on the surface of the earth, then each class Fv may correspond to an ecosystem present in this area. One of the very first to take a scientific approach to classification problems was Linnee who, in the mid 18th century, proposed the first classification of flowers. In the statistical community, there is a long tradition of works dedicated to "discriminant" and "clustering" methods. In 1936, Fisher [79] posed the problem in mathematical terms, and, since this date, a great deal of literature has been dedicated to this topic. All these methods assume that each element of fi is characterized by a series of numerical and/or non-numerical attributes used for detecting similarities and dissimilarities between these elements. In practice, two generations of such methods can be distinguished: • A first generation of methods, introduced in the 1970s, is based on the notion of "metrics" used to define similarities and dissimilarities in term of distances or pseudo-distances in the space of the observed attributes. A survey of these methods can be found in [11, 83, 203, 103,113, 189, 126] can also be mentioned. • A second generation of methods, introduced in the 1980s, is based on the notion of "neural networks." Compared to their previous generation, these methods represent a major improvement because they are nonlinear and, within the space of the observed parameters, they permit the building of complex shaped classes. A survey of these methods can be found in [104]. Note also that a method close to neural networks is proposed in section (10.4).
10.1. INTRODUCTION
535
Specificity of geometric objects It is important to note that none of the traditional statistical methods distinguishes between attributes corresponding to the location of the elements of f2 in space and attributes corresponding to the properties of these elements. This strategy of clustering is certainly valid for examples (1) and (2) mentioned in the above paragraph, but fails completely for examples (3) and (4) where the location of the elements of fi relative to each other plays a major role. Compared to classic property attributes, it can be said that location attributes have a totally different role for the following reasons: • two elements of fi can belong to the same class Fv even if they are very distant from each other in space, and • the distribution and the shapes of the classes {Fl,...,Fn} in space must honor structural information, if any, related to the geometric shape of these classes. Traditional statistical methods are unable to take into account the specific nature of attributes corresponding to the location of the elements of fi. For this reason, a new geostatistical approach to this problem (Indicator Kriging [116, 117, 118, 199, 188]) has been proposed; this approach makes a clear distinction between the property attribute(s) z(a) and the location attribute(s) u(a) of each element a G £1. This chapter presents a similar approach based on the Discrete Smooth Interpolation (DSI) method that allows a large spectrum of structural information to be taken into account related to the shape and the distribution of the subsets {jP 1 ,..., Fn} over the set 17.
10.1.2
Discrete partition of a geometrical object
Notion of facies As suggested in figure (1.5) and (10.1), any geometrical object can be approximated by a graph1 C/(f2, JV) where: • O is the set of all the nodes of the graph. • N(-) is an application used for specifying the "neighborhood" N(a) of any node a G fi. In this chapter, as suggested in figure (10.1), it is assumed that each node a G O consists of a homogeneous n-cell where non-geometrical attributes2 are more or less constant. Most of the time, the set 17 is not homogeneous and it is necessary to split it into a family F of n different regions Fv called the "facies" where non-geometrical attributes can be considered approximately constant:
the node a of $1 belongs to the facies # v 1
See chapter 1, page 5. 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. 2
536
CHAPTER 10. DISCRETE SMOOTH PARTITION
The family T so defined constitutes a partition of f); this is equivalent to say
that
The problem addressed in this chapter The partition F is generally unknown and its intersection with a given subset L of fi is the only exact information available:
There is, of course, an infinite set of partitions J- honoring the data set L, and the goal of this chapter is to propose a method allowing such partitions to be built, while honoring some constraints. In particular, we are looking for "structured" solutions having the two following properties: 1. If a node a is in a fades F", then it is highly probable that its neighboring nodes (3 G N(a) will belong to the same facies F". In other words, we are looking for a "smooth" partition. 2. The proportions of the different facies and the transitions from one facies to another should honor some structural constraints [91, 195]. It will be shown how the DSI method can be used for building solutions honoring both of these goals, and we propose calling "Discrete Smooth Partition" (DSP), the family J-~ so obtained. Tutorial geological example In figure (10.1) a geological layer is modeled as a cell-centered curvilinear regular 3-grid £(fi, N) where the set fi has been split into n facies induced by non-numerical geological attributes: a € F1 a G F2 a G F3
•<=>• •<=>• <4=>-
a belongs to the "shalestone" geological facies a belongs to the "carbonate" geological facies a belongs to the "sandstone" geological facies
a G Fn
<=$•
a belongs to the "conglomerate" geological facies
The geometry of the curvilinear regular 3-grid is chosen to cope with the sedimentation process in such a way that the curvilinear axis noted as (u, v, w) can be interpreted as follows: • w corresponds to the "paleo-vertical" direction orthogonal to the layer, and it is implicitly assumed that there is an unknown monotonic increasing function t = t(w) linking the geological time t to w; • (it, v) correspond to the "pseudo-horizontal" surface parallel to the layer and are interpreted as the "paleo-geographic coordinates" at geological deposition time t = t(w).
10.1.
537
Figure 10.2 Tutorial example: the initial data consist of a set of four porosity classes {Fl, F2, F3, F4} observed on eleven well-paths plus a regular curvilinear 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). 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. 4
538
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.3 The cumulative Membership Function $(a; s) associated with a Membership Function (f> and a given sorted list {SQ,SI, .. .,sn} of real values. This function can be used to build a simulator S(u,u) from a given P-field P(u, o>).
10.2
The probabilistic approach
10.2.1
A partitioning method based on DSI
Membership Function (f> Let us assume that the number n of possible facies {F 1 ,..., Fn} is known. As suggested in figure (10.1), to each node a G O we propose attaching a vector (p(ot) with n components {(pl(a),..., (pn(a}} such that represents the probability for the node a to be located in the facies Fv:
In other words, (f defines on O a vectorial function called the "Membership Function," which must be interpolated over fi while honoring all the available data. This suggests introducing the discrete model .M n (f2, A/", <£>, C^] where dp corresponds to a set of DSI constraints to be defined so as to honor all the available data. Cumulative Membership Function &(a; s) = 3>(a; s\ip; SQ, si,..., sn) Let {$„} be a sorted list of (n + 1) given real numbers7 such that 7
For the sake of generality, the meaning and the practical interest of this sorted list {«i/} is not detailed at the present time. Sections (10.2.2) and (10.2.3) give examples of how this list can actually be chosen.
10.2. THE PROBABILISTIC APPROACH
539
and let {$(0;; $„)} be the associated list of real numbers defined as follows:
By definition, one calls "Cumulative Membership Function" associated with (f> and {sjx} and one note as $(a; s\(f>; SQ, si, • • -, «n) or5 more simply, $(a; s) the function, as defined by
In other words, as shown in figure (10.3), $(a;s) linearly interpolates the values {3>(a;sv)} as defined by equation (10.2). It should be noted that, if $(a; s) and the associated series {sv} are given, then it is easy to retrieve ?"(a:) as follows:
Simulator S(u, o>) Let us assume that the graph Q(£l, AT) has a topological dimension equal to p. In this case, according to section (4.9.1), it is possible to build a global parameterization u from 0 to a p-dimensional parametric domain D such that
This parameterization can then be used for continuously interpolating on D any discrete function defined on Q, in particular the functions (p(ot) and &(a;s):
It is clear that, for any a G O, the function ( u(a); s ) has all the properties of a cdf function:8 if a global interpolator preserving these properties on D is chosen for $, then ^(u; s) can be considered as a cdf defined on D. As in the case of the simulator introduced in section (9.6.2) and as shown in figure (10.3), to any P-field P(u, w) defined9 on (D x 13), this suggests associating a random function 5(u,o;), as defined by
According to equation (9.103), the cdf -Fs(u; s) of the simulator so defined is identical to <&(u; s): 8
See sections (9.2.2) and (9.3.5). According to the notations introduced in section (9.2.1), 15 represents the set of all the possible elementary statistical events u. 9
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. Sections (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 interpolations for • either the partition F of fi, • or a scalar function 2(11) denned on O. Intrinsic probability constraints Whatever the data, the Membership Function ip must always honor the following "intrinsic" probability constraints:
These constraints are linear relative to ip and can easily be turned into three hard DSI constraints belonging to Cv: • The constraint {^(a) > 0} can be written according to the canonic form of a DSI constraint c = c(a, v} that depends on (a, v} and belongs to C^:
• The constraint {^(a) < 1} can be written according to the canonic form of a DSI constraint c = c(a, v) that depends on (a, v} and belongs to C^:
• The constraint (5^1™ ^(CK) = 1} can be written according to the canonic form of a DSI constraint c = c(a) that depends on a and belongs to C^:
It should be noted that this constraint can also be taken into account, in a least square sense, as belonging to C^ . In such a case, according to the local
10.2. THE PROBABILISTIC APPROACH
541
DSI equation at node a, the terms 7^(a) and T"(a\(p) associated with this constraint take the following form:
One can observe that the notion of "Membership Function" is close to the notion of "indicator" random function used in geostatistics [117, 118, 119]. Another possible approach to our problem would consist of using the indicator Kriging method for estimating (p over Q. Contrary to DSI, however, indicator Kriging equations do not allow the intrinsic probability constraints presented above to be taken into account directly and may generate values
For each data point p E P, two cases have to be considered to take into account the associated piece of information 0(p): • If p is close to a node loftl, then it can be added to the set L of Control-Nodes (see definition (10.1)) where 9? is assumed to be known:
• If p is a long way from any node of Q, then it should be considered as a fuzzy Control-Point (see page 182); such a fuzzy Control-Point will be relative to the set f2* = f2*(p) corresponding to the vertices of the cell of the graph (?(f2, TV) containing the point p. According to section (4.7), this fuzzy Control-Point generates the following DSI constraint c — c(r2*(p)) belonging to C~
where the coefficients {14,3(p)} represent a set of barycentric coordinates of p relative to the location of the nodes of fi*(p). In the case where the data points p G P are strongly clustered relative to the distribution of the nodes a e f2, it is far better to use fuzzy Control-Points than Control-Nodes. To understand the superiority of the fuzzy ControlPoints over Control-Nodes, let us consider two data points, p^ and p j? belonging to P and very close to each other:
542
CHAPTER 10. DISCRETE SMOOTH PARTITION • It is likely that pj and p^ will be simultaneously close to the same node i G fi; since it is impossible to attach two distinct Control-Node values >(Pi) and >(PJ) to the same node £, considering £ as a Control-Node will result in one of the two data 0(pj) or 0(p^) being discarded. • Even in the case where p^ and p^- belong to the same cell £7*, it is possible to take into account both of the pieces of data (/>(PJ) and >(p,-) as two distinct fuzzy Control-Point DSI constraints.
Incidentally, in the case corresponding to figure (10.1) where dense data are sampled on well-paths and where the graph £/(Q, N) consists of a coarse stratigraphic grid, it should be noted that using fuzzy Control-Points elegantly realizes a so-called "upscaling" (e.g., [45]) from the dense well data to the coarse grid. Estimating the partition F As soon as an approximation of the Membership Function ? is known everywhere on fi, a deterministic estimation J-(y>] of J- can be made as follows:
The quality of this estimation can be measured at each node a of 12 thanks to the following function £lp(a) defined on fi, which we propose calling the "Likelihood function":
It is easy to check that the function £p(a) so defined has the following interesting properties that make it a good candidate for measuring the quality of the estimation of F at node a:
The Likelihood function could be used in answering the following question: Assuming that the set of data points L is given, where is the best location in il for observing a new data point (.Q ? A straightforward answer would be to select IQ in the set / = (f2 — L) in such a way that IQ corresponds to the minimum value of £lf(a) on /:
The next section shows that it is possible to build stochastic estimations of T and the deterministic solution presented above has only to be considered as the "most probable" one.
10.2. THE PROBABILISTIC APPROACH
10.2.2
543
Simulation versus estimation
Need for simulations The set of Control-Nodes and fuzzy Control-Points is often very small compared to the local complexity of the partition T to be built. As a consequence, in regions a long way from these Control-Nodes and fuzzy Control-Points, the DSI method, very like any other estimation method, will tend to produce a smooth Membership Function (p. This implies that, in regions a long way from the Control-Nodes and fuzzy Control-Points, the "most probable" partition presented in the previous section can only have a smooth geometry very different from the actual geometry of the unknown partition F. Therefore, as explained in section (9.1), any decision-making strategy based on F is relevant only if it is possible to produce equiprobable solutions JF(ijj\(p) called simulations, honoring the two following fundamental constraints: 1) Each simulation F((jj (p) is assumed to interpolate the Control-Nodes and approximate as closely as possible the fuzzy Control-Points and other constraints, if any. 2) Each simulation F(u)\(p) is assumed to have a local geometry compatible with an a priori knowledge of the "style" of the local variations of F. The next section presents a very efficient method based on the notion of "Pfield" (see section (9.5)) specially designed to produce such solutions. The P-field simulation technique First, consider the cumulative Membership Function $(a; s) defined by equation (10.3) and associated with the sorted list {0,1,..., n\:
The random function 5(u, w), defined by equation (10.6) and associated with a given P-field P — P(u, a;), can be used for defining a new random function SD(U,UJ) derived as follows from S(u,uj):
Note that the random function Sa (u, u) so defined can take only integer values between 1 and n: Moreover, taking into account equation (10.7), it can be deduced that ^"(a) is equal to the probability that 5D (u, uj] is equal to v:
544
CHAPTER 10. DISCRETE SMOOTH PARTITION
This suggests that the following technique may be used for associating an estimation F(uj\(f>} of the partition JF with each elementary statistical event u;:
It should be noted that the constraint (10.9)-1 is automatically honored for any Control-Node I G L because
where v(£) is the index of the facies Fv^ containing the node t (see definition (10.1)). In practice, the only difficulty lies in building the P-field P(u, u;). A naive solution would be to choose for P(u,u;) a simple random variable10 not dependent on u and uniformly distributed on [0,1]:
However, such a choice would generate solutions J-(uj\(p) strongly dependent on the numbering of the facies: • if P(<jj) is close to zero, then Fl(uj\(p) will be overestimated relative to the other facies, and • if P(UJ) is close to 1, then Fn(uj\<£>) will be overestimated relative to the other facies.
To remedy this bias, a random function whose realizations depend on u and have the following properties must be chosen for P(u,u;): • if a £ O is fixed, then the values of the random variable _P(u(a),u;) are uniformly distributed on [0,1], and • if the statistical event u is fixed, then the variations of P(u(a),w) when a scans 11 must mimic the local variations of the unknown partition J- to honor the constraint (10.9)-2. In practice, a P-field similar to the one introduced in section (9.5) will be used for P(u, LJ) whose associated covariance function {Cp(h)} should be chosen to specify the style of the variations of the unknown partition f'. Practical implementation of simulations The simulation technique presented above is no more than a "downscaling" method able to generate high-frequency solutions from low-frequency ControlPoints and Control-Nodes: • the DSI method generates a smooth Membership Function and is responsible for interpolating the data while 10
See section (9.2.2).
10.2. THE PROBABILISTIC APPROACH
545
• the P-field realizations are responsible for generating the high frequency variations 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,
10.2.3
Simulating a bounded scalar function
The problem to be solved Let us assume that an estimate is needed of a scalar function z(a) defined on the set fi corresponding to the nodes of a graph £(f2, N) and bounded by two given values ZQ and zn: A straightforward solution to solve this problem lies in applying the DSI method to the discrete model Ai n (O, N, Z,CZ) where C contains at least the two following hard constraints belonging to C>:
11
In practice, the cells of the fine graph G(ftf ,Nf) are built as regular subdivisions of the cells of the coarse graph G(Q, N). 12 This subset can easily be retrieved in the case where the cells of the fine graph <7(JV, N?) are built as regular subdivisions of the cells of the coarse graph G(Q, N).
546
CHAPTER 10. DISCRETE SMOOTH PARTITION
Such an approach provides one single solution. However, this is not sufficient to assess uncertainties, which leads to a different approach to this problem proposed in the next section. The associated transformed problem To assess uncertainties as described in section (10.2.2), it is proposed to transform the initial problem, described above, into the problem of estimating a partition T of f2 as follows: • Choose a series of (n + 1) real numbers {zv} such that
• Define the discrete model .Mn(il, N, <£>, dp) where
Similarly, if a data point p holds a value z(p) then, as explained on page 541, an associated fuzzy Control-Point constraint (j)z (p) can be installed such that
• Interpolate if with DSL
The Membership Function
If the P-field simulation technique is used for generating equiprobable random partitions, then the classes {F"} are replaced by random classes {Fv(uj\(p)} and z(a) must be replaced by a random function 5(u,u;), such that
where 15 is the set of all the possible elementary statistical events. The next section shows how to build such a random function 5(u, w). A simulation method Consider the cumulative Membership Function $(a; s) defined by equation (10.2) and associated with the sorted list {ZQ, z\,..., zn} introduced in the above section: The random function 5(11, u;) denned by equation (10.6) is bounded and can take only values between ZQ and zn whatever the P-field P(u, cj):
10.2. THE PROBABILISTIC APPROACH
547
Moreover, taking into account equation (10.7), it can be observed that ^(a) is equal to the probability that 5(u, o>) belongs to the interval ]zv-i,zv}:
This suggests using 5(u(ce),o;) as a simulator (see sections (9.1) and (9.6)) associating a simulation Zj(a) with each statistical event MJ:
The exact interpolation problem Assuming that z(£) is known for a node t G L, note, however, that the simulation technique presented above is not precise because:
In the case where precision is important, proceeding as follows will correct the problem: • for each simulation Zj(a) = S(u(a),ujj) of the function z(a) built as indicated above, define the associated discrete model Mn(£l, N, Zj, Cz) in such a way that C reduces to the following Control-Node constraints:
• apply the local iterative form of the DSI method (see section (4.4.3)) limiting it to the subset L*, which consists of nodes belonging to £1 and located in a given neighborhood of the nodes of L. Proceeding in this way ensures that the simulations Zj(a) remain unchanged, except in the neighborhood L* of the subset L where the values {zj(l*} : t* 6 L*} are changed smoothly to interpolate the given values {z(l} : I E L}. Comment The "Gaussian-simulation" technique introduced in section (9.6.2) is a very efficient alternative to the method presented above for simulating a scalar function. The main advantage of the above method, based on the Discrete Smooth Partition technique, is that it can easily take into account the structural constraints presented in the next section:13 About the Heisenberg uncertainty principle As quoted on page 512, within the framework of particle physics, the Heisenberg uncertainty principle tells us that 13
For example, see page 553.
548
CHAPTER 10. DISCRETE SMOOTH PARTITION
From the same set of data, either position or momentum of a particle can be measured with precision. Within the framework of Membership Functions applied to the estimation of a bounded scalar function z(o) presented above, it can be noted that there lies a similar uncertainty principle: • for greater precision of values Zj(ct), the size of the intervals {]zj,_i, zv[ : v = l,n} has to be reduced and, as a consequence, the associated probabilities {(pv(oL) : v = l,n} attached to these classes will decrease; • to obtain high values for the probabilities {(//'(a) : v = l,n} attached to the intervals {]zv-i,Zv[ '• v = l,w}, it is necessary to reduce the total number of intervals, thus decreasing the precision of the values Zj(a).
10.3
Structural constraints
As already mentioned, in addition to the mandatory intrinsic constraints on (f>, it is possible to take into account additional DSI constraints related to prior information on the structure of the unknown partition J-'. In the following sections, a series of such possible constraints corresponding to types of information encountered in the geosciences are presented: 10.3.1
Taking into account a priori proportions
Notion of local proportion The structural information under consideration in this section is related to local proportions of nodes JP(Fv\W(a}} denned as follows where Fv is a part of the unknown partition T to be estimated:
In practice, as suggested in figure (10.4), W(a) is a "floating-window" centered on the node a and JP(Fv\W(a)} describes the local percentage of facies Fv in this window.14 Although the set Fv is unknown, it may be that an initial estimation of its relative size JP(FV W(a)} in W(a] is given. For example:15 • If (Fv fl W(a) n L) is large enough, then a decision can be made to estimate JP(Fv\W(a)} as follows:
14 Note that, if need be, W(a) may be independent of a. In the extreme, W(a) = f2 may even be chosen. 15 Remember that L is the set of nodes where the facies is known. For example, L may correspond to nodes located along well-paths.
1 0 . 3
549
Figure 10.4 Notion of local proportion JP(Fv\W(o)~) of fades F" in the neighborhood W(o) of a node a. • If a given attribute16 z(a] depending linearly on the distribution of this facies F" is known everywhere in Jl, then it is likely that the local average zw(a) of z(a) in V^(o:) will be approximately proportional to JP(Fv\W(ot)}:
In this case, the coefficient k can be estimated using equation (10.10) at locations a £ L corresponding to well data. • A current practice in the modeling of reservoir heterogeneities consists in averaging the curvilinear projection of all the data on the (u, v) surface or on the w axis of a curvilinear regular 3-grid: — As suggested in figure (10.5), the curvilinear projection of the data on the (u, v) surface along the w axis enables us to construct17 an average proportion map /™(w, v) such that
In this case, W(a) is identical to the subset WUv(oi) of nodes having the same (ti, v) curvilinear coordinates as a. — Similarly, the curvilinear projection of the data on the w axis along the (w, v) surface enables us to construct an average proportion curve fc(w) such that In this case, W(a) is identical to the subset Ww(a) of nodes having the same w curvilinear coordinate as a. 16
Such as, for example, seismic impedance. For this purpose, the DSI method can be used for interpolating the projected data in the (u, v) plane. 17
550
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.5 Notion of average proportion map /™(w, v) and average proportion curve fc (w) in a curvilinear regular 3-grid. Local proportion constraint As suggested in figure (10.4), if JP(Fv\W(a}) is known, then it is proposed to translate this piece of information into the following constraint18 operating on the component (pv of
This constraint is equivalent to the DSI constraint c = c(a, z/, W) belonging to the set C~ as denned by
To normalize this constraint (see equation (4.4), page 140), it is necessary to divide both members of the above equation by ^/|PF(o;)|:
18
As usual, the number of elements contained in the set W(a) is noted as |W(o;)|.
10.3.
STRUCTURAL CONSTRAINTS
551
The coefficients A^(f3] and bc associated with the canonic form of this DSI constraint are then such that
It is easy to check that the associated terms {^(a)^T^(a\(p)} occurring in the DSI algorithm (see equation (4.49) page 163) are such that
10.3.2
Taking into account associations with a subset G
Let G be a given subset of fi and let JP(FV\G) be the relative proportion of nodes of G belonging to the .unknown facies Fv:
It can be observed that this relative proportion TP(FV\G] is no more than a conditional probability19 measuring the "association" between the given subset G and the unknown subset Fv in the following sense: • If P(FV\G) is large, then, on average,
In other words, if JP(FV\G) is known, this constitutes a piece of structural information that it is worthwhile taking into account when interpolating the Membership Function (p. Although the set Fv is unknown, it may be that an initial estimation of F(F"\G) is given. For example,20 if (Fv n G n L) is large enough, then a decision can be made to estimate IP(FV\G] as follows:
As suggested in figure (10.6), if JP(FV G) is known, then it is proposed to translate this piece of information into the following constraint operating on the component (pv of (p:
From a mathematical point of view, if we let 19 20
See definition on page 446. Remember that L is the set of nodes where the facies is known.
552
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.6 Notion of probability of association between the unknown fades F and a given subset G. v
Figure 10.7 Nonlinear associations between a bounded unknown function Z(oi) to be estimated on £1 and a given function X(o) known everywhere on Q. then it can be observed that the "association" constraint described above is strictly identical to the "proportion" DSI constraint presented in section (10.3.1). However, it should be noted that, from a practical point of view, these two versions of the same mathematical concept are used to model very different types of information.
10.3. STRUCTURAL CONSTRAINTS
553
Comment To reconsider the problem presented in section (10.2.3), let us assume that the unknown bounded scalar function Z(a) to estimate on f2 is linked, in a fuzzy nonlinear way, to a bounded scalar function X(a) known everywhere on 0. In this case, as suggested in figure (10.7), it is wise to proceed as follows: • Choose two series of values (XQ, ..., x m } and {20, • • •, zn} to build a 2-dimensional histogram where each cell {Gl x F"} is defined by
• For each cell {Gi x F"}, compute the number N? of data points {X(l), Z(t)} represented as black dots in figure (10.7) and corresponding to nodes i G L of $1 where both X(£) and Z(€) are known. • Estimate the probabilities of association JP(Fl/\Gl) as follows:
• use each P(F"\G1} to build an association constraint on the Membership Function of the partition {F1,..., Fv}. In figure (10.7) the fuzzy link between Z(a) and X(a) is represented by a curve Z — f ( X ) , but this is only one very particular type of relationship. Note that the constraint presented above can account for any type of relationship between Z(a) and X(a), even implicit equations with the following general form: For example, if we have
then the "cloud" of data points in the (x, z) plane of the histogram in figure (10.7) is approximately a circle and there is no function Z ~ f ( X ) linking Z(a) and X(a}°, however, contrary to traditional methods, even in such an extreme case the method presented above continues to work.
The next section shows how the notion of association with a function X(a) known everywhere can be generalized in connection with the Moving-Centers method presented in section (10.4.2) and (10.4.3):
10.3.3
Association with a function X
Let X(a] be a function defined and known everywhere on il and let us assume that X(a) takes a specific range of values on each of the n unknown facies {F^,..., Fn}. It makes sense to consider X(a) as a "signature" characterizing the association between X and the unknown facies at node a. It is proposed to use the following method for taking this association into account:
554
CHAPTER 10. DISCRETE SMOOTH PARTITION
• define Y(a) as a function taking integer values in the set {1,2,..., n} in such a way that • use the method based on Moving-Centers presented in section (10.4.2) for estimating the conditional Membership Function (f>(a\X) as denned by equation (10.18); • define the probability of association between the facies (F 1 ,..., F"} and the function X at node a as being equal to tp(a\X}. In this case and to take into account information held by X on the facies {F",..., Fn}, it is proposed to install, on each node a 6 0, a DSI constraint specifying that It can easily be checked that each of these constraints is a fuzzy Control-Point DSI constraint already introduced in section (4.7).
10.3.4
Taking into account anisotropies
Anisotropy controlled by a structuring window Most of the time, in geoscience applications, the distribution of the facies is anisotropic and taking such an information into account is of paramount importance. A very simple and efficient way for defining the anisotropy of a component (pv of the Membership Function consists in proceeding as follows: • Choose a given family of "structuring" windows {W^a) : a G O} where each window Wv (a) consists of a subset of SI containing the node a and at least one more node of SI. • Specify that, for each node a, the value fv(oi} is as close as possible from the average value of ?" in the domain Wl/(a) — {a}:
In practice, such a constraint can easily be transformed into a dynamic fuzzy DSI Control-Node constraint c = c(a, v, W)(see page 164) specifying that ^(ot] should be such that In this constraint, $va is assumed to be dynamically defined as the average value of (f>v in the domain Wv(ot] — {a}:
According to equations (4.53) the associated terms {^(a),T^.(a\(p)} occurring in the DSI algorithm (See equation (4.49) page 163) are such that
10.3.
STRUCTURAL
CONSTRAINTS
555
Figure 10.8 Two fades test example for anisotropy constraints: the probability of fades F1 is coded in grey and part (A) shows the actual solution while part (B) shows the Control-Nodes. Parts (D) and (C) represent the result of the DSI interpolation of (f>1 with and without anisotropy constraints, respectively. Comment about the structuring windows It should be noted that the choice of the family of structuring windows {W^a)} is extremely flexible: • the size and the shape of Wv (ct) may vary from one node a to its neighbors, and • a different family of structuring windows can be chosen for each component of the Membership Function (p. In practice, the shape, the size and the orientation of the structuring windows must be chosen to capture the style of the anisotropy. For example: • if the variogram of a variable depending on the facies has been estimated, then the range ellipsoid of this variogram can be used as a structuring window, and • if the facies are associated with channels whose direction and width are known, then the shape of W(a) can be adapted locally to take into such an information into account. Two facies test example Let us consider the two-dimensional test example represented in figure (10.8)A, where two facies F1 and F2 correspond to three horizontal strips covering
556
CHAPTER 10. DISCRETE SMOOTH PARTITION
a regular rectilinear 2-grid with nv = 21 nodes in the vertical direction and nu = 21 in the horizontal direction. The "observed" data consist of a series of Control-Nodes represented in figure (10.8)-B specifying that • F1 is given and fixed on the left-hand side of the studied domain, and • F2 is given and fixed on the right-hand side of the studied domain.
Interpolating the Membership Function ? with DSI without other constraints than these Control-Nodes and intrinsic constraints produces the image represented in figure (10.8)-C, which is quite different from the actual distribution of facies represented in figure (10.8)-A. Let Aw and Ai; be the absolute values of the variations of the components u and v of the parameter u of the stratigraphic grid when moving from one node to its closest neighbor in the u or v direction, respectively. To take into account the anisotropy of the distribution of the facies, consider now the family of structuring windows defined as follows in the 3D parametric domain of the stratigraphic grid:
As can be seen in figure (10.8)-C, using anisotropy constraints based on this family of structuring windows yields a solution closer to the actual solution shown in figure (10.8)-A.
10.3.5
Taking into account gradients
Notion of a gradient of facies There are many cases where the construction of the set of facies {Fl..., F"} is controlled by one main physical parameter.21 The following are geological examples: • In a sedimentary basin, the type of rock at a given location a depends on the depth of the sea z(a) at this location at the time of sedimentation; for example when one moves from the sea-shore to the off-shore, the facies are encountered in the following order controlled by a series of thresholds of depth {^0, Zl, . . ., Zn}-
conglomerate
—>
sandstone
—»
carbonate
—>
shales
• In a metamorphic region, the type of rock at a given location a depends mainly on the temperature T(a) at this location at the time of crystallization; for example, when moving from low to high temperatures, the metamorphic facies are encountered in the following order, which is controlled by a series of temperature thresholds {to, t i , . . . , tn}:
shist 21
—»•
gneiss
—>
migmatite
—>
granite
In practice, this "controlling" parameter can be a synthetic factor merging the contribution of several actual physical parameters.
10.3. STRUCTURAL CONSTRAINTS
557
More generally, if there is a scalar function z(-) defined on Q, such that
then, one can consider that this function z(-} induces an order on the set of facies composing the unknown partition T = (F 1 ,..., Fn}:
Most of the time, the values of the thresholds {ZQ, • • ••, zn} and the variations of z(-) on O are unknown and the facies of T cannot be built directly from equation (10.13). There are many situations, however, where the direction g of the gradient of z(-) can be estimated over a region A C 0:
The next section shows how such a piece of information can be used to define a DSI constraint affecting the Membership Function (p associated with the unknown partition T to be estimated. Facies-gradient constraint Let (a ® l s ) be the node of Q reached when one moves one step from a on the graph £(17, TV) in the direction g — g(a):
Using this notation, it is clear that the unknown function z(-) controlling the partition T is such that In other words, if we are in facies number v(a] < n at location a € £7, then, according to equations (10.13) and (10.14), the probability of being in facies number (v(a) + 1) at location (a © l g ) should increase:
It can be concluded that this inequality induces the following constraint on the Membership Function (p associated with the partition F
where v(a) is the index of the most probable facies at location a assumed to be lower than n: Such a constraint can easily be turned into a canonic inequality DSI constraint c = c(a, g) belonging to C> and having the following general form
558
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.9 In sedimentology, the direction of the sea level gradient throughout geological time can be decomposed into two components gw and guv. The component gw is deduced from the Eustatism curve E(w), while the component guv indicates the direction of the paleo-off-shore. where the coefficients A^(j3) and bc are denned by A209)
=
b
=
1 if 77 = (i/(a) + 1) & (3 = (a 0 1< if j] = (i/(a) + 1) & /3 = a otherwise
1 0 0
It should be noted that the facies-gradient constraint c = c(a,g) so defined is a dynamic constraint (see section (4.4.4)) because i'(a), as defined by equation (10.15), may change throughout the iterations of the DSI algorithm (see algorithm on page 166). It can be observed that the gradient constraint so denned is both global and hard; as a consequence, such a constraint can dramatically control the variations of the Membership Function (p. To moderate its contribution, it may be wise not to take it into account at each iteration of the DSI algorithm: a better approach consists of activating this constraint only every p iteration. The parameter p so introduced then appears as a "relaxation" parameter. Application to sedimentology In addition to seismic and well data, sedimentologists can, generally, provide information as to the variations of the sea level throughout geological time. As suggested in figure (10.9), the direction of the sea level gradient can be divided into two components: 1. a "paleo-vertical" component gw oriented upward relative to the w axis of the stratigraphic grid if the sea level is rising at geological date t = t(w) of sedimentation and oriented downward if the sea level is dropping; and
10.4. MOVING-CENTERS-BASED
METHODS
559
2. a "paleo-horizontal" component guv parallel to the (u,v) horizons and indicating, globally, the direction of the off-shore at the time of sedimentation. One or two of these components may be given by the sedimentologist, at least on a subset A of f2. In practice, the vertical component gw is deduced from the derivative of a curve E(w], called an "Eustatism curve," describing the variations in the sea level as a function of w. The derivative of this curve is assumed to have the same sign as the derivative of the sea level at geological time22 t = t(w) so that gw can be deduced as follows: gw oriented upward gw oriented downward As suggested in figure (10.9), the two components gw and/or guv can be used for denning gradient constraints on nodes a 6 A of the discrete model used for modeling the subsurface. Application to paleo-channel modeling As suggested in figure (3.18), let us consider a stratigraphic grid filling a paleo-channel. As usual, it is good practice to adjust the orientation of the curvilinear axis (it, v, w) as a function of the main parameters which controlled the sedimentation at the time of deposition (see [200]). For example, let us assume that these curvilinear axes are oriented as follows: • the u axis is oriented radially from the left bank to the right bank, • the v axis corresponds to the orientation of the paleo-stream-tubes, and • the w axis corresponds to the paleo-vertical. Due to the shape of the meanders and the shape of the section of the channel, the cells do not have a constant size in the (it, w) cross sections and this cells can be calibrated to be such that • small cells correspond to small intensities of the paleo-flow, and • large cells correspond to large intensities of the paleo-flow. The intensity of the paleo-flow controls the granulometry. It may be wise to use the gradient of the size of the cells as a DSI constraint to be applied to the Membership Function of the facies corresponding to different classes of granulometry.
10.4
Moving-Centers-based methods
This section presents a very simple traditional method used in data analysis for partitioning a set £ of elements characterized by a vector of attributes X(e) observed for any e G £. It will also be shown that this method can easily be adapted to • estimate, in a nonlinear way, a property Y(e) in function of the observation X(e) realized on each element e 6 £, and 22
It is implicitly assumed that dt/dw > 0 for any value of w.
560
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.10 Partitioning the set 8 with a Moving-Centers method: each data point e e 8 has an image X(e) in the space of the attributes (black points). Each point #„ is a Moving-Center (white circles) denning a Voronoi region V(xv) in the attributes' space. The inverse image X~l(V(xv}} of each Voronoi region is a part of £ corresponding to a class Cv. The boundaries of the Voronoi regions are represented as straight white lines in the space of attributes. • take into account the geometrical location of the elements e G £. Moreover, as mentioned in section (10.3.3), this method can be neatly combined with the DSP method for modeling and taking into account probabilities of association with a property Z(a) assumed to be known everywhere on the set J7.
10.4.1
Moving-Centers partition MC(£, X\x\,..., xn)
Introduction Let X be a vectorial function denned on a finite set E:
For each element e, the numerical values corresponding to the components of X(e) are assumed to be "attributes" characterizing e and it is possible to envision using these attributes to partition 8 into a series of n classes {Ci,.. .,Cn}. The parameter n is assumed to be given, and the goal is to build this partition in such a way that • on average, X(e) varies as little as possible within each class CV, and
10.4.
561
MOVING-CENTERS-BASED
• on average, ( X ( e ) , X ( e ) } should be, as far as possible, different if e and e belong to two different classes.
As suggested in figure (10.10), to solve this problem, it is assumed that, ir the attributes's space JRP', the image X(CV] of each class is fully containec in a Voronoi region (see definition (3.2) page 99) V(xv] centered on a poinl xv E Mp. In other words, each of the centers {xv : v = 1,.. .,n} defines i class Cv as follows:
The "Moving-Centers" method in a nutshell As shown in figure (10.10), the image X(£) of £ in the attributes' space fit? consists of a "cloud" of \£\ points. Let k be an iteration counter; to any giver set of n "centers" xl belonging to JRP, it is possible to associate a partition X\-kof X ( £ ] as defined by
with: Any initial given partition X^ of Mp can always be improved thanks to the "Moving-Centers" method [83, 126, 59], which corresponds to the following iterative algorithm: //— Moving-Centers algorithm let { x\ , . . . , xn } be an arbitrary initial set of points of JRP let k <- 0 while( more iterations are needed ) { let X^ be the partition associated with { x\ , . . . , Xn } for_all( v € [l,n] ) { • xH?+l] = center of gravity of x}f] }
• k<-k + l }
As can be seen in figure (10.11), at each iteration, the centers {xv} move to £ new location, giving this algorithm its name: the "Moving-Centers" method This algorithm is proven to be convergent,23 and the series of partitions {A^} so obtained has the following interesting properties [126]: • If Wv
23
is denned as the "within" dispersion of class Xc,
In practice, it converges very rapidly.
at iteration k
562
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.11 Sketch showing the convergence of the Moving-Centers algorithm: at each iteration, the Moving-Centers (white circles) are moved to new locations (grey circles) corresponding to the centers of gravity of the initial data (black points) contained in the Voronoi regions defined by the previous location of these Moving-Centers. The boundaries of the Voronoi regions are represented as straight white lines. then it can be shown [126] that the average value of Wl iteration
decreases at each
In other words, on average, each region X» tends to adapt its geometry to minimize the dispersion of the points X(e) it contains. • If B^ is defined as the "between" dispersion of partition X^ at iteration k
then it can be shown [126] that B^ increases at each iteration
In other words, on average, the centers of the classes {Xl } tend to become as dispersed as possible.
1 0 . 4
563 56
As shown in figures (10.10) and (10.11), the classes {X^} so defined are delimited 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 generated by the Moving-Centers method are never empty. • In the notation MC(S,X\xi,.. .,xn), the initial Moving-Centers {xi,.. .,£n}, given as input of the method, are assumed to be replaced by the centers that define the classes generated by the method: In other words, although this is not at all recommended in software design, the algorithm MC(£, X\x\,.. .,xn) is assumed to modify its input arguments {#i,.. ,,xn}. From a theoretical point of view, the following more rigorous, but cumbersome, notations would be preferable: MC(£,X |*i,...,4 ; z!..,4) where the {xl} are the new centers generated as outputs by the algorithm, while the {xl} are its inputs. Non-uniqueness of the solution It should be noted that the Moving-Centers method does not generate only one solution: the partition MC(£, X\xi,..., xn] depends, theoretically, on the number and location of the initial centers {x\,..., xn} given as input. In practice, however, for a given number of centers n, the classes generated by different sets of initial Moving-Centers are pretty similar. Therefore, a series of n points {xv = X(ev}} randomly selected among the images { X ( e ) : e € £} is generally chosen as the initial set {#1,.. .,xn}. As can be seen in figure (10.11), in the case where the images of the classes in the attributes' space are well individualized, the partition generated by the Moving-Centers method retrieves these classes and, in practice, does not actually depend on the location of the initial centers. Preprocessing of the data The method presented above implicitly assumes that the components of X(e) are chosen in a consistent way. In particular, the following possible problems have to be taken into account:
564
CHAPTER 10. DISCRETE SMOOTH PARTITION
• The p components of X(e) may correspond to heterogeneous physical parameters having very different orders of magnitude. This may have a detrimental effect on the metric || • \\JRP of the attributes' space: in this case, components of X(e) having the largest order of variation will completely override the effect of the other components. • Even in the case where the components of X(e) are of the same type, it is unavoidable that some of these components may be redundant (e.g., correlated): in this case, redundant variables will also tend to override the effect of the other components. • Most of the time, the components of X(e) correspond to experiments affected by measurement errors: in this case, the experimental errors will also tend to corrupt the distances between the elements of the set £. The following procedure provides an excellent technique for avoiding all these problems: 1. Compute the principal components24 of the raw data {X*(e) : e G £} corresponding to experimental measurements. 2. Choose as {X(e) : e € 8} the first p principal components explaining 80% of the data variance. In practice, such a preprocessing generates excellent results.
10.4.2
Estimating a function
There are many situations where a function X(e) is known for each element e E £ of a given set £, while a second function Y(e) is known only on a subset 8* of £ called the "learning set." In such a case, using the "links" between Y and X for estimating Y(e) everywhere on (£ — £*) can be envisioned. For example, if X(e) represents a seismic amplitude25 observed at each node e of a seismic cube £, then Y(e) observed at well locations e € £* crossing the seismic cube may be • the porosity: in this case, Y(e) is assumed to be a continuous function taking its values within the range [0,1]; • a porosity class: in this case, Y(e) is assumed to be an integer function taking its values within the set {1,2,..., m} in such a way that Y(e) = i if e has a porosity belonging to class }yi-i,yi}', • the index of a geological facies: in this case, Y(e) is assumed to be an integer function taking its values within the set (1,2,..., m}; • the presence or absence of a given geological facies: in this case, Y(e) is assumed to be a Boolean function taking one of the two values 0 or 1; • the dip of the layers: in this case, Y(e) is assumed to be a continuous vectorial function taking its values on the unit sphere of JR3. Generally the "links" if any, are very complex, and it is illusory to look for one single value Y(e) = f ( X ( e } } attached to each node e 6 £. Assume that 24 For a complete presentation of Principal Component Analysis (PCA), the reader is, for example, referred to [126]. 25 X(e) could also represent the invariants of the strain tensor computed as indicated in section (8.6.7).
1 0 . 4 .
565
Figure 10.12 An example showing the different components of an estimator of Y based on the Moving-Centers method in the case where the input X and the output Y take their values on M1. In this particular example, the link between X and Y cannot be described by a function Y = f(X). X(e) belongs to a given subset Xi of S: a more realistic approach is to try to determine a conditional membership function26 (p(e\X) such that
where n is assumed to be given, while y — {3^i, • • •, yn} is a given partition of the space of the possible values for Y(e). In practice, (3^,..., yn} is generally given a priori, but, if need be, it can also be constructed automatically with the Moving-Centers method based on the observations of the values {Y(e*} : e* 6 £*} on the learning set 8*:
26
Remember that, according to equation (9.2), JPQ^IAfj) represents the conditional probability for Y(e) to belong to the set yj when we know that the value X ( e ) belongs to the set Xi.
566
CHAPTER 10. DISCRETE SMOOTH PARTITION
A first solution based on Moving-Centers First, build a partition X = {Xi,..., Xm} of the learning set 8* based on the observations of the values {X(e*) : e* e 8*}:
As suggested in figure (10.12), using the two partitions X and 3^, for each e* € 8* such that X(e*) G A'j, the components of the conditional membership function27 (p(e*\X) can be estimated as follows:
Next, as illustrated in the lower part of figure (10.13), it is proposed to use the centers {#1,.. .,xm} and their associated Voronoi regions {V(ori),..., V(xm)} for extending this estimation of the components of (p(e\X) as follows on the whole set 8 where X(e) is known:
A better solution based on Moving-Centers One can consider the estimation method presented above as a "black box" with m inputs and n outputs: • TO represents the number of different Voronoi regions of the attributes' space that one wants to take into account as input of the proposed estimation method. Ideally, choosing a large value forTOwould seem to be ideal to make this method as discriminant as possible. However, correct estimation of the probabilities \Xi Cl 3^ |/1<-fi| requires TO not to be too large to have enough points X(e*) in each class Xi. • n represents the number of different classes of values of Y(e) to be generated as output of the proposed estimation technique. The value of n is generally determined as a function of the application, but must remain small to have enough points in each set Xi fl 3^- to estimate the probabilities \Xi Pi 3 / j|/|< ; ki| correctly. Let us assume that n has been chosen; as illustrated in figure (10.12) and in the upper part of figure (10.13), a three-step algorithm is proposed to improve the estimation of the Membership Function (p defined by equation (10.18): 1. Using the images (y(e*) : e* 6 £*}, choose or build a partition y = {^i,.. .,3^} of the learning set S* denning the output of the method:
27 In other words, y>i(e*\X) is the conditional probability of y,- relative to the fact that it is known that X ( e ) belongs to Xi.
10.4.
MOVING-CENTERS-BASED
56
Figure 10.13 Construction of the Membership Function
3. Merge into "macro classes" the classes {Xi} of the initial partition X considered redundant due to the fact of their similar links with the subsets of the partition y. The merging of classes of the initial partition X proposed above can itself be performed by the Moving-Centers algorithm, proceeding as follows: • Consider the set {xi,...,x m } as a set of points holding n attributes that correspond to the components of a vectorial function Q(x) similar to the initial estimate of the Membership Function defined by equation (10.18):
If $(xii) = $(xi 2 ), then, according to equation (10.18), x^ and Xi2 should result in the same value for the conditional Membership Function being estimated. Consequently, <&(•) may be used for clustering the points Xi where
568
CHAPTER 10. DISCRETE SMOOTH
PARTITION
the values of this function are close to one another; this is precisely the goal of the next step. • Build a partition of {#1,..., xm} based on the attributes corresponding to the components of $(xi)
where {>i, ...,>„} are n < m points in the attributes' space Mn defined by the n components of $(xi). In practice, the number n of new centers {<^i,..., <£>&} should be chosen to have the same order of magnitude as the number n of output classes. Let Ik be the set of indexes such that
Using the new centers {<^>i,..., >„} denned above, we propose modifying as follows equation (10.18) to extend the estimation of the conditional Membership Function (p(e\X) everywhere on S for all j e {1,..., n}:
About the output The above estimation method can be summarized by the following expression:
For each input value X(e) € V(xi), the estimation based on the MovingCenters 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
10.4.
MOVING-CENTERS-BASED
METHODS
569
— determine the index j such that
— select at random a value Y(e,uj) in the set ^. As can be seen, proceeding in this way generates a random function Y(e,u>) defined on £. • Finally, if the elements e e £ are distributed at the nodes of a regular N-grid, then the Membership Function ip(e\X) can be used to build a DSI association constraint (see section (10.3.3)).
Analogy with neural networks As suggested in figure (10.13), it is relevant to note that there is a very close analogy between the above method and the notion of neural network used for solving similar problems (e.g., see [104]): • the centers {xi,..., xm} are the analog of the nodes of the "visible" input layer, while the probabilities \Xi fl 3^|/|<-f;| correspond to the associated weightings; • the centers {y\,..., yn} are the analog of the nodes of the output layer; • the centers {0i,...,0n} are the analog of the nodes of the "hidden" layer, while the probabilities | Uie/ fe Xi H J^|/| Uie/ fc Xi\ correspond to the associated weightings; • the indicator functions of the Voronoi regions {V(xi)} and {V((f)i)} are the analogs of the sigmoid (logistic) functions; • the construction of the centers (0i,..., 0^} and the estimation of the probabilities | Uj € / fc Xi Pi 3^|/| Uie/ fc Xi\ are the analog of the learning phase. It must be noted that the proposed method has some advantages as follows: • Compared to the so-called "back-propagation" algorithm used in the learning phase of traditional neural networks, the Moving-Centers algorithm is much simpler and converges extremely fast; • Compared to the obscure notions of weightings and sigmoid functions used by actual neural netwoks, the centers {xi,..., xm}, {0i,..., 0n}, and {yi,..., yn} and the conditional probabilities | Uj € / fc Xi fl 3^j|/| Ui £ / fc Xi\ have easily comprehensible physical interpretations; • Designing the architecture of the connections of a net is unnecessary, since the equivalent is realized automatically by the Moving-Centers method. However, in spite of its analogy with neural networks, the above estimation method based on the Moving-Centers cannot be considered as a regular neural network technique. For this reason, we suggest using the acronym "MCestimator" to designate this method.
570
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.14 Any function Z(a) defined at the nodes a e f2 corresponding to the n-cells of a regular (cell-centered) n-grid can be transformed into a vectorial function X(o) capturing the behavior of Z in a moving window W(a). By definition, the p components {Xv(a),..., Xp(a)} of X ( a ) are called the "attributes" of a.
10.4.3
Taking into account the geometry
As suggested in figure (10.14), let Q be the set of M-cells corresponding to a N regular M-grid, itself embedded in a M space with N > M. In this section, W we address the problem of building a partition of a subset f2 of 17 based on the variations of a given function Z (a] assumed to be known for any M-cell a e (7 of the regular M-grid. As mentioned on page 535 in the introduction to this chapter, as for any classical clustering method, the Moving-Centers method is unable to take into account the location of the cells a G 0, relative to their neighbors in the grid. However, as suggested in figure (10.14), it is very easy to adapt this method to capture the behavior of Z(-) in a given neighborhood VF(o;) of each cell a. To this end, merely choose a "pattern" consisting of a set of p translation vectors {hi,.. .,hp} denning W(a) as follows:
10.4. MOVING-CENTERS-BASED
METHODS
571
If we let
then the Moving-Centers method can be used to build a series of n classes W {Ci, • • -i Cn} corresponding to a partition of £1 :
W
In this case, the partition of 0 so obtained does actually integrate the geometry 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 components {Zi(oi),..., Zq(a)} defined on Q. In this case, a specific window Wj(a) can be associated with each component Zj(a), and the above definition (10.19) can be extended as follows:
with: As can be seen, the dimension p of the resulting attributes' space is thus such that
Proposal for a simulator Let us assume that the Moving-Centers-based method presented in section (10.4.2) is used for estimating a parameter Y(e) = Y(a) in the particular case where the items e = a are distributed on the nodes of a regular grid. In this case, we can think of slightly modifying the algorithm presented on page 568 to generate a random function S(u(a),uj) corresponding to a simulator of Y(a): • draw an event u belonging to the (abstract) set 13 of all the possible events; • build the realization P(u(a), a;) of a P-field honoring a given covariance function; • choose the index j such that
• select at random a value S(u(a),uj) in the set 3^Proceeding in this way allows to take into account the correlation between Y(a) and the local behavior of Z in each neighborhood W(a).
572
CHAPTER 10. DISCRETE SMOOTH PARTITION
10.5 This section presents a real case study showing how the Membership Function and the Moving-Centers-based methods can actually be used to estimate the variations of the porosity in an oil and gas reservoir. The initial data represented in figure (10.2) consist of • the geometry and the topology of the reservoir defined by a cell-centered regular curvilinear 3-grid adapted to the style of the sedimentation and having the following dimensions in the w, v and w directions:
• the seismic amplitudes reported on the grid defined above; • a set of eleven wells paths along which the following four "porosity facies" have been measured: — Fl corresponds to the range of porosity [ 0%, 13%[; — F2 corresponds to the range of porosity [13%,20%[; — F3 corresponds to the range of porosity [20%,50%[; — F4 corresponds to the range of porosity [50%, 100%].
It is important to note that, as mentioned on page 536, the w axis of the regular curvilinear 3-grid is assumed to be oriented in the vertical direction while the (u,v) axes are assumed to be tangent to the sedimentary units within the reservoir: proceeding in this way allows w to be interpreted as a kind of "normalized" geological deposition time. The goal is to estimate, at each 3-cell a of the grid, the Membership Function (p(a) whose components {(pl(a), (p2(a}, (p3(a), ?4(a)} represent the probabilities of the four facies {-F1, F2, F3, F4} occurring in the 3-cell a. In practice, the work flow presented in this section can be considered as a template that can be used for similar studies each time a set of facies has to be estimated in a reservoir. Preprocessing (1): Building geophysical facies The seismic amplitudes stored in the cell-centered regular curvilinear 3-grid represented in figure (10.2) must be preprocessed to be correlated with the facies {F1, F2, F3, F4} to be estimated. For this purpose, as mentioned in section (10.4.3), it is necessary to use one or several given neighborhoods {Wi(a;),..., Wq(a)} consisting of moving windows centered on the 3-cell a. In this tutorial example, two windows Wi(a:) and W-2.(oi) were chosen as follows, where A u (a,/3), Av(o:,/:?) and Aw(a,0) represent the number of grid steps between two 3-cells a and (3 in the u, t>, and w directions, respectively:
10.5. A TUTORIAL EXAMPLE
573
Figure 10.15 Tutorial example: "geophysical fades" {Gl,...,G7} estimated with the Moving-Centers method and probabilities of association with "porosity fades" {F1,..., F4} estimated on well-paths. To avoid side effects, the seismic data have been extrapolated beyond the limits of the grid so that W\ (a) can be defined for each cell of the grid and used as described in section (10.4.3) to build a series of "geophysical fades" {Gl,...,Gn}. For this purpose and to take into account both the seismic amplitude and the "normalized" geological time t = w, the two following functions Z\(fi] and Zi(fi) are associated with windows W\(oi) and W^ot), respectively: Zi(fl) = seismic amplitude in the 3-cell /3 € Wi(ct) Z-i(&] = ^-coordinate of the center of the 3-cell (3 E W^ot) According to the procedure defined by equation (10.20), these functions and the patterns associated with the moving windows Wi(a) and W2(a) can be used to define a vectorial function X(a) with (75 + 1) components characterizing the behavior of the seismics in the neighborhood of any 3-cell a of the grid. Based on this function X(a) and the porosity facies observed on well-paths, two types of results are presented in figure (10.15): • Having specified the maximum number of classes as equal to n = 7, figure (10.15)-A displays the classes obtained with the Moving-Centers algorithm in color. In what follows, the classes
so obtained will be considered to be "geophysical facies." • The intersection of the grid with the well-paths contains 8, 204 3-cells that can be used as a training set for estimating the conditional probability JP(G1\FV} of having, within the same 3-cell, both a geophysical facies Gl and a porosity facies Fv'. Figure (10.15)-B shows a perspective display of such conditional probabilities.
CHAPTER 10. DISCRETE SMOOTH PARTITION
574
Figure 10.16 Schema showing the different scales of observation corresponding to well data (measured logs), seismic data, and direct visual observation in a reservoir. The comparison with observations made on the structure of the Eiffel tower gives a relatively good idea of the discrepancy between these different scales of observation.
As one can see in figure (10.15)-B, the conditional probabilities IP(G* F1') appear 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 correspond to the same scale of geometrical precision. The origin of this discrepancy 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, preprocessing 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 wavelength as the seismic data. The drawback of this approach is that it implies a loss of precision on well data. Moreover, the wavelength of the wavelet is difficult to estimate (see [80]). In this tutorial example, a slightly different solution particularly well adapted to the Membership Function approach of our problem was chosen: for each 3-cell a intersected by a well-path, we proceeded as follows: • the average proportions ^>Q = {<$>&, >«> >a> <^Q} of each of the four facies {F1, F2, F3, F4} along the portion of well-path intersecting this cell were com-
10.5. A TUTORIAL EXAMPLE
575
Figure 10.17 Tutorial example: specified proportion maps (Al, A2, A3, A4) and resulting proportion maps (Bl, B2, B3, B4) corresponding to the interpolation of the fades {F1, F2, F3, F4}. As one can see, there is a perfect fit between the specified maps and the maps deduced from the interpolated Membership Functions. puted, and • 0a was set as a DSI fuzzy Control-Node at location a. As mentioned on page 541, proceeding this way realizes an implicit upscaling. Preprocessing (2): Building proportion maps and curves The conditional probabilities JP(F"|(7Z), together with the given distribution of the geophysical facies {G 1 ,..., G7} in the regular curvilinear 3-grid, can be used for estimating average proportion maps f^(u,v) and average proportion curves f"(w). For this purpose, let us first define auvw and the function ^-G^^uvw)'-
_ 3 - c e l l centered on location (w, v,w) ~in t h e cell-centered regular curvilinear 3-grid _1 0
i f auvw e Gl otherwise
Using these notations, let glm(u,v] and glc(w] be the functions defined as follows in the parametric domain of the regular 3-grid used to interpolate the Membership Function (f>:
576
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.18 Tutorial example: specified proportion curves (A) and resulting proportion curves (B) corresponding to the interpolation of the fades {F1, F 2 , F3, .F4}. As one can see, there is a perfect fit between the specified curves and the curves deduced from the interpolated Membership Functions. These functions can be used for computing average proportion maps /^(w, v) and average proportion curves f c ( w ) easily:
Figures (10.17) and (10.18) show the proportion maps and curves obtained using this procedure: • the maps {/^, /™, /™, /m} are represented in figures (10.17)-A1, A2, A3, and A4; • the curves {fc>fc,fc,fc} are represented in figure (10.18)-A. If need be, these maps and curves can be sharpened or smoothed using, for example, one of the techniques presented in sections (1.4) and (4.4.4). These curves and maps can also be edited manually by the geologists, provided that the following consistency conditions remain preserved for all w, i>, and w.
Estimating the Membership Function (f> An estimation of the four components of the Membership Function ? can be seen in figure (10.19). This estimation was obtained with the DSI method using only the following constraints:
10.5. A TUTORIAL EXAMPLE
577
Figure 10.19 Tutorial example: components {(f>1, (f>2, y?3, <£>4} of the interpolation of the Membership Function ? corresponding to the fades {F1, F2, F3, F4 } observed on the weJ]-curves represented in figure (10.2). • the intrinsic probability constraints; • the fuzzy Control-Nodes set along the well-paths represented in figure (10.2) and deduced from the observed porosity facies {F1, F2, F3, F4} along these paths; • the proportion maps and curves represented in figures (10.17)-A1, A2, A3, A4 and (10.18)-A, respectively; • the 28 Association constraints defined by the series of geophysical facies {G 1 ,...,^ 7 } known everywhere in the reservoir and the 28 associated conditional probabilities JP(F"|G Z ), represented in figure (10.15), that were estimated from the well data represented in figure (10.2).
In this particular case, due to the excellent quality of the seismics, the anisotropy constraint was not considered useful and was not used. Similarly, the gradient constraint was considered redundant with the average proportion maps and curves and was also not used.
Quality control All the DSI constraints presented above and used in this tutorial example were considered as equally important and, as a consequence, all the associated certainty factors were chosen equal to 1. The resulting interpolation of the Membership Function represented in figure (10.19) can be used a posteriori to evaluate how well these constraints have been respected:
578
CHAPTER 10. DISCRETE SMOOTH PARTITION
Figure 10.20 Tutorial example: the conditional probabilities (A) denning the Association constraints between the geophysical fades Gl and the porosity fades Fv are almost perfectly reproduced (B) when recomputed from the estimated Membership Functions displayed in figure (10.19) and the geophysical fades displayed in figure (10.15). • the resulting average proportion maps f^(u,v} shown in figures (10.17)-B1 to B4 can be recomputed as follows:
• the resulting average proportion curves fc(w) shown in figure (10.18)-B can be recomputed as follows:
• the resulting conditional probabilities P(FV\G1} shown in figure (10.20) can be recomputed as follows:
As can be seen in these figures, all the specified constraints are honored almost perfectly. This is due to the coherency between these different constraints. Estimation of the porosity facies The components of the interpolated Membership Function ip can be used for estimating the facies in any cell a of the studied domain. For this purpose, and as explained on page 542 and in section (10.2.2), two strategies can be used:
10.6.
CONCLUSIONS
579
Figure 10.21 Tutorial example: most probable estimated porosity fades (MP) and equiprobable simulation of these fades (SI), (S2), and (S3). • either, in the case where a unique solution is sought, the most probable solution 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 partitioned 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 additional "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. Continental 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. Photogrammetric 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, distributions, equations integrales, analyse harmonique. Masson et Cie, Paris, 389 p. 581
582
BIBLIOGRAPHY
[16] Baumgart, B., (1974). Geometric Modeling for Computer Vision. Ph.D. thesis, Stanford University, Also as Tech. Rep. CS-463. [17] Baumgart, B., (1975). A polyhedron representation for computer vision. National 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 interactif d'objets geometriques volumiques. Ph.D. thesis, Louis Pasteur University, Strasbourg, France. [23] Bertrand Y., Dufourd, J.F., Francon, J., and Lienhardt, P., (1993). Algebraic Specification and Development in Geometric Modeling. Proc. TAPSOFT, Orsay, 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. Automatisme, No. 11, pp. 625-632. [26] Bezier, P., (1967). Definition numerique des courbes et surfaces II. Automatisme, 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 representation. ACM Trans. Graph., V. 3, No. 4, pp. 266-286. [30] Boissonat, J.D., (1988). Shape reconstruction from planar cross sections. Computer Vision Graphics and Image Processing, V. 44, pp. 1-29. [31] Boissonat, J.D., and Yvinec, M., (1995). Geometric Algorithmique. Ediscience International, Paris, 540 p. [32] Bombarde, S., and Basire, C., (1997). Building stratigraphic surfaces tied to well markers using a morphing like approach. 15th gOcad meeting report, 16 P[33] Bowyer, A., (1981). Computing Dirichlet tesselations. Comput. Journal, V. 24, No. 2, pp. 162-166. [34] Briggs, I.C., (1974). Machine contouring using minimal curvature. Geophysics, V. 39, No. 1, pp. 39-48.
BIBLIOGRAPHY
583
[35] Brisson, E., (1989). Representing Geometric Structures in d dimensions: topology and order. Proc. 5th ACM Symposium on Computational Geometry, Saarbrucken, Germany, June 1989, pp. 187-196. [36] Brisson, E., (1990). Representation of d-Dimensional Geometric Objects. Ph.D. thesis, Dept. of Compt. Sci. and Eng., University of Washington, Seattle, WA. [37] Brisson, E., (1993). Representing Geometric Structures in d dimensions: topology and order. Discrete Comput. Geom., V. 9, pp. 387-426. [38] Brunet, P., (1929). Maupertuis: L'oeuvre et sa place dans la pensee scientifique et philosophique du XVIIIe siecle. Blanchard, Paris. [39] Caers, J., and Journel, A.G., (1998). Stochastic simulations using neural networks trained on outcrop data. SPE annual conference and technical exhibition, New Orleans, 1998. [40] Catmull, E., (1974). A Subdivision Algorithm for Computer Display of Curved Surfaces. Ph.D. thesis, Dept. of Computer Sciences, University of Utah, December 1974. [41] Gavin, X., (1996). Intersection de surfaces triangulees: amelioration du maillage. DEA report, Centre de Recherche en Informatique de Nancy, Nancy, France, 60 p. [42] Cerveny, V. (1985). The application of ray tracing to the numerical modeling of seismic wave fields in complex structures. Geophysical press, London, Part A, pp. 1-124 [43] Cheimanoff, N., (1985). Modelisation tridimensionnelle d'un gisement minier non tabulaire. DEA report, Ecole Nationale Superieure des Mines de Paris, Paris, France, 70p. [44] Cherfils, C., and Hermeline, F., (1990). Diagonal Swap procedures and characterization of 2D-Delaunay triangulations. Rairo, Math. Mod. and Num. Anal. V. 24, No. 5, pp. 613-626. [45] Chiles, J.P., and Delfiner, P., (1999). Geostatistics — Modeling Spatial Uncertainties. Wiley, series in Prob. and Stat., New York, 615 p. [46] Chipot, Y., (1991). Generation et Modification de Surfaces Triangulees. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [47] Chiyokura H., and Kimura F. (1983). Design of solids with free-form ACM Computer Graphics, V. 17, No. 3, pp. 289-298.
surfaces.
[48] Christakos, G., (1992). Random Field Models in Earth Sciences. Academic Press, San Diego, 1992, 474 p. [49] Cognot, R., Thore, P., and Hass, A., (1994). Tying seismic to well data using structural uncertainties. S.E.G. proceedings of the 64th Annual Meeting. [50] Cognot, R., (1996). La Methode DSI: Optimisation, implementation et applications. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [51] Conraud, J., (1997). Generation de maillages de simplexes pour la modelisation d'objets naturels. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France.
584
BIBLIOGRAPHY
[52] Conreaux, S., (2001). Modelisation de 3-varietes a base topologique: application a la geologic. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [53] Dahlstrom, C., (1969). Balanced Cross Sections. Canadian Journal of Earth Sciences, No. 6, pp. 743-757. [54] de Boor, C., (1972). On calculating with B-Splines. Journal of Approximation Theory, No. 6, pp. 50-62. [55] de Boor, C., (1978). A practical guide to splines. Springer Verlag, Applied Mathematical Sciences, No. 27, 245 p. [56] Delaunay, B., (1934). Sur la sphere vide. Bui. Acad. Sci. URSS, Class. Sci. Nat., pp. 793-800. [57] DeRose, T., and Mann, S., (1992). An approximately Gl cubic surface interpolant. Academic Press, Mathematical methods in Computer-Aided Geometric Design II, Lyche, T. and Schumaker, L. (eds.), pp. 185-196. [58] Deutsch, C.V., and Journel, A.G., (1998). GSLIB: Geostatistical Software Library and User's Guide (second edition). Oxford University Press, New York, 369 p. [59] Diday E., (1971). La methode des Nuees dynamiques. Revue des Statistiques Appliquees, V. 19, No. 2, pp. 19-34. [60] Dieudonne J.A., (1994). A History of Algebraic and Differential Birkhauser, Boston, Massachusetts.
Topology.
[61] DoCarmo, M., (1976). Differential Geometry of Curves and Surfaces. Prentice Hall, Englewood, New Jersey, 503 p. [62] Doob, J.L., (1953). Stochastic Processes. John Wiley, New York. [63] Doyen, P.M., den Boer, L.D. and Pillet, W.R., (1996). Seismic porosity mapping in the Ekofisk field using a new form of collocated coKriging. SPE article 36498, Annual Technical Conference, Denver, Colorado, pp. 21-30. [64] Du, W.H., (1988). Etude sur la representation de surfaces complexes: Application a la reconstruction de surfaces echantillonnees. Ph.D. thesis, Ecole Nationale Superieure des Telecommunications, Paris, France. [65] Du, W.H., and Schmitt, F.J., (1990). On the Gl continuity of piecewise Bezier surfaces: a review with new results. Computer-Aided Design Journal, V. 22, No. 4, April 1990, pp. 556-573. [66] Dufourd, J.F., (1989). Algebraic Map-Based Topological Kernel for Polyhedron Modellers. Proc. Eurographics, Hamburg, Germany, September 1989, pp. 649-662. [67] Dufourd, J.F., (1991). Formal specifications of topological subdivisions using hypermaps. C.A.D., V. 23, No. 2, pp. 99-116. [68] Dufourd, J.F., (1991). An OBJ3 Functional Specification for the Boundary Representation. Proc. ACM Symp. on Solid Modeling, Austin, Texas, pp. 61-72. [69] Duvinage, L, Mallet, J.L., and Dulac, J.C., (1999). Constructing structural models without computing intersections. Int. Assoc. Math. Geol. 5th Conference. Ed. by S. J. Lippard S.J., Naess, A. and Sinding-Larsen R., Trondheim, Norway, August 1999, V. 2, pp. 609-614.
BIBLIOGRAPHY
585
[70] Ecoule, A.B., Peyrin, F.C., and Odet, C.L., (1991). A triangulation algorithm for arbitrary shaped multiple planar contours. ACM Trans. Graph., V. 10 No. 2, pp. 182-199. [71] Edelsbrunner, H., and Mucke, E.P., (1994). Three-dimensional alpha-shapes. ACM Trans, on Graphics, V. 13, No. 1, pp. 43-72. [72] Edmonds, J., (1960). A combinatorial representation for polyhedral surfaces. Notices Araer. Math. Soc., V. 7, 1960. [73] Elter, H., (1991). Chaines de Cartes et Complexes Cellulaires. Ph.D. Thesis, Louis Pasteur University, Strasbourg, France. [74] Euler, N., (1999). Modelisation volumique de reservoirs petroliers: constructions et operations de mise a jour. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [75] Farin, G., (1986). Triangular Bernstein-Bezier Patches. Computer-Aided Geometric 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 Problems. 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, Holland, pp. 73-83. [86] Fuch, H., Kedem, Z.M., and Ulselton, S.P., (1977). Optimal surface reconstruction from planar contours. Commun. ACM, V. 20, pp. 793-702. [87] Gastinel, N., (1970). Mathematiques differentielles. Armand Colin, Paris.
pour I'informatique:
equations
[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 MultiGaussian Fields. Geostatistics Troia, A Scares (ed.), Kluwer, Dordrecht, Holland, 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: Computer 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 Publications inc., New York, NY, 310 p. [106] Hildebrandt, S., and Tromba, A., (1996). The Parsimonious Universe. Copernicus 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 Geometric Design. A.K. Peters Wellesley, Massachusetts, 727 p.
BIBLIOGRAPHY
587
[109] Huang, Y., (1990). Modelisation et manipulation des surfaces triangulees. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, Prance. [110] Hubral, P., and Krey, T., (1980). Interval velocities from seismic reflection time measurements. Society of Exploration Geophysicists, P.O. Box 3098, Tulsa, Oklahoma, 203 p. [Ill] Isaaks, E.H., and Srivastava, R.M., (1989). An Introduction to Applied Geostatistics. Oxford University Press, New York. [112] Jacques, A., (1971). Constellations et graphes topogiques. Colloque Math. Soc. Janos Bolyai, Budapest, pp. 657-672. [113] Jardine, N., and Sibson, R., (1971). Mathematical Taxonomy. Wiley, New York, 230 p. [114] Journel, A.G., and Huijbregt, C.J., (1978). Mining Geostatstics. Academic Press, New York, 600p. [115] Journel, A.G., (1980). The lognormal approach to predicting local distributions of selective mining unit grades. Journal of Mathematical Geology, V. 12, No. 4, pp. 285-303. [116] Journel, A.G., (1982). The indicator approach to estimation of spatial distributions of selective mining unit grades. Proceedings of the 17th APCOM International Symposium, T.B. Johnson and R.J. Barnes, eds. Society of Mining Engineers of the AIME, New York, pp. 793-806. [117] Journel, A.G., (1983). Nonparametric estimation of spatial distributions. Jour. Math. Geology, V. 15, No. 3, pp. 445-468. [118] Journel, A.G., (1986). Constrained interpolation and qualitative information: The soft Kriging approach. Jour. Math. Geology, V. 18, No. 3, pp. 269-286. [119] Journel, A.G., (1989). Fundamentals of geostatistics in five lessons. Short course presented at the 28th International Geological Congress, Washington D.C., American Geophysical Union, 40 p. [120] Journel, A.G., (1993). Modeling uncertainties: Some conceptual thoughts. In R. Dimitrakopoulos, editor, Geostatistics for the next century, Kluwer, Dordrecht, Holland, pp. 30-43. [121] Kent, J.R., Carlson, W.E., and Parent, R.R., (1992). Shape transformation for polyhedral objects. In SIGGRAPH92 Proceeding Conference, ACM, V. 26, pp. 47-54. [122] Kerr, H.G., White, N., and Brun, J.P., (1993). An automatic method for determining three-dimensional normal faults geometries. J. Geophysical Res., V. 98, pp. 17837-17857. [123] Knuth, D.E., (1972). The Art of Computer Programming. Addison-Wesley Publishing Company, Reading, Massachusetts. V. 3., 722 p. [124] Launay, L., Bouchet, P., and Mallet, J.L., (1996). 3D reconstruction of cerebral vessels and pathologies from a few biplane digital angiographies. In visualization in Biomedical Computing - Hamburg, 1996. Lecture notes in Computer Sciences, pp. 379-391. [125] Launay, L., Bouchet, P., Maurincomme, P., Berger, M.O., and Mallet, J.L., (1996). Reconstruction from X-Ray Projections. In Proceedings of 13th International Conference on Pattern Recognition - ICPR 1996, Vienna, Austria, pp. 513-517.
588
BIBLIOGRAPHY
[126] Lebart, L., Morineau, A., and Warwick K.M., (1984). Multivariate Descriptive Statistical Analysis. John Wiley and Sons, New York, 231 p. [127] Lecour, M., Cognot, R., Dulac, J.C., Thore, P., (1999). From A-Priori to Stochastic Structural Models. Int. Assoc. Math. Geol. 5th Conference. Ed. by S. J. Lippard S.J., Naess, A. and Sinding-Larsen R., Trondheim, Norway, V. 2, pp. 609-614. [128] Leger, M., Morvan, J.M., Thibaut, M., (1993). Least square Optimization of Fault Surfaces Using the Rigid Block Approximation. Expanded Abstract, Annual SEG Conference, Washington, pp. 154-157. [129] Legras, J., (1971). Methodes et techniques de I'analyse numerique. Paris, Dunod, 240 p. [130] LeMelinaire, P., (1992). Modelisation de Relations Geometriques par la Methode DSL Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [131] Levy, B. and Mallet, J.L., (1998). Non-distorted texture mapping for sheared triangulated meshes. ACM-SIGGRAPH 1998 Conference Proceedings, Orlando, Florida, pp. 343-352. [132] Levy, B., (1999). Modelisation a base topologique: Combinatoire et Plongement. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [133] Libing, W., (1993). Probability field simulation. Proceedings of the 1993 meeting, Stanford Center for Reservoir Forecasting, Journel, A. (ed.), Stanford University, 20 p. [134] Lienhardt, P., (1989). Subdivisions of N-Dimensional Spaces and NDimensional Generalized Maps. Proc. Annual A.C.M. Symposium on Computational 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 comparison 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 compaction: direction and volumes. Am. Assoc. Pet. Geol. Bull. V. 60, pp. 543553.
BIBLIOGRAPHY
589
[144] Mallet, J.L., (1974). Presentation d'une methode d'interpolation et d'une methode de filtrage. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, Prance. [145] Mallet, J.L., (1974). Methodes et techniques de la cartographie automatique numerique. Sciences de la terre, Nancy, Serie Informatique Geologique, V. 4, 280 p. [146] Mallet, J.L., (1984). Automatic contouring in presence of discontinuities. Geostatistics for Natural Resource Characterization, NATO AST Series C: Math. and Phys. Sciences, V. 122, Reidel, pp. 669-677. [147] Mallet, J.L., (1989). Discrete Smooth Interpolation. ACM-Transactions on Graphics, V. 8, No. 2, pp. 121-144 [148] Mallet, J.L., (1992). gOcad: A Computer-Aided Design Program for Geological Applications in Turner, K. (ed.), Three-Dimensional Modeling with Geoscientific Information Systems, Kluwer Academic Publishers, Dordrecht, Holland, Nato ASI Series C, V. 354, pp. 123-141. [149] Mallet, J.L., (1992). Discrete Smooth Interpolation in Geometric Modeling. Computer-Aided Design, V. 24, No. 4, pp. 177-191 [150] Mallet, J.L., (1997). Discrete Modeling for Natural Objects. Journal of Mathematical Geology, V. 29, No. 2, pp. 199-219 [151] Mallet, J.L., and Shtuka, A., (2000). Blending Based Stochastic Simulators. Journal of Mathematical Geology, V. 32, No. 3, pp. 367-379. [152] Mantyla, M., (1988). An Introduction to Solid Modeling. Computer Science Press, Rockville, Maryland, 401 p. [153] Mao, S., and Journel, A., (1997). Stochastic mapping of layer surfaces constrained by seismic data and deviated wells. Proceedings of the 1997 meeting, Stanford Center for Reservoir Forecasting, Journel A. (ed.), Stanford University, 26 p. [154] Marechal, A., (1984). Kriging seismic data in presence of faults. Geostatistics for Natural Resource Characterization, NATO ASI Series C: Math, and Phys. Sciences, V. 122, Reidel, pp. 271-294. [155] Mariez, O., (1997). Modelisation de Solides par synthese de I'analyse d'images 3D et de modeles d base de surfaces non differentiates. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [156] Matheron, G., (1968). Les Variables Regionalisees et leur Estimation. Masson, Paris. [157] Matheron, G., (1973). The intrinsic random functions and their applications. Advances in Applied Probability, V. 5, pp. 439-468. [158] Maunder, C.R.F., (1996). Algebraic Topology. Dover Publications inc., Mineola, New York, 375 p. [159] M. Metivier, (1968). Notions Fondamentales de la Theorie des Probabilites. Dunod, Paris, 304 p. [160] Medwedeff, D.A., and Suppe, J., (1986). Kinematics, timing and rates of folding and faulting from synthetonic sediments geometry (abs.) EOS, V. 67, p. 1223.
590
BIBLIOGRAPHY
[161] Meyers, D., and Sloan K., (1992). Surfaces from contours. ACM Trans. Graph., V. 11 No. 3, pp. 228-258. [162] Millman, D., and Parker, K., (1977). Elements of Differential Prentice-Hall, Englewood Cliffs, New Jersey.
Geometry.
[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 Interpolant. 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. Journal of Mathematical Geology, V. 25, No. 2., pp. 350-365. [172] Pegna, J., and Wolter, F.E., (1992). Geometrical Criteria to Guarantee Curvature Continuity of Blend Surfaces. Transactions of ASME, Journal of Mechanical Design 114, pp. 201-210. [173] Piper, B., (1987). Visually smooth interpolation with triangular Bezier patches. Society of Industrial Applied Mathematics (SIAM): Geometric Modeling, 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). Numerical 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. Geometric Modeling for Product Engineering, Wosny, M., et al. (ed.), NorthHolland, 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 Geometry. Computer-Aided Design, V. 23, No. 1, pp. 21-32. [181] Rossignac, J., (1996). Specification, representation, and construction of nonmanifold geometric structures. ACM Siggraph 96 course: Computational Representations 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 Symposium on Solid Modeling 1997, pp. 1-9. [183] Rossignac, J., and Cardoz, D., (1999). Matchmaker: Manifold BReps for nonmanifold 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 surfaces. 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 Stratigraphy. Elsevier, New York, 382 p. [196] Sclater, J.G., and Christie, P.A.F., (1980). Continental stretching: an explanation of the post-mid-Cretaceous subsidence of the Central North Sea Basin. In J. Geophysical Res., V. 85, pp. 3711-3739.
592
BIBLIOGRAPHY
[197] Segonds, D., (1998). Integration de I'approche parametrique dans le geomodeleur gOcad. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, Prance. [198] Sedov, L., (1975). Mecanique des milieux continus. Editions MIR, Moscou, 1975, 539 p. [199] Shtuka, A., (1994). Simulation, traitement et visualisation des images numeriques: apport du codage par indicatrices en geostatistiques. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [200] Shtuka, A., Samson, Ph., and Mallet, J.L., (1996). Petrophysical simulation within an object-based reservoir model. Proc. NPF/SPE-European 3D Reservoir Modeling Conf. Stavanger, pp. 47-56. [201] Shmaryan, L., and Hewett, T., (1996). Fast Probability Field Simulation with FFT. Proceedings of the 1996 meeting, Stanford Center for Reservoir Forecasting, Journel A. (ed.), Stanford University, 25 p. [202] Sibson, R., (1981). A brief description of natural neighbour interpolation. Interpolating multivariate data, Barnett, V. (ed.), John Wiley, pp. 21-36. [203] Sneath, P.H.A., and Sokal, R., (1973). Numerical Taxonomy. Freeman, San Francisco, 367 p. [204] Sokolnikoff, I.S., (1956). Mathematical Theory of Elasticity. McGraw-Hill, New York, 1956, 476 p. [205] SokolnikofT, I.S., (1964). Tensor Analysis: Theory and Applications to Geometry and Mechanics of Continua. John Wiley, New York, 1964, 361 p. [206] Sokolnikoff, I.S., (1956). Mathematics of physics and modern engineering. McGraw-Hill, New York, 1966, 752 p. [207] Srivastava, R.M., (1992). Reservoir Characterization with Probability Field Simulation. Proceedings of the 67th SPE conference, Washington, D.C., article No. 24753, Soc. of Pet. Eng., pp. 927-938. [208] Stocker, J.J., (1969). Differential
Geometry. Wiley, New York.
[209] Strang, G., (1976). Linear Algebra and its Applications. Harcourt Brace and Co., international edition, New York, 505 p. [210] Stolum, H.H., (1996). River meandering as a self-organising process. Science, V. 272, March 1996. [211] Suppe, J., (1983). Geometry and kinematics of fault bend folding. Am. J. Sci., No. 283, pp. 684-724. [212] Suppe, J., (1985). Principles of Structural Geology. Prentice-Hall, Englewood Cliffs, New Jersey. [213] Suppe, J., and Xiao, H.B., (1992). On the origin of Roll Over. American Association of Petroleum Geologists Bulletin, V. 76, No. 4, pp. 509-529. [214] Sun, T., Meakin, P., Torstein, J., and Schwartz K., (1996). A simulation model for meandering rivers. Water Resources Research, V. 32, No. 9, pp. 2937-2954. [215] Tarantola, A., (1987). Inverse Problem Theory. Elsevier, Amsterdam, 613 p. [216] Thibaut, M., (1994). Geometric des surfaces de faille et depliage 3D. Methodes et applications. Ph.D. Thesis, Joseph Fourier University, Grenoble, France.
BIBLIOGRAPHY
593
[217] Tipper, J., (1976). The study of geological objects in three dimensions by the computerized reconstruction of serial sections. Journal of Geology, V. 84, pp. 476-484. [218] Tipper, J., (1977). A method and Fortran program for the computerized reconstruction 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 Variational Implicit Functions. ACM-SIGGRAPH'99 Conference Proceedings, LosAngeles, California, August, pp. 242-250. [221] Tutte, W., (1984). Graph Theory. Encyclopedia of Mathematics and its Applications, 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 Exhibition, 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 functions 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. Chapman 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 hanging 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, Minneapolis (ISBN 0-8166-1148-3).
594
BIBLIOGRAPHY
[234] Wietzerbin, L., (1994). Modelisation et parametrisation d'objets naturels de formes complexes en trois dimension. Ph.D. thesis, Institut National Polytechnique de Lorraine, Nancy, France. [235] Williams, G., (1987). The geometry of listric normal faults and deformation in their hangingwalls. Journal of Structural Geology, V. 9, No. 7, pp. 789-795. [236] Woodward, N.B., Boyer, S.E., and Suppe, J., (1989). Balanced Geological Cross-sections: An Essential Technique in Geological Research and Exploration. American Geophysical Union, Short Course in Geology, V. 6, 132p. [237] Xu, W., Tran, T.T., Srivastava, E.M. and Journel, A.G., (1992). Integrating seismic data in reservoir modeling: the colocated coKriging alternative. Proceedings of the 67th Annual Technical Conference of the Society of Petroleum Engineers, Washington, article SPE 24742, pp. 833-842. [238] Yao, T.T., (1998). Conditional spectral simulation with phase identification. Jour. Math. Geology, V. 30, No. 3, pp. 285-308.
Index Abstract i-cell, 61 Active set, 171 Adjacency, 40, 53 Adjacent cells, 40 Anisotropic weightings, 150, 378 Anisotropy, 554
Certainty factor, 144 Cerveny law, 240 Channel, 233, 531 Classification, 533 Closed, 60 Closed set, 30 Closure, 31 Clustering, 534, 567 CoKriging, 509 Colocated coKriging, 509 Compaction, 429 Computer-aided design, 199 Conjugate gradient, 176 Consistency, 63, 153 Constraint, 8, 140 Continuity, 12, 33, 34, 224, 272, 278,
Back-stripping, 421 Balanced restoration, 420 Balancing ratio, 145 Ball, 29 Barycenter, 105, 309 Bary centric coordinates, 126, 183, 254 parameterization, 126, 251 BBRF, 520 BBS, 525 Beautifying algorithm, 305 Beauty of a triangle, 305 Bellman principle, 115 Bezier patch, 323 Blending function, 158, 529 Blending-Based Random Function, 520 Boundary, 31 Brisson-Lienhardt theorem, 61
280, 420
Continuity equation, 420 Control delta, 257 gradient, 187 net, 322 node, 140, 147, 158 node (fuzzy), 164, 168, 190 point, 182, 184, 188, 263 property, 183, 186, 256 segment, 270 straightline, 264 thickness, 269 throw, 274 Convex hull, 322 Coons patch, 129 Corner point, 125 Covariance function definition, 460 exponential model, 464 Gaussian model, 464 nested model, 465 range, 464 spherical model, 464 Covariance matrix, 451
CAD, 199, 204 Cdf, 447, 451, 468 Cell definition, 37 iterator, 76 transformation, 77 virtual, 41 Cell centered, 126 Cellular decomposition, 51 partition, 36 synthesis, 60 CellView, 49 Centered RV, 447 Central limit theorem, 454
595
INDEX
596 Cumulative distribution function, 447, 451, 468 Cumulative membership function, 538 Curvature Gaussian, 215 mean, 215 of a curve, 201 of a surface, 205, 211, 213 tensor, 205, 211 Cut, 133, 313 Darcy's law, 243 Dart cell-key, 84 definition, 53, 57 free, 60 magnetic interpretation, 66 sewn, 60 virtual, 83 Deconvolution, 25 Deformation analysis, 392 Deformation of a horizon, 405 Delaunay tessellation, 98, 99 theorem, 100 Developability-index, 221 Developable, 215, 221 Differential equation, 2, 3, 203, 218 Differential geometry, 199 Dilatation, 394 Dimension, 34 Dirac, 238, 522 Discrete Fourier transform, 484 Discrete model, 7, 139 Discrete modeling, 5 Discrete smooth interpolation, 14, 139 Discrete smooth partition, 533 Discrete topological model, 5 Discriminant, 534 Displacements, 402 Distribution, 521 Dividing-wall, 86 DSI, 14, 139 DSI constraint, 9 canonic, 140 cross, 9, 148 definition, 8, 140 dynamic, 166 equality, 9, 174 hard, 9 inequality, 9, 174
nonlinear, 169 normalized, 140 simple, 9 soft, 9 DSI equation global, 153 local, 160 DSI iterative algorithm, 165 DSI weightings anisotropic, 150, 378 exponential map, 366 harmonic, 149, 364 isotropic, 149 DSP, 533 DSP constraint intrinsic probability, 540 association, 551 gradient, 557 local proportions, 548 Dual of a graph, 98 Dupin indicatrix, 223 Dynamic constraint, 166 Edge, 86 Elongation, 397 Embedded, 37 Embedding, 44, 46, 63 Embedding consistency, 63 Ergodic correction, 523 Ergodicity, 462, 480 Euler operators, 48 Euler-Poincare, 46 Eulerian strain tensor, 400 Event, 444 Exponential covariance model, 464 Facies, 534 Fast Fourier transform, 486 Fault, 130, 133, 235, 245, 272, 371 Fault-throw, 272, 273 First fundamental form, 206 First fundamental tensor, 205 Fitting factor, 145 Fourier transform, 484, 486 Frame definition, 86 operations, 89 Free, 60 Frenet frame, 202 Gaussian
INDEIX NDEX covariance model, 464 curvature, 215 random variable, 449 Generalized map, 57 Genericity, 148 Geodesic, 216 Geometric continuity, 224 Geomodeling, 4 Ghost well-marker, 384 Gluing frames, 90 GMap definition, 57 implementation, 81 transformations, 74 Gradient, 207 Granularity, 101 Graph, 153, 223, 229, 246, 301, 302 Green-Gauss theorem, 356 Gregory patch, 331 patchwork, 336 GRFS, 481 Grid cell centered, 126 corner point, 125 cracking, 130 cutting, 133 definition, 122 irregular, 132 regular, 122 simple node, 131 split node, 131 Hard constraint, 9 Harmonic weightings, 149, 364 Heisenberg uncertainty principle, 512 Heterogeneities, 489, 531, 549 Homeomorphic, 34 Homeomorphism, 34 Horizon, 2, 193, 245 Hyperplane, 141, 171, 172 Image processing, 22 Implicit surface, 134 Incidency, 40 Incident cell, 40, 43, 45 VertexView, 50 Independence, 453 independence, 453 Indicator, 448, 460
597 Inequality constraint, 9, 174 Interior, 31 Invariants, 400 Involution, 56 Isometric constraints, 290 mapping, 408 Isomorphic cells, 44 cellular partitions, 43 Isomorphism, 43 Isoparametric constraints, 297 curve, 204 Isotropic weightings, 149 Iterator, 76 Jacobian, 208 Kriging colocated coKriging, 509 ordinary, 504 simple, 506 Lagrange Multipliers, 396 Lagrange multipliers, 504 Lagrangean strain tensor, 400 Laplacian, 351 Lattice, 87 Likelihood function, 542 Listric fault, 411 Local topological dimension, 34 Magnet, 66 Manifold, 35 Map, 69 Mapping, 33 Mass preservation, 429 Mean curvature, 215 Membership function, 538 Metric, 205, 206, 250, 291, 353, 564 Metric tensor, 205 Minimum deformation constraints, 433 principle, 403 Model definition, 88 operations, 89 Morphing, 380, 381 Moving centers, 559 Multigrid, 181
598 Neighborhood, 6, 32, 147 Nested model, 465 Neural networks, 534, 569 Node, 139 simple, 131 split, 131 Non-manifold, 35, 40 Nonlinear constraint, 169 Normal score-transform, 470, 511 Normalized RV, 447 Nugget effect, 464 Object, 35 Off-lap, 389 On-lap, 387 One-to-one, 33 Open, 60 Open set, 30 Orbit definition, 6, 58 traversal, 75 Order of an RF, 461 Orientability, 68, 69, 218 Orientation, 218 Osculating circle, 201 paraboloid, 222 P-field, 488 Paleo-geographic coordinates, 406 Pants algorithm, 119 Parameterization barycentric, 251 canonic, 253 global, 193, 247, 253, 287 induced, 253 local, 248, 251 Parametric curve, 199 surface, 203 Partition, 36, 152 Patch, 249, 319 Patch algorithm, 110 Pdf, 447, 448, 452 Permeability tensor, 243 Permutation, 59, 71, 82 Piecewise, 196, 200, 245, 248, 310, 331, 419 Principal components, 564 curvatures, 213
INDEX Probability, 445 Probability distribution function, 447, 448, 452 Proportion map, 549 Pseudo-continuity, 12, 280, 305 Pseudo-distance to data, 191 Radial edge, 35 Radial tangent, 334 Random Fourier series, 474 function, 459 sampling, 455 variable, 446 Range, 464, 466 Ray tracing, 237 Recursive subdivision, 350 Region, 75, 83, 88, 91 Regular curve, 200 grid, 122 surface, 205 Relative developability-index, 221 Relaxation, 174, 175, 558 Reparameterization, 200, 207-209 Resampling algorithm, 309 Restoration, 418 Restoration vectors, 406 RFS, 474 Rigid, 280, 372, 416, 438 Roughness, 141 global, 13, 15 local, 15, 141 matrix interpretation, 142 Score-transform theorem, 450 Sculpting, 107 Second fundamental form, 211 Second fundamental tensor, 205 Semipositive definite, 463 Sewn, 60 SGS, 516 Shannon theorem, 443 Shapes, 107 Sharpening , 22 Sill, 466 Simple curve, 200 Simplex, 40 Simulation, 445 Simulator blending-based, 519
INDEX definition, 494 sequential, 514 Skin algorithm, 118 Smoothing, 167 Snell law, 239 Soft constraint, 9 Soft DSI constraint, 144 Spatial covariance, 462 variogram, 462 Sphere, 29 Spherical covariance model, 464 Spreading factor, 243 Standard deviation, 447 Stationarity, 461 Statistic, 457 Stiffness, 13, 151, 152 Stochastic, 443 Store, 83 Strain tensor, 394, 400, 416, 418 Striae, 375 Strip algorithm, 113 Structural constraints, 548 Style, 149, 445, 514 Style of an RF, 483 Subdivision, 360 Tangent plane, 205 to a curve, 200 Taylor approximation, 147 Tesselation, 97 Tomography, 23 Topological space, 32 Topological transformation, 33 Topologically equivalent, 34 Topology, 28 Transformation, 33 Transmitter, 304 Traversal, 75 Triangle curvilinear, 318 linear, 287 Triangulated surface, 228 Triangulation, 218 Trimming algorithm, 312 Uncertainty, 445, 512, 547 Unfolding a horizon, 293, 406 a layer stack, 418
599 a surface, 221 Ungluing frames, 90 Uniform random function, 488 Random Variable, 448 Unsew, 78, 130 Upscaling, 542 URF, 488 Variance, 447 Variance of estimation, 504 Variogram, 460 range, 466 sill, 466 VertexView, 50, 51 Virtual cell, 41 Voronoi diagram, 99 region, 99 Wave front, 237 Weightings, 141, 149 anisotropic, 150, 378 exponential map, 366 harmonic, 149, 364 isotropic, 149 Well-marker, 379-381, 390, 391