VMM-Curvature-Experience
An alpha-level prototype virtual reality experience developed to illustrate the special curvature properties of quadric surfaces. Developed during a Mentored Advanced Project entitled Virtual Mathematical Models at Grinnell College during the summer of 2019 with Professor Christopher French.
The key concept illustrated in this experience will be that of curvature, which describes how a surface behaves locally around a given point. At each point on a surface, we can ask how the surface curves as we look in a certain direction. We call points that are locally spherical umbilical points and it turns out that different quadric surfaces have unique configurations of such points.
In the first experience the player has crash-landed on an unknown planet. In order to escape they are tasked with finding all of the umbilical points on planet. This unknown planet is a three-axial ellipsoid, and it turns out that there are exactly four umbilical points the player will have to find. To find these points the player will walk about on the ellipsoid and attempt to gain an intuition of curvature using a compass and minimap. The compass shows the player how the surface that they are walking on curves at a given point by visually displaying the measure of curvature in different directions. The player uses the compass by pointing their right controller at a point on the ground in front of them and pressing down the right trigger. Then, the compass displays a peanut shaped array of orange tangent directions. Each of these orange tangent directions is scaled to demonstrate the measure of curvature in that direction, and two cyan tangents display the most important measures of curvature called the principle curvatures. The minimap allows the player to keep track of their discovered umbilical points as well as their path on the ellipsoid. Additionally, the minimap is intended to give the player another way of visualizing the curvature of the ellipsoid. After finding all of the umbilical points of the ellipsoid, the player can escape from the planet and has finished the experience.
You can watch a recording of a walkthrough of the experience here.
The main Unity scene file is Curvature/Assets/Scenes/Ellipsoid and the important code that I developed is in the Curvature Experience/Assets/Scripts folder. Here are the poster and paper that I wrote for the VMM MAP summer project.
Built With
- Unity - The game engine and development environment used.
- SteamVR SDK - Unity plugin used to target HTC Vive and Oculus Rift VR headsets (using version 1.2.3).
- Blender - Used to create 3D models and textures.
Authors and Contributors
- Tal Rastopchin - Initial work on virtual reality experience - GitHub
License
This project is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License (CC BY-NC-SA 4.0).
Acknowledgments
- This project was funded by Grinnell College.
- The project was supervised by Christopher French.
- My MAP coworkers Charun Upara and William Song.