18
POINT-TO-CURVE RAYTRACING BY ALGEBRAIC RASTERIZATION T.J. MOSER Zeehelden Geoservices, van Alkemadelaan 550A, 2597 AV ’s-Gravenhage, The Netherlands ([email protected]) Received: August 22, 2005; Revised: November 27, 2005; Accepted: January 6, 2006 ABSTRACT Boundary-value raytracing problems can be concatenated to a smooth one-parameter family of problems, that can be solved by continuation. This has been the purpose of point-to-curve raytracing. A global approach, based on algorithms taken from computer graphics (algebraic rasterization of implicit curves), has several advantages. Subject to relatively mild assumptions - Lipschitz continuity of the emergence point as function of initial parameters - all solution branches are found, there are no problems with initialization, bifurcation, or closed loop solutions. The algebraic rasterization benefits to boundary value raytracing problems in a wide range of applications: shot-to-profile shooting, VSP raytracing, normal raytracing, and more. The algorithm is sufficiently robust to continue even beyond points where the Lipschitz continuity does not apply, such as faults. K e y w o r d s : two-point raytracing, point-to-curve raytracing, bifurcation, Lipschitz continuity 1. INTRODUCTION The two-point raytracing problem, to find rays between a source and receiver point in a three-dimensional geological medium, is hard to solve in general, due to its non-linearity, conditioning and topological properties. One approach to solve it is to consider a line of receivers and combine a whole family of two-point problems. After an initial ray has been found between the source and the receiver line, other rays can be found by gradually changing the initial direction in such a way that the ray end point sweeps along the receiver line. In this way a one-parameter family of two-point raytracing problems is completely solved - the one parameter being the parameter defining the position on the receiver line. This has been called point-to-curve raytracing (Hanyga and Pajchel, 1995). It belongs to a general class of methods, called homotopy or continuation methods, that smoothly transform a hard-to-solve system of equations into one that can be easily solved (Allgower and Georg, 1990). It has been recognized that most boundary value raytracing problems can be solved in this way: point-to-profile shooting, profile-to-point shooting, surface-to-profile shooting, VSP (Vertical Seismic Profiling) raytracing, common-offset Stud. Geophys. Geod., 50 (2006), 399416 399 © 2006 StudiaGeo s.r.o., Prague

Point-to-curve raytracing by algebraic rasterization

Embed Size (px)

Citation preview

Page 1: Point-to-curve raytracing by algebraic rasterization

POINT-TO-CURVE RAYTRACING BY ALGEBRAIC RASTERIZATION

T.J. MOSER

Zeehelden Geoservices, van Alkemadelaan 550A, 2597 AV ’s-Gravenhage, The Netherlands ([email protected])

Received: August 22, 2005; Revised: November 27, 2005; Accepted: January 6, 2006

ABSTRACT

Boundary-value raytracing problems can be concatenated to a smooth one-parameter family of problems, that can be solved by continuation. This has been the purpose of point-to-curve raytracing. A global approach, based on algorithms taken from computer graphics (algebraic rasterization of implicit curves), has several advantages. Subject to relatively mild assumptions - Lipschitz continuity of the emergence point as function of initial parameters - all solution branches are found, there are no problems with initialization, bifurcation, or closed loop solutions. The algebraic rasterization benefits to boundary value raytracing problems in a wide range of applications: shot-to-profile shooting, VSP raytracing, normal raytracing, and more. The algorithm is sufficiently robust to continue even beyond points where the Lipschitz continuity does not apply, such as faults.

K e y w ord s : two-point raytracing, point-to-curve raytracing, bifurcation, Lipschitz

continuity

1. INTRODUCTION

The two-point raytracing problem, to find rays between a source and receiver point in a three-dimensional geological medium, is hard to solve in general, due to its non-linearity, conditioning and topological properties. One approach to solve it is to consider a line of receivers and combine a whole family of two-point problems. After an initial ray has been found between the source and the receiver line, other rays can be found by gradually changing the initial direction in such a way that the ray end point sweeps along the receiver line. In this way a one-parameter family of two-point raytracing problems is completely solved - the one parameter being the parameter defining the position on the receiver line.

This has been called point-to-curve raytracing (Hanyga and Pajchel, 1995). It belongs to a general class of methods, called homotopy or continuation methods, that smoothly transform a hard-to-solve system of equations into one that can be easily solved (Allgower and Georg, 1990). It has been recognized that most boundary value raytracing problems can be solved in this way: point-to-profile shooting, profile-to-point shooting, surface-to-profile shooting, VSP (Vertical Seismic Profiling) raytracing, common-offset

Stud. Geophys. Geod., 50 (2006), 399−416 399 © 2006 StudiaGeo s.r.o., Prague

Page 2: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

