Next: ANIMATOR Up: Lenga, Clapp, & Claerbout: Previous: Object Oriented

# FROG POND

As a first test of Java's capabilities we wanted to see how well it could handle a problem that SEPLIB could not do adequately. Therefore we simulated what a pond would look like when a frog jumping from lily pad to lily pad. The goal of the demo is to simulate wavefront propagation through a medium with a given viscosity at a given velocity. The algorithm is a simple finite difference program where a Laplacian template is applied to the data. Using Ratfor the coding is short (see Appendix A), and with a knowledge of the called subroutines, straightforward. The problem lies with our SEPLIB libraries which do not allow interactivity. The location of where the frog jumps, the source position of the wavefront, is determined by a random function (see Figure 1). In addition, the only possible way to display the results over the Internet is through pre-calculating the images, and saving them into a mpeg file.

frogsep
Figure 1
The Frog Pond, SEPLIB style. Select figure interaction to see a movie version.

Java opens up an entire new realm of possibilities (see Appendix A). By writing it as an applet, Java's convention for a web-based application, the demo becomes dynamic and interactive. By clicking on the pond the frog's course, and therefore the source of new wavefronts, can be guided. In addition features like the clip, the size of the display, and pausing the calculations become possible. Figure 2 shows the display in the Hot Java Browser.

frogjava
Figure 2
The Frog Pond, wherever the frog jumps, wavefronts emerge. If you have Java capabilities, click on the figure interact button to go to the Frog Pond.

Overall our initial test proved successful. The one drawback is speed. The machine independent byte codes appear to run at about 10% of the speed of the Fortran version.

Next: ANIMATOR Up: Lenga, Clapp, & Claerbout: Previous: Object Oriented
Stanford Exploration Project
11/12/1997