Towards Integrating Virtual Reality with NIST's Digital Library of Mathematical Functions
Justin Slud
NIST SURF
Information Technology Lab
Applied and Computational Mathematics Division
High Performance Computing and Visualization Group
Mentor: Sandy Ressler
August 5, 2019
Outline
- WebVR
- Project Description
- Tools Used
- Added Features
- Results
- Future Steps
WebVR
- View scenes in web browser or virtual reality (VR) headset
- No need to download special software
- Shared with a URL


experiments.withgoogle.com/konterball
anssiko.github.io/ac2017-webvr/#8
The DLMF
- Digital Library of Mathematical Functions
- NIST public resource
- Web 3D visualization
- Want to add immersive visualization/manipulation

amazon.com
Background
- Previous DLMF visualization
- GLTF models created
- Missing information about surface, DLMF options

math.nist.gov/~SRessler/knc7/experiments/grid/smindex.html
VR Toolkit:
A-FRAME
- Javascript library
- Built on Three.JS
- Easy to create simple experiences
- Uses HTML tags

<head>
<script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
</head>
<body>
<a-scene background="color: #FAFAFA">
<a-box position="-1 0.5 -3" rotation="0 45 0" color="#4CC3D9" shadow></a-box>
<a-sphere position="0 1.25 -5" radius="1.25" color="#EF2D5E" shadow></a-sphere>
<a-cylinder position="1 0.75 -3" radius="0.5" height="1.5" color="#FFC65D" shadow></a-cylinder>
<a-plane position="0 0 -4" rotation="-90 0 0" width="4" height="4" color="#7BC8A4" shadow></a-plane>
</a-scene>
</body>
aframe.io
Oculus Rift
- Allows for 6 degrees of freedom (orientation, position)
- Relatively inexpensive



oculus.com
New DLMF Manipulation
- Multiple rotations
- Scaling
- Axes
- Resetting
- Shading
- Pause / Play
DLMF Menus
- Functions by chapter
- Change surface quickly on hover
New Gallery
- 2D interface of all 3D functions
- View in WebVR
- View in DLMF
- Download 3D files of many types


3D Models
- Meshlab and 3D Builder, Node JS for editing and converting
- Used for modelling, 3D printing, etc.
- gltf, stl, glb, obj, dae, ply
var ifolder = //import folder
fs.readdir(folder, (err, files)=>{
files.forEach(function(folder) {
var exportName =
// change file extension
var efolder = // export folder
var command =
// terminal command to convert
shell.exec(command);
});

New VR Functionality
- Multiple surfaces
- Modular components
- New menu

Conclusion
- Potential for integration into DLMF
- Manipulation useful for non-DLMF 3D models
- Plans to put 3D models on public repository



dlmf.nist.gov
Summary
- Created model viewer for DLMF surfaces
- Model viewer ready for real DLMF website integration
- Wrote scripts to generate multiple file formats
- Created gallery of multiple file formats for future public repository
Thank you:
Sandy Ressler
SURF Staff
ACMD HPCVG
Frankie Willard
References
Towards Integrating Virtual Reality with NIST's Digital Library of Mathematical Functions
By justinslud
Towards Integrating Virtual Reality with NIST's Digital Library of Mathematical Functions
Colloquium presentation for the NIST SURF internship 2019.
- 1,099