raytracing, plane-wave raytracing and more (Moser, 1994). All these problems can be cast as a single (possibly non-linear) equation with two unknowns, or, equivalently, the tracing of an implicit plane curve in a two-dimensional parameter space. Each time the (two) unknowns are the two initial parameters of an orthonomic ray system (Červený, 2001), and the (one) equation represents the requirement to hit the receiver profile. Several algorithms have been proposed to solve this curve-tracing problem, among them predictor-corrector schemes to integrate the corresponding differential equation (of which the solution curve itself is a first integral).

A common complication is that the solution curve may bifurcate or consist of separate disconnected branches. For this reason, a global solver, catching all branches based on integral properties, may be preferred to local solvers, which are designed to follow just one branch based on differential properties. Under a relatively mild assumption - Lipschitz continuity of the distance of the ray emergence point to the receiver profile as a function of the two initial ray parameters - a global algorithm can be designed that detects all solution branches and traces them accurately. Such algorithms can be taken from computer graphics, where algebraic rasterization is used to visualize a plane algebraic curve, and even other types of plane curves (see for example Hobby (1990), Taubin (1994), or Lopes et al. (2002), where other references are found).

The Lipschitz continuity (defined in Eq.(6) of this paper) implies that the distance between the emergence points of two rays is equal or smaller than a global constant L times the distance between the parameters defining the rays (under some norm). The constant L, called the Lipschitz constant, is therefore directly related to the geometrical spreading. The assumption of Lipschitz continuity is thus based on the assumption of a finite geometrical spreading, together with assumptions on the orientation of the profile with respect to the ray field (a ray grazing to the profile line constitutes a singularity).

The key idea of the rasterization algorithm is to start with a coarse triangulation of the parameter plane, and check for each triangle if, based on the function values at its edges and the Lipschitz constant, it is intersected by the plane curve. If not, the triangle is neglected, otherwise it is recursively subdivided. Critical parameters in the algorithm are the (estimated) Lipschitz constant and the size of the smallest triangle to be subdivided. Also critical is the assumption of Lipschitz continuity itself, which may be violated in several cases.

The paper is organized as follows. First, the basics of two-point raytracing and point-to-curve raytracing are briefly reviewed. Then the new algorithm based on rasterization of the parameter plane is introduced and discussed. Then the validity of the Lipschitz continuity is discussed and an example is given where it is violated. Finally, an alternative algorithm is presented, based on bounded second derivatives instead of Lipschitz continuity, with the aim of further reducing the number of test rays.

The algorithms are developed and tested in a one-layer inhomogeneous model. Extension to multilayer models can be expected to be conceptually the same as in a one-layer model, but with some additional technical issues (discontinuous may appear due to shadow zones, caused by diffracting edges).

400 Stud. Geophys. Geod., 50 (2006)

Page 3: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

γ 1

γ 2

τ

xS

xR

Fig. 1. Two-point raytracing.

2. TWO-POINT RAYTRACING

The difficulties of the two-point ray tracing problem - to find one, more, or all rays between a source point and a receiver point Sx Rx in a three dimensional model - are well known (Červený, 2001). Consider the schematic diagram of Fig. 1. Let a ray field starting at be parametrized by Sx ( )1 2, ,γ γ τx , where γ1, γ2 are initial angles, and τ an independent monotonic parameter along the ray. The two-point raytracing problem is then the problem to find solutions to the system ( )1 2, , Rγ γ τ =x x . (1)

Eq.(1) is a nonlinear system of three equations with three unknowns, γ1, γ2, and τ. Such systems are notoriously hard to solve in general (Press et al., 1992). First of all, only in very special cases there are analytical solutions to Eq.(1), so that usually a numerical scheme is required. Second, the number of solutions is generally not known a priori, and there may be no solution at all, or there may be many solutions. Third, solutions can be very close to each other, and therefore undetectable or undistinguishable by a numerical scheme. Multiple solutions to Eq.(1) correspond to multivalued traveltimes on a seismogram recorded at Rx . The difficulties are still increased in case of a multilayer model, where rays may not exist due to shadow zones; on the other hand, curved interfaces can increase multiplicity of solutions.

Classical solutions to the two-point raytracing problem can be categorized as shooting and bending, with advantages and disadvantages discussed in Červený (2001). The point-to-curve raytracing, discussed in the next section, can be characterized as a guided 3D shooting method.

3. POINT-TO-CURVE RAYTRACING

Point-to-curve raytracing (Hanyga and Pajchel, 1995) considers a one-parameter family of two-point raytracing problems, and uses a solution of one of them to construct the solution of that of its neighbor. For instance, one may consider a continuous profile of receiver points. As soon as a ray between the source and the receiver profile has been

Stud. Geophys. Geod., 50 (2006) 401

Page 4: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

Fig. 2. Point-to-curve raytracing.

