I recently spent a week in Providence attending the “Illustrating Mathematics” conference at ICERM. Per the workshop description, “The goal of this conference is to bring together mathematicians from a range of fields, and practitioners from the digital arts (animation, 3D printing, laser cutting, CNC routing, virtual reality, computer games, etc). The attendees will share their expertise in mathematics and with the procedural tools used to illustrate mathematics.” This makes it sound a bit like there were two distinct subsets of participants, but, in practice, all participants had previous experience using digital tools to illustrate mathematics.
An objective of the conference was to share knowledge of how to use different tools to illustrate mathematics. To that end, I ran a workshop on the first day with the aim of introducing conference participants to VR and enabling them to make their first VR content.
In the interest of skipping to the “fun” part, workshop participants were provided with a pre-setup webVR boilerplate. I’ve found that it’s helpful to provide both an entirely “blank slate” version of the boilerplate that participants can add things to and a “demo” version that participants can reference. As an experiment for this workshop, I tried using the new Mozilla boilerplate rather than our usual eleVR homebrew one (link to old version, new version not yet online). This had mixed results, a lot of people wanted features that are standard in the eleVR boilerplate, but missing in the Mozilla one. On the other hand, the Mozilla boilerplate has features that the eleVR boilerplate lacks as well, so it likely ended up being a wash. If I were to run the workshop again, I would probably spend some time creating a boilerplate that took the best from both. As it was, I actually spent some time helping a workshop participant who really needed it, add in a feature to the Mozilla boilerplate that is standard in the eleVR version after the workshop.
We focused on putting objects into the space, coloring them, and rotating/moving them using threeJS. The demo code included three types of objects – a simple cube, an object group of tetrahedra (five intersecting tetrahedra), and an obj of an icosidodecahedron. I chose the objects both for mathematical interest as well as variety. The cube made for a nice basic example, while the group of tetrahedra demonstrated how objects can be combined. Many of the people attending the workshop already do 3D computer modeling, and the example of the obj loading enabled people to upload their own pre-existing models into VR for the first time.
After introducing webVR and working through some of the basic examples in the demo code, I spent most of the workshop walking around helping people with their own webVR projects.
I knew the workshop had been a success when several different people continued to ask me for help with their projects throughout the week of the conference. During the optional show and tell hour, when people showed off relevant work they had done (almost all from before the conference), I was delighted to discover that one participant, Ken Baker, had gone so far as to upload his webVR experiments of the week onto a website and had been pleased enough with them to show them off to the whole group. (If you attended my workshop and made something based on it that you’ve put on the internet, please let me know – I’d love to see it!)
You can check out his three “plane fields” of circular discs here: http://www.math.miami.edu/~kenken/planesight.html
Overall, the Illustrating Mathematics conference was really relevant and educational for me, and I’m really glad that I was able to attend. There were some awesome lectures and workshops from other participants, and a neat exhibit of various people’s work.