Field Application of Computer Graphics for Monitoring Borehole Trajectories
Authors: Santos Otto L. , Petrobras S.A. , Maidla Eric E. , Langllnais Julius P. 
Published: December 2007

Summary
A method to present directional wellbore trajectories graphically with microcomputers has been developed. This concept makes use of interactive computer graphics, enabling the user to view computer calculation results immediately. The source code was written in FORTRAN-77 and designed for use with microcomputers.

Introduction
The vertical and horizontal sections routinely used to evaluate directional wans are simple graphical displays that monitor the spatial position of a wellbore. These graphical profiles are limited in that investigation of multiple wellbores from a common surface point is very difficult. This problem is best resolved with the use of a computer and an interactive graphics computer program, such as the one discussed in this paper.
Lutz and Kendle reported on the use of such a computer system, monitoring 1,190 directional wells drilled from marimade islands off California. This system provided speed and precision while eliminating the tedious drafting involved in manual calculations. The design parameters were also optimized to reduce drilling costs while minimizing interference between proposed and existing wells. However, their algorithms and source code were not published.
Our work was suggested by techniques available in the computer-aided-drafting type interactive computer graphics systems. These user-friendly interactive systems allow quick recalculation and graphic display. These techniques were applied to a system of multiple wellbores to perform such tasks as translation, rotation, 3D clipping, and zoom onto an area of interest to give the viewer a variety of vantage points. The source code was written in FORTRAN-77. The program was compiled on an IBM PC in DOS and equipped with a graphic adapter, using the Microsoft FORTRAN Optimizing Compiler Version 4.0. It can easily be modified to fit particular user needs in addition to those demonstrated later in the paper. This source code provides a practical, usable program and eliminates the questionable reliability of undisclosed source codes.

Theoretical Considerations
First, the measured parameters of existing and proposed wells are entered into the computer program as measured depth and inclination and direction angles. These coordinates are immediately converted to an orthogonal system (i.e. north, east, and true vertical depth (TVD) by the minimumcurvature method. Then, the resulting coordinates are transformed to a world coordinate system (i.e., a right-hand Cartesian system where the y axis is vertically upward, the × axis is east, and the z axis is south), whose origin can be chosen by the user (see Fig. 1). Examples of origins are the center of a template for multiple wells or the surface location for a single well.
The observer views this fixed coordinate system from a screen coordinate system that is free to move with respect to the world coordinate system. A vector in the world system is mapped to the screen system by applying observation transformations (i.e., scalings, rotations, and translations) and then mapping the screen system to the viewing area (see Fig. 2). Depending on the observation transformations chosen, some portions of the wells may require clipping at the boundaries of the viewing area. This allows the user to view the wellbore paths from a variety of spatial positions, such as from very far away to see all wellbores from surface to bottom or on horizontal planes to view relative positions of wells (see Fig. 3).
In effect, the observer is looking through a square window of the world space that contains the information the user wishes to display (see Fig. 4). Then, the viewport is defined as a square portion of the viewing screen onto which the window contents are mapped. The viewport is essentially the 2D orthogonal projection of the contents of the window.
Mathematically, the observation transformations, as indicated by primes, can be written as follows. For a translation,
x'=x+a, y'=y+b, and z'=z+c,
where a, b, and c are the translation parameters.
For a rotation about the z axis,
x'=x cos() -y sin(),
y =x sin() +y cos(),
and z'=z
JPT
December 1989
P. 1254^