found, the initial parameters γ1 and γ2 can be adjusted in such a way, that the solution ray sweeps along the profile. This sweeping can be done in two directions and by sweeping forward and backward, all solutions to all two-point problems of the same family can be found. The term ‘point-to-curve’ raytracing strictly refers to this case, but the same principle can be applied to most boundary value raytracing problems; a few applications are given in the following Section 4.

The point-to-curve raytracing in its strict sense can be set up in different ways. Here we define the receiver profile as the intersection of two implicit surfaces: a target and a profile surface (see Fig. 2). The target surface may represent any data recording surface, like for instance the Earth’s surface (perhaps with topography). The profile surface is an auxiliary surface defining the receiver profile by its intersection with the target surface. The first step consists in raytracing, for fixed γ1 and γ2, up to the target surface, given by the implicit expression

( )( )1 1 2, , 0f γ γ τ =x . (2)

The intersection of the ray with f1 = 0 can be found by a one-dimensional root finding method, like bisection or Newton-Raphson (Press et al., 1992), applied on the function

((1 1 2, ,f ))γ γ τx with variable τ and fixed γ1 and γ2. The solution is τ0, which is

dependent on γ1 and γ2. The second step is to compute the deviation from the profile surface, given by

( )( )2 1 2 0, , 0f γ γ τ =x . (3)

For general γ1 and γ2, ((2 1 2 0, ,f ))γ γ τx will not be zero, but positive or negative, according to which side of the profile surface the ray intersects the target surface. Combining the two steps for each γ1 and γ2 leads to

( ) ( )( )1 2 2 1 2 0, , ,F fγ γ γ γ τ 0= =x . (4)

Now, Eq.(4) is a single equation with two unknowns, which is the implicit equation of a plane curve (in the γ1, γ2-plane). Each solution to ( )1 2,F γ γ 0= corresponds to one

402 Stud. Geophys. Geod., 50 (2006)

Page 5: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

solution of a two-point raytracing problem of Eq.(1) for one specific receiver point on the profile. Following the entire solution curve leads to all solutions of all two-point problems of the same one-parameter family. The tracing of (4) is referred to as “implicit curve tracing”.

4. APPLICATIONS

Many boundary value raytracing problems can be defined and solved in terms of point-to-curve raytracing. The point-to-curve raytracing in strict sense refers to the case where the receivers are on a profile, and the rays from one fixed source point are required. Applications include surface profile shooting (Fig. 3), or VSP shooting (Vertical Seismic Profiling, Fig. 4). In the VSP case, the receiver profile is situated in a borehole, which may be described by the intersection of two artificial vertical surfaces, one playing the role of target surface, the other of profile surface. Another configuration is the exploding reflector, where the normal wave starting from a surface is studied, the initial (normal) ray field is parametrized by the two coordinates parametrizing the surface and the receivers are located along a profile (Fig. 5). Several other data configurations allow the ray geometries to be designed in such a way, that they can be represented by a one-parameter family of two-point raytracing problems, and solved by the algorithms described below (common-offset raytracing, plane-wave raytracing; see Moser, 1994).

5. IMPLICIT CURVE TRACING - LOCAL APPROACH

The implicit Eq.(4) leads to the following ordinary differential equation:

1

2 1

dd

FFq

2γ γσ

γ γ−∂ ∂⎡ ⎤ ⎡

=⎤

⎢ ⎥ ⎢ ∂ ∂ ⎥⎣ ⎦ ⎣ ⎦

. (5)

In Eq.(5), q is a parameter along the implicit curve, and σ = ± 1 is an orientation index. The predictor-corrector method (Press et al., 1992) is the most natural numerical scheme to solve this differential equation, since the first integral of Eq.(5) is known by definition:

shot point

recording surface

x

t

Fig. 3. Surface profile shooting.

Stud. Geophys. Geod., 50 (2006) 403

Page 6: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

F = 0. The predictor step can be carried out using the right-hand side of Eq.(5), for some step size in q. After the predictor step, the numerical solution to Eq.(5) will not generally lie on the solution curve, so that a corrector step is necessary. This is very straightforward, since it is simply the solution to F = 0 with a very close initial guess. A few steps of Newton-Raphson should generally be sufficient to bring the predicted point as accurately on the solution curve as desired. Depending on the choice of the orientation σ, the predictor-corrector allows to generate successive points on the same solution curve to Eq.(4) (Fig. 6, top). The implicit curve tracing by predictor-corrector forms the core of the point-to-curve raytracing algorithm by Hanyga and Pajchel (1995).

Despite the considerable success in tracing rays over geologically complicated areas, the implicit curve tracing approach based on solving differential Eq.(5) has several difficulties:

1. It is not clear how to find an initial point on the solution curve. This difficulty can be partly overcome by invoking root finding methods along straight line segments between two points, but only if two points on different sides of F = 0 have been found (if a root has been bracketed).

