Reasons to Update Handbook

The National Institute of Standards and Technology (NIST) is developing a digital library to replace the widely used National Bureau of Standards Handbook of Mathematical Functions published in 1964. The NIST Digital Library of Mathematical Functions (DLMF) will include formulas, methods of computation, references, and links to software for over forty functions. It will be published both in hardcopy format and as a website featuring interactive navigation, a mathematical equation search, 2D graphics, and dynamic interactive 3D visualizations. This paper focuses on the development and accessibility of the 3D visualizations for the digital library. We examine the techniques needed to produce accurate computations of function data, and through a careful evaluation of several prototypes, we address the advantages and disadvantages of using various technologies, including the Virtual Reality Modeling Language (VRML), interactive embedded graphics, and video capture to render and disseminate the visualizations in an environment accessible to users on various platforms.


INTRODUCTION
Although fundamentally unchanged since its publication by the National Bureau of Standards (NBS) in 1964, the Handbook of Mathematical Functions with Formulas, Graphs and Mathematical Tables (Abramowitz & Stegun, 1964) continues to be a popular and valued resource in the mathematical and scientific communities.For this reason, the National Institute of Standards and Technology (NIST), the successor organization of NBS, has decided to completely update and expand the handbook, publishing it both in hardcopy format and on the web as the NIST Digital Library of Mathematical Functions (DLMF).The DLMF will include mathematical formulas, references, methods of computation, graphs, and links to software for more than 40 different high level mathematical functions.The web site will also feature interactive navigation, a mathematical equation search, and dynamic interactive visualizations.Similar to the original handbook, the DLMF will consist of multiple chapters authored by renowned researchers in the field of special functions from throughout the United States and abroad.It is slated for completion in 2007, but a mockup version with partial capabilities along with a sample chapter on the gamma function is available at http://dlmf.nist.gov/Contents.Precise 3D visualizations will provide mathematicians and physical scientists with the tools to explore important attributes, such as poles, zeros, or branch cuts, for high level special functions that solve complex physical problems.The development of such visualizations requires the accurate computation of function data and the determination of the best methods for rendering and disseminating the visualizations in an environment accessible to users on various platforms.
Currently we are using the Virtual Reality Modeling Language (VRML) to create web-based visualizations for the DLMF.We supplemented the standard navigational tools provided by VRML browsers with customized controls that allow users to move cutting planes through function surfaces, select surface color maps, choose axis styles, and create density plots.Although VRML browsers are available on most platforms, it is still possible that a user may not have access to such a browser.Furthermore, in spite of claims of adherence to the VRML 97 standard, the performance and capabilities of VRML browsers can vary widely across platforms.Consequently, we have been exploring alternative technologies, including simple videos, interactive pseudo-3D images, and interactive embedded 3D images, which would make DLMF visualizations available to a larger audience.
In this paper we discuss many of the issues involved in creating 3D visualizations for the NIST Digital Library of Mathematical Functions.Section 2 discusses the computation of the function data and the steps being taken to insure data accuracy.Section 3 looks at our use of VRML to develop dynamic visualizations.In particular, we discuss the user capabilities we have implemented by creating MathViewer, a VRML prototype, or object-defining and extensibility routine, to control the interactive manipulation of 3D surfaces.Section 4 looks at alternative technologies and examines prototypes developed using video capture software, QuickTime VR, and Acrobat 3D.In Section 5 we look at the advantages and disadvantages of each technology as far as platform portability and dissemination of information to the widest possible audience, and finally, in Section 6 we offer some conclusions and suggestions for future work.

