The ray tracing method I have implemented is based on the ray tracing system of first-order partial-differential equations, derived from the Eikonal equation by the method of characteristics (see Cerveny1987 for more details):
The slowness vector is perpendicular to the wavefront (), and must satisfy
The system of ray equations together with equation () can be solved by a standard numerical integration method. I use a fourth-order Rungge-Kutta method. It propagates the properties of the ray (xi,pi, and t) over an increment in arclength by combining the information from several Euler-style steps (each involving one evaluation of the right-hand side of equations () and ()), and then uses the information obtained to match a fourth-order Taylor series expansion of the ray variables at the current position.
Figure shows some of rays traced through the reference model shown in Figure .