shot point

borehole

x

t

Fig. 4. Vertical seismic profile (VSP) shooting.

Fig. 5. Exploding reflector modeling.

404 Stud. Geophys. Geod., 50 (2006)

Page 7: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

Predictor-corrector

Bifurcation Isolated branches

Fig. 6. Implicit curve tracing.

2. Very often, the solution curve consists of several separate branches. This means the number of different branches should be known a priori, each branch has to be initialized separately, and precautions are necessary against endless looping along closed branches (Fig. 6, bottom right).

3. The same branch of the solution curve may intersect itself in a bifurcation point. Here special care must be taken in choosing the orientation σ, because it will have opposite sign across the bifurcation (Fig. 6, bottom left).

4. It is necessary to assume smoothness or analyticity of F. The curve tracing by predictor-corrector works only when the right-hand side of Eq.(5) is defined and finite (in fact, in the special case of an analytical right hand side of Eq.(5), isolated branches can be connected by application of complex rays). The requirement of analyticity excludes most geologic models found in practical situations.

From these difficulties with the approach based on solving the differential equation given by Eq.(5), the existence of separate branches is the most serious one. For this reason, it may be labelled a local approach to implicit curve tracing, as opposed to the global approaches to be discussed next.

6. IMPLICIT CURVE TRACING - GLOBAL APPROACH

Since the solution curve of Eq.(4) for the point-to-curve raytracing problem is essentially a contour of the function F, contouring algorithms can be invoked to construct it. Contouring requires setting up a grid over the ( )1 2,γ γ=γ -plane, and for each grid

point evaluating the function ( )1 2,F γ γ . For grid cells where F changes sign, part of the solution curve is captured and can be drawn by linear interpolation from the grid cell points. However, straightforward contouring would be a naive approach, since it will require many test rays to be computed to trace the solution curve with desired accuracy, also in regions where no solutions can be expected. Therefore, a recursive subdivision of the γ - plane is the most obvious alternative to gridding.

Stud. Geophys. Geod., 50 (2006) 405

Page 8: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

In fact, in computer graphics an extensive literature exists and many algorithms have been proposed to draw implicit curves, which are often given in algebraic form (for computational efficiency reasons). Algebraic criteria can be formulated that exclude several regions of the γ - plane being traversed by the implicit curve. Based on these algebraic criteria, the entire γ - plane can be recursively subdivided, at each step rejecting subregions where F is guaranteed to be non-zero.

The applications in computer graphics of implicit curve tracing are usually limited to plotting or visualization, hence the algorithms subdivide the γ - plane down to bitsize (elementary rectangle) and the solution curve is displayed as a set of bits (see Fig. 7). In seismic raytracing, we are interested in a continuous representation of the solution curve, for additional applications related to geometrical modeling (traveltime curve for instance). Hence, we aim at obtaining the solution curve in polygonal representation. For the same reason, triangles are more suitable than rectangles (Vinje et al., 1996; Bulant, 1996, 1999; Moser and Pajchel, 1997). As a criterion to certify if the solution curve F(γ ) = 0 intersects an elementary triangle, this paper proposes to use Lipschitz continuity

( ) ( )F F L′ ′− ≤γ γ γ − γ , (6)

where ( 1 2, )γ γγ = and ( 1 2, )γ γ′ ′ ′γ = are two arbitrary points, and L is a constant (the Lipschitz constant). The proposed algorithm is then to recursively subdivide an initial triangulation of the γ - plane, rejecting triangles for which the Lipschitz condition predicts there is no solution. Assuming Lipschitz continuity of F, this algorithm is guaranteed to provide a global solution to the implicit curve tracing problem, with all branches included. In the application on point-to-curve raytracing, the assumption of Lipschitz continuity of the ray emergence point with respect to its initial parameters is valid for smooth media. Limitations to its validity will be discussed later.

Fig. 7. Rasterization to bitsize representation of F(x, y) = (x2 − y − 2)(x2 + y2 − 4)(x + 0.3)2 + + (x − y2 + 2)(y + 0.2).

406 Stud. Geophys. Geod., 50 (2006)

Page 9: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

7. ALGORITHM

The algorithm for implicit curve tracing based on the Lipschitz condition consists of the following steps.

1. Set Lipschitz constant L and minimum allowed size ε of triangles. Initialize coarse triangulation of γ - parameter plane. For each initial triangle, compute F(γ ) on its vertices and put triangle on stack.

2. If stack empty, stop. Else remove top triangle Δ from stack. 3. If size(Δ) > ε

3.1 If a) F does not change sign among vertices and b) the Lipschitz condition does not allow a zero point inside Δ, reject.

3.2 Else subdivide into two triangles Δ1 and Δ2, compute F for new vertices and put them on stack.