DATA COMPUTATION
The key concern when computing data for the construction of precise plots of complicated mathematical functions is accuracy, both data accuracy and plot accuracy.To validate data accuracy, we compute the function values using at least two independent methods.This might involve the use of standard computer algebra packages such as Mathematica or Maple, routines from repositories such as the NIST Guide to Available Mathematical Software (GAMS, http://gams.nist.gov), or even personal FORTRAN and C codes from the chapter authors themselves.Authors may provide initial versions of the plots they wish to have in their chapters, but all functions are recomputed at NIST to insure the validity of the data.
Plot accuracy concerns the visual display of the data.Does the plot accurately represent the graph of the function?
The answer to this question depends not only on the accuracy of the data, but also on the tool or package being used to plot the data.Commercial packages often have many built-in special functions, but their 3D plots are usually over a rectangular Cartesian mesh, leading to poor and misleading graphs.When function values lie outside the range of interest, many packages have trouble properly clipping the function surface to produce an accurate graphical representation.Furthermore, even when the plot looks satisfactory inside a package, it may be completely unacceptable when the data are transformed to a format more suitable for display on the web.We solve many of these problems by using numerical grid generation techniques to design customized computational meshes fitted to the boundary or contours of the function.Figure 1 shows the computational grid and plot of the modulus of the complex gamma function.

VRML/X3D
After investigating web-based 3D graphics file formats, we selected the Virtual Reality Modeling Language (VRML) to create our visualizations.VRML is a standard 3D file format for which browsers and plugins for a variety of platforms are publicly available on the internet where its functionalities satisfy our web-based visualization requirements.The emerging XML based standard, X3D, or Extensible 3D, is the successor to VRML and will support all VRML functions.Our successful translation and testing of several of our VRML files suggests that a future conversion to X3D format is both feasible and practical.
While standard VRML browser controls such as rotate, zoom, and pan permit a user to examine a 3D display from an arbitrary direction, we also wanted to provide options for more extensive manipulation of function surfaces.Discussions with DLMF editors and authors led to several suggestions concerning the types of interaction users might desire.We developed the VRML prototype MathViewer to implement several of these capabilities, including dynamic cutting plane control, axis and label style control, color map control, and scale control.

Cutting plane control
Cutting plane control allows the user to examine the intersection of a plane with a function surface as the plane moves through the surface.The plane can be parallel to coordinate axis x, y, or z.The intersection curves are projected onto opposite faces of the bounding box and displayed in a separate pop up window.The user moves the cutting plane by selecting VCR-like buttons to play, stop, reverse, rewind, or fast-forward or uses the slider bar to move the plane to a specific position and clicks "go" to display the intersection.The calculation of the intersection curves occurs in real time.Figure 2 shows a cutting plane moving in the z, or vertical axis, direction., n=0 to 20 and real argument, x, -5π ≤ x ≤5π with cutting plane at z=0.58372.

Axis and label control
Using the axis and label control panel, a user can select the style preferred.This may be convenient if the user wishes to do a screen capture of the display for use in a publication or elsewhere.Figure 3 shows the four axis styles that are available: front, back, triad, and no axes.Both the front and back styles allow the user to enclose the surface with a bounding box.

Color map control
Visualizations in the DLMF represent either real-valued or complex-valued functions of the form, z=f(x,y).For real valued functions only a height-based color map, where height=z, is provided.For complex-valued functions, the user has the option of using a height-based color mapping where height=|z| or a mapping based on the phase, or argument, of z.
Currently the user is given two options for the phase based mapping: four-color map or continuous spectrum.In the four-color based method, the colors blue, green, red, and yellow are used to indicate whether the phase of z lies in the first, second, third, or fourth quadrant, respectively.The continuous spectrum-based method maps the phase information to color so that 0, π/2, π, and 3π/2 correspond to red, yellow, cyan, and blue with a smooth transition between the colors.The surface in Figure 4 illustrates the continuous spectrum based mapping.

Scale control
The scale control panel has three slider bars that allow a user to change the screen length of the surface in the x, y, or z direction.The "reset" button lets the user change the figure back to its original size.As shown in Figure 5, scaling the length down to near zero in the z direction produces a simple density plot when the surface color map is based on height or can brilliantly bring out a branch cut when color represents the argument, or phase, of the function.

Plugins/browsers
Although all the DLMF VRML file codes satisfy the VRML 97 standard, some VRML/X3D browsers have trouble handling the customized features that we have implemented.We are working diligently to make sure that our codes perform well on browsers commonly available on most platforms, including Cortona, BSContact, and possibly CosmoPlayer for Windows environments and FreeWrl for Linux users.Although we cannot endorse a particular VRML/X3D browser, the DLMF site will offer some suggestions about obtaining a browser.Users will also be guided to http://cic.nist.gov/vrml/vbdetect.htmlwhich lists the VRML/X3D browsers available for a machine and detects any browser already installed.
In spite of the availability of VRML/X3D browsers, several things might preclude some users from gaining access to the DLMF visualizations.Possibly a browser may not be available for their particular platform or configuration, or security concerns at their site may put severe limits on the download of new software.Also, the inconsistency of some VRML/X3D browsers in handling files that comply with the VRML 97 standard may leave some users disappointed and discouraged in their attempts to install and run the software.For these reasons we have been exploring alternative technologies that would provide users at least some of the capabilities available with VRML/X3D.Below we describe prototypes we have developed using Adobe Acrobat 3D, QuickTime VR, and commercial software for video capture.

Embedded 3d graphics
Using Adobe Acrobat 3D we converted several DLMF chapters into PDF documents with embedded interactive 3D images.Acrobat 3D accepts a VRML file as input, translates it into a new file format, U3D, which can then be inserted into a PDF document.When the user reads the PDF document with an Adobe reader version 7.0 or later, 3D figures appear as ordinary static images seen in any online document.However, clicking on the image causes a toolbar to appear, giving the user interactive capabilities that rival those of a VRML browser.The user can rotate, zoom, or pan the image and examine several stored viewpoints.The user can also change the appearance of the image by selecting other settings for lighting, shading, and background color.Figure 6 shows an image of the complex tangent function embedded into a PDF document constructed from the DLMF chapter on elementary functions.

Video capture, movies
Another possibility is to create animations by making videos showing the movement of the 3D surfaces.We do this by two methods.We first create an alternate simpler version of our VRML file with most of our customized features stripped out.Then we use video capture software to record and store our movements as we manipulate the surface inside the VRML browser.Several commercial packages for video capture are available.Cortona Moviemaker and also Acrobat 3D are two packages that can be used for this purpose.
Our second method for creating animations involves the use of Apple QuickTime VR (QTVR) to make a QTVR Object movie.Rather than capturing movement on the screen, QTVR software requests information be entered such as frame rate, number of frames, and type or degree of rotation.Based on this information, it creates a sequence of still pictures for the surface, which can be viewed as a movie later.Users are able to view the movie by downloading a free QuickTime Player.Figure 7 shows a snapshot of the modulus of the complex Airy function inside the viewer.

RESULTS
The chart in Table 1 compares the different technologies that we have examined to date.VRML/X3D provides the most dynamic and interactive user capabilities.Many browsers featuring standard navigation controls such as rotate, zoom, and pan can be downloaded for free.The VRML/X3D language lets us create additional customized controls that can be handled by most VRML/X3D browsers that accept VRML 97 compliant codes.However, one problem we have discovered is that operating system updates, new patches, and even updates of the plugin itself can sometimes "break" a VRML/X3D browser, disabling certain features or capabilities.
The interactive embedded graphics demonstrated by Acrobat 3D also handles the standard navigational controls, but the package is not yet sophisticated enough to handle all the capabilities we have implemented with VRML.Still, embedding our 3D graphs inside a downloadable PDF document might be the simplest way to provide some interactive capabilities to users who don't have access to a VRML browser.
The other technologies, using video capture or other methods for creating animations, can show different viewpoints and various features of surfaces but allow little or no user interaction.However, these technologies are very portable to different platforms, and they either require no special plugins or plugins that are readily available.

CONCLUSIONS
Web-based 3D visualizations for the NIST DLMF have been developed using VRML/X3D standards.In particular, a VRML prototype, MathViewer, has been implemented to provide DLMF users with interactive capabilities to explore the interesting features of complex mathematical function surfaces.Over one hundred visualizations have been completed for the DLMF, and feedback from DLMF editors, authors, and other observers has been positive.We continue to improve existing features and add new ones.One new feature being tested is to provide the user with the ability to click anywhere on the function surface and obtain the coordinates.We also are seeking ways to improve the performance of the cutting planes, especially in the z direction.
To address problems concerning the existence of VRML browser plugins for different platforms, we tested some different technologies to render and disseminate the visualization of complex mathematical functions on the web: embedded 3D graphics, QTVR animation, and video capture.Based on the amount of user interaction possible and platform portability, it appears that embedded 3D graphics technology, created with a package such as Adobe Acrobat 3D, offers the most promise.Because PDF files can be viewed in almost any web browser, portability should not be a problem.Ideally, however, we would like to see all the functionalities of the DLMF visualizations fully implemented and accessible to as wide an audience as possible, so we will continue to monitor progress in the development of reliable VRML/X3D browser plugins for various platforms.
Figure 1.Computational Grid and Modulus of Complex Gamma Function ). ( iy x + Γ

Figure 3 .
Figure 3. Axis and Labeling Styles

Figure 4 .
Figure 4. Modulus of complex Pearcey integral function Ψ 2 (x,y) with continuous spectrum color map.

Figure 5 .
Figure 5. Surfaces scaled down in z direction.Modulus of complex gamma function shown with height-based color map and modulus of complex log function shown with phase-based color map.

Figure 6 .
Figure 6.Toolbar and image of complex tangent function embedded into PDF document.

Figure 7 .
Figure 7. Movie of complex airy function created with QuickTime VR.

Table 1 .
Comparison of technologies for the dissemination of 3D visualizations.