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

  1. WebVR
  2. Project Description
  3. Tools Used
  4. Added Features
  5. Results
  6. 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

  1. Created model viewer for DLMF surfaces
  2. Model viewer ready for real DLMF website integration
  3. Wrote scripts to generate multiple file formats
  4. 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.

  • 581