4. If size(Δ) < ε 4.1 If F changes sign among vertices, compute intersection of F = 0 with Δ. 4.2 Else reject.

5. Go to 2. In this algorithm, the size of a triangle ε is measured by the length of its longest edge,

and a subdivision divides this edge in two equal parts. The most important feature of the algorithm is the check, in Step 3.1.b, on zero points

of F inside the given triangle, even if F does not change sign among its vertices. The possibility of this check allows triangles to be neglected if possible, and enables to discard regions of the γ-plane. In fact, this option is what makes the algorithm a global, rather than a local one.

Consider the situation of Fig. 8, where a triangle is given with edges a, b, and c, where F assumes values at its vertices A, B, and C (for change the signs). Circles with radii

, , 0A B CF > , , 0A B CF <

, , , ,A B C A B CR F L= and centered at the vertices are guaranteed, by the validity of Lipschitz continuity, to contain no zeroes of F. Therefore the question whether F = 0 inside the triangle is reduced to the question whether the circles cover the triangle. If every pair of circles covers their common edge: , B CR R a+ > C AR R b> A BR R c, > , (7) + +

then a necessary and sufficient condition for the circles to cover the triangle is

2 2 2 2 2 2 2 2 2

arccos arccos arccos 22 2 2

B C C A A B

B C C A A B

R R a R R b R R cR R R R R R

⎛ ⎞ ⎛ ⎞ ⎛ ⎞+ − + − + −⎜ ⎟ ⎜ ⎟ ⎜+ + ≤

⎜⎜ ⎟ ⎜ ⎟⎝ ⎠⎝ ⎠ ⎝ ⎠

⎟ π⎟

)

. (8)

Eq.(8) follows from considering the case where the three circles meet in one point, say S, so that the angles between lines from this point to the vertices should add up to 2π

. If one of the radii increases, the circles intersect in three different points inside the triangle, say the circles around B and C in SA, the circles around A and C in SB, and the circles around A and B in SC, and the relevant angles are together

( 2ASC CSB BSA∠ +∠ +∠ = π

Stud. Geophys. Geod., 50 (2006) 407

Page 10: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

RA

RB

RC

F = 0 ?

a

b

c

A

B

C

Fig. 8. Check on zero points inside an elementary triangle.

smaller than 2π ( )2B A CAS C CS B BS A∠ +∠ +∠ < π ; if one of the radii decreases, the opposite situation occurs, and the circles do not overlap the triangle.

The angles follow from the cosine rule. If one of the conditions of Eq.(7), say , is not satisfied, then the intersections of the two circles (around B and C)

with their common edge should be contained in the third circle (around A). This is the case when

B CR R a+ >

( )2 2 2 2 2 2CA C

RR b R b c a

c⎛ ⎞

> + − + −⎜ ⎟⎝ ⎠

and ( )2 2 2 2 2 2BA B

RR c R c b a

b⎛ ⎞> + − + −⎜ ⎟⎝ ⎠

. (9)

Similar expressions apply in case the other conditions of Eq.(7) are not satisfied, by cyclic permutation on the vertices and edges; again, Eq.(9) follows from repeated use of the cosine rule.

8. VALIDITY OF LIPSCHITZ CONTINUITY

The algorithm outlined above is guaranteed to correctly find all branches of the solution curve of Eq.(4), if two conditions are satisfied: 1. the Lipschitz condition of Eq.(6) applies, and 2. the Lipschitz constant, or a number larger than it, is known. The first condition is related to the geometrical spreading of the ray field under study, as well as the orientation of the profile line with respect to the ray field. In smooth models without interfaces the geometrical spreading is bounded over the entire ray field. The orientation of the profile line in the ray field plays an important role, since rays grazing to the profile line violate Eq.(6), even although the geometrical spreading is bounded. Grazing rays are therefore to be considered as singularities in the point-to-curve tracing algorithm. However, in the Example 2 below it is shown that the rasterization algorithm has no problem skipping over such singularities.

If the Lipschitz condition is known to apply, then still an a priori estimate of the Lipschitz constant L is usually difficult to make. A sharp estimate would require precise

408 Stud. Geophys. Geod., 50 (2006)

Page 11: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

knowledge of the complete ray field. Since for any number larger than L the condition of Eq.(6) is satisfied as well, conservative overestimates of L will work a forteriori (but less triangles will be rejected in the algorithm, making it less efficient). An underestimated Lipschitz constant will be detected by the algorithm for the triangles under consideration, if

{ }min , , 0A B B C C ALc F F La F F Lb F F− − − − − − < , (10)

so that a restart with a more conservative estimate is possible. Unjustifiable rejection of triangles in Step 3.1 can however only be strictly avoided with a rigorous global upper bound for L.

Similar considerations apply for the rasterization algorithm based on bounded second derivatives, discussed in the last Section of the paper.

9. EXAMPLE 1: EXPLODING REFLECTOR FROM SMOOTH INTERFACE

The model in Fig. 9 shows a simple example of the point-to-curve raytracing by rasterization applied on exploding reflector modeling. The interface is defined by a grid of bivariate B-splines, from which normal rays are being computed towards the target surface, which is the data recording surface at z = 0 (all distances in km, times in s, velocities in km/s). An infinite linear receiver profile extends over the intersection of the planes x = 5 km and z = 0 km; the investigated part of the interface extends over 0 < x < 10 km and −5 km < y < 5 km. The ‘distance along the profile’ (axis labels in Figs. 10, 11, and 15) is equal to y in this geometry. The receiver points on the profile themselves are not defined, and the (trivial) step of receiver bracketing is left out from this paper. The medium between the interface and the target surface is a smooth velocity distribution defined by trivariate B-splines; velocities are varying between 1.0 and 1.2 km/s.

In this model the point-to-curve raytracing has been set up by choosing the interface coordinates x and y as initial parameters (so that this example does, in fact, not refer to the point-to-curve raytracing in its strict sense). A Lipschitz constant has been chosen and an

02

46

810 -6 -4 -2 0 2 4 6 8 10

-6-5-4-3-2-10

z

xy

z

Fig. 9. Rays in exploding reflector example.

Stud. Geophys. Geod., 50 (2006) 409

Page 12: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

initial triangulation of the γ - plane, together with minimal triangle size ε. The raytracing has been carried out by solving the ray equations with a fourth-order Runge-Kutta solver with a suitable stepsize. The root finding method to find intersections with the target surface is bisection.

With these settings, Fig. 9 shows the final rays that have been found, starting perpendicularly to the interface and hitting the receiver profile. Fig. 10 shows the associated traveltimes, Fig. 11 a zoom - the crosses denote traveltimes related to triangle intersections in Fig. 13, between them they are linearly interpolated. Note in both Figures that the ray field is strongly multivalued, with more than seven arrivals at some receiver points (y = 2.5 km). Also note that the traveltime curve consists of several separate branches, characteristic of three-dimensional ray fields. As discussed before, these branches are the main difficulty for a local point-to-curve raytracing approach. The rasterization approach has no problems detecting and following them.

4

4.5

5

5.5

6

6.5

-6 -4 -2 0 2 4 6 8 10

time

distance along profile Fig. 10. Traveltime curve along receiver profile.

4.45

4.5

4.55

4.6

4.65

4.7

4.75

0.5 1 1.5 2 2.5 3 3.5

time

distance along profile Fig. 11. Zoom of Fig. 10.

410 Stud. Geophys. Geod., 50 (2006)

Page 13: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

The reconstructed implicit curve in γ - plane is shown in Fig. 12. Again, it reveals a strong complexity and different branches of which some are closed (for instance at (x, y) = (7, 3) km). Fig. 13 shows the rasterization itself and the triangles that have been considered by the algorithm. Here, it is clear that larger triangles away from the solution curve have been rejected in an early stage of the algorithm, and that triangles closer to the solution curve have been subdivided.

One technical problem can arise when for some γ the ray does not reach the target surface at all, so that F(γ ) is undefined. Such cases can be avoided by formally extending (wrapping) the target surface all around the model box while keeping the same profile surface. F(γ ) is then defined and Lipschitz continuous everywhere, but some parts of the solution curve should be rejected. This wrapping of the target surface has important

-6

-4

-2

0

2

4

6

0 1 2 3 4 5 6 7 8

y

x Fig. 12. Solution curve along interface (points from which normal rays hit receiver profile).

-6

-4

-2

0

2

4

6

0 2 4 6 8 10

y

x Fig. 13. Recursive triangulation to find solution curve along interface using Lipschitz condition.

Stud. Geophys. Geod., 50 (2006) 411

Page 14: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

practical applications, for instance in three-dimensional marine data acquisition geometries.

In exceptional cases, where none of the rays reaches the target surface (for instance in a spherically symmetric medium, in which rays travel around in circles), the indefiniteness of F can be avoided by adding the surface T(x) = Tend to the target surface, where T(x) is the traveltime along the rays and Tend is a selected upper limit to these traveltimes. F is then defined everywhere over the γ - plane, but possible parts of the solution curve where T(x) = Tend should be rejected - in fact there is no solution to the point-to-curve raytracing problem in these cases.

10. EXAMPLE 2: VIOLATION OF LIPSCHITZ CONDITION

This example is similar to Example 1, but the interface now has a vertical fault with a displacement of 0.2 km (see Fig. 14). This is a clear example where the Lipschitz continuity breaks down, since the ray end points at the target surface do not depend continuously on the initial parameters at the interface. To understand which consequences this has on the performance of the rasterization algorithm, consider again the flow listing in the Section 7. In Step 3.1.b, the Lipschitz condition will not under all circumstances detect any more whether F(γ ) = 0 in an elementary triangle under study, because F may be much steeper locally than predicted and even become zero unnoticed. As a result, some triangles can be rejected, even if they contain part of the solution curve. However, that does not stop the algorithm from proceeding; it will continue, and each time it detects a triangle with F = 0, it will correctly detect it. The resulting solution curve will therefore be incomplete, but the reconstructed parts will be correct. The important conclusion is that in fault models, the algorithm will miss parts of the solution, but proceed to the next fault block. This in contrast to a (local) algorithm based on solving the differential Eq.(5), which will stop at the fault, and has to be restarted across it.

Fig. 15 shows the traveltime curve along the receiver profile in the fault model of Fig. 14. Here, the discontinuity becomes clear in the jump in the traveltimes between y = −1.2 km and −0.8 km. Fig. 16 displays the solution curve, Fig. 17 a zoom at the

02

46

810 -6 -4 -2 0 2 4 6 8 10

-6-5-4-3-2-10

z

xy

z

Fig. 14. Rays in fault model.

412 Stud. Geophys. Geod., 50 (2006)

Page 15: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

3

3.5

4

4.5

5

5.5

6

6.5

-6 -4 -2 0 2 4 6

time

distance along profile Fig. 15. Traveltime curve in fault model.

location just above the discontinuity in the interface, where a small part of the solution is missing. The ray plot (Fig. 14) shows that the solution rays from the deeper (unchanged) part of the interface are not affected, but that the solution in the upper part (for y > 0 km) is changed considerably. The fault displacement of 0.2 km is enough to remove an entire closed solution branch from the unfaulted model of Fig. 9; apparently, normal rays from the region x = 7 − 8 km, y = 2 − 4 km (Fig. 12) do not reach the profile line any more.

11. BOUNDED SECOND DERIVATIVES

In smooth media, where the Lipschitz condition applies, it can be too conservative for some situations. When the divided differences ( ) ( )F F ′ ′−γ γ γ − γ vary strongly,

a constant value of L over the whole γ-plane leads to many triangles being accepted for subdivision in Step 3.1 of the algorithm, even although they are far from the solution curve F = 0. The consequence is wasted computation time on too many test rays. A proper way to make L adaptive to variations in the slope of F, is to consider curvature, more precisely second-order derivatives of F. If second derivatives of F are known to be bounded, many more triangles may be rejected and the number of test rays considerably reduced. Let us assume that the second derivatives of F in any point and in any direction are bounded by M > 0 (all second order Gâteaux derivatives are bounded). If we then consider an elementary triangle ( ), ,i i ix y F (i = 1, 2, 3), with xi, yi the coordinates of its vertices and Fi the values of F at the vertices (there is no sign change at this stage, so Fi > 0 without loss of generality), then we should examine the possibility that a quadratic surface

( ) 2 2, 2F x y ax bxy cy dx ey f= + + + + + (11)

Stud. Geophys. Geod., 50 (2006) 413

Page 16: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

-6

-4

-2

0

2

4

6

0 1 2 3 4 5 6

y

x Fig. 16. Solution curve along interface for rays in fault model.

-0.5

0

0.5

1

1.5

3.8 4 4.2 4.4 4.6 4.8 5

y

x Fig. 17. Zoom of Fig. 16 on discontinuous part of solution curve.

interpolates the triangle vertices and in the same time has a zero point inside the triangle. Since F attains its deepest value if a = b = c = M, this leads to the following linear system of equations for d, e, and f:

2 21 1 1 1 11 1

22 2 2 2 2 2 2

2 23 3 3 3 3 3 3

211 21 2

2

F ax bx y cyx y dx y e F ax bx y cyx y f F ax bx y cy

⎡ ⎤− − −⎡ ⎤ ⎡ ⎤ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢= − − −⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦⎣ ⎦ − − −⎣ ⎦

)0

, a = b = c = M. (12)

This system can be solved, because the triangle vertices are non-collinear, and hence the determinant of the matrix on the left-hand side non-zero. Once the parameters of the surface with deepest possible bend are determined, its minimum follows from

. This minimum exists and is unique, since a = b = c = M > 0. If it is ( ) (, 0,x yF F =

414 Stud. Geophys. Geod., 50 (2006)

Page 17: Point-to-curve raytracing by algebraic rasterization

Point-to-Curve Raytracing by Algebraic Rasterization

-6

-4

-2

0

2

4

6

0 2 4 6 8 10

y

x Fig. 18. Recursive triangulation to find solution curve along interface using bounded second order Gâteaux derivatives.

located outside the triangle, then the minimum of F on the edges must be found (three times minimization of a one-dimensional quadratic function). If F > 0 at the minimum finally found, the triangle is rejected, otherwise there can be an intersection with F = 0 and the triangle is subdivided.

The validity of the condition of bounded second derivatives of F is derived from the smoothness of the ray field; a proper choice of the upper bound M can be derived from analytical considerations or by trial-and-error (see similar remarks in the Section 8 above).

Fig. 18 shows the recursive triangulation for the Example 1 given before, assuming bounded second derivatives. By comparing with Fig. 13 (the solution curve, solution rays and traveltime curves are identical), it is clear that the assumption of bounded second derivatives can indeed considerably economize on the number of test rays.

12. DISCUSSION AND CONCLUSIONS

A global approach to boundary value raytracing problems by algebraic rasterization, subject to the assumption of Lipschitz continuity, is able to capture all solution branches. It has no difficulties with initialization, bifurcation or closed loop solutions. The Lipschitz condition is related to a bounded geometrical spreading over the entire ray field and requires the rays not to graze to the receiver profile. However, if the Lipschitz condition is not satisfied locally, the algorithm skips parts of the solution curve and continues beyond the discontinuity. In some situations, a potentially large number of test rays can be avoided by using bounded second derivatives, instead of Lipschitz continuity.

The proposed algorithms are shown to work properly for smooth media. As such, they have obvious applications in global, reflection and transmission tomography. Their functionality in multilayer models requires further study. In multilayer models, for some parts of the γ - plane F(γ ) is discontinuous due to shadow zones, caused by diffracting edges (for instance pinch-outs). Diffractions originating from these edges can again be

Stud. Geophys. Geod., 50 (2006) 415

Page 18: Point-to-curve raytracing by algebraic rasterization

T.J. Moser

investigated by the proposed algorithms. However, in this case the emergence point is not Lipschitz continuous with respect to the original initial ray parameters, but with respect to diffraction initial parameters, to be defined for each edge separately.

The proposed algorithm of recursive subdivision of triangles, based on algebraic criteria to decide whether the solution curve traverses the triangle or its interior, bears some resemblance to algorithms developed by Bulant (1996, 1999). However, those algorithms are aimed at obtaining a triangulation of the entire parameter plane, so that each triangle has vertices pertaining to the same ray history (sequence of model layers visited). The interiors of these triangles are not guaranteed by any criterion to contain any further solutions.

There is some potential for further applications and extensions of the algebraic rasterization algorithms in seismic raytracing. Caustic surfaces in ray fields in three-dimensional models can be traced, and hence visualized, using the geometrical spreading as the target function F. Boundary value raytracing problem involving more than two ray parameters may be solved by designing a surface tracing algorithm, again using Lipschitz continuity or bounded second derivatives.

Acknowledgments: Discussions with J. Ph. de Korte have been greatly appreciated.

Prof. C. H. Chapman is warmly thanked for providing the Eq.(8). Comments by P. Bulant, I. Pšenčík and an anonymous reviewer have been helpful in improving the paper.

References Allgower E. and Georg K., 1990. Numerical Continuation Methods: an Introduction. Springer

Verlag, Heidelberg, Germany. Bulant P., 1996. Two-point ray tracing in 3-D. Pure Appl. Geophys., 148, 421−447. Bulant P., 1999. Two-point ray-tracing and controlled initial-value ray-tracing in 3-D heterogeneous

block structures. J. Seism. Explor., 8, 57−75. Červený V., 2001. Seismic Ray Theory. Cambridge University Press, Cambridge, U.K. Hanyga A. and Pajchel J., 1995. Point-to-curve raytracing in complicated geological models.

Geophys. Prospect., 43, 859−872. Hobby J.D., 1990. Rasterization of nonparametric curves. ACM Trans. Graph., 9, 262−277. Lopes H., de Oliveira J.B.S. and de Figueiredo L.H., 2002. Robust adaptive polygonal

approximation of implicit curves. Comput. Graph.-UK, 26, 841−852. Moser T.J., 1994. Continuation in Seismic Raytracing. PSI Annual Report, Inst. Français du Pétrole,

Rueil-Malmaison, France. Moser T.J. and Pajchel J., 1997. Recursive seismic ray modelling: applications in inversion and

VSP. Geophys. Prospect., 45, 885−908. Press W.H., Teukolsky S.A., Vetterling W.T. and Flannery B.P., 1992. Numerical Recipes in

Fortran 77: The Art of Scientific Computing (Volume I of Fortran Numerical Recipes), Cambridge University Press, Cambridge, U.K.

Taubin G., 1994. An accurate algorithm for rasterizing algebraic curves and surfaces. IEEE Comput. Graph. Appl., 14, 14−23.

Vinje V., Iversen E., Åstebøl K. and Gjøystdal H., 1996. Estimation of multivalued arrivals in 3D models using wavefront construction, Part I and II. Geophys. Prospect., 44, 819−858.

416 Stud. Geophys. Geod., 50 (2006)