Documentation:Math World
Introduction
For most students studying a technical field at a post-secondary level they will be introduced more advance mathematics. Transitioning from the high school level single-variable calculus that lends itself so well to plotting in dimensions, many students struggle with multivariable calculus as they don’t yet have an intuition around how different graphs may look.
It is my belief that through the use of an augmented reality representation of the multi variable plots, students will have an easier time developing an intuition around multi variable calculus which in turn will help foster a deeper understanding of a subject mater.
FAQ
Why AR?
Since the goal of this is to be used in a classroom setting AR is great because it is compatible with most modern smart phones.
Humans experience reality in three dimensions, because of this our visual systems are more accustomed to interpreting the world in three dimensions. While some screen based approaches exist and are likely better than just two dimensions, there are still fewer visual cues for the users to use in order to interpret what they are seeing. Because of this, a greater cognitive load is placed on the student. Using AR the information being studied is represented in more natural manor making learning easier.
What did you hope to achieve?
The goal of the app is target the remembering and understanding level. These two level are often referred to as intuition. My understanding is that intuition is built when students are exposed to the content from multiple angels. In the case of multivariable calculus, the students may first see two-dimensional representation that do not provide any interaction. Then see two dimensional representations that they can interact with indirectly (mouse and keyboard) and then finally through an AR representation that they interact with directly (walking around). I hypothesis that this will solidify the conceptual foundation laid out for students at the start of a typical multi variable course that would then translate to better performance in the higher levels (Apply, analyze, evaluate, and create)
First Time Setup Guide
First time set-up:
The project currently runs on Unity 2018.2.x.
Simple cloning the project directory and opening in it unity should work.
Primary Features....
Allows users to input arbitrary functions in the form z=f(x,y) and have them displayed in AR.
Lessons learned
When developing an AR application, the quality of AR tracking is very important and it's important to establish that the SDK you are using can provide the quality you need for your project.
Artwork
Plugins/assets/prebuilds developed
The final build uses AR Foundations, a Unity Plugin that allows users to create AR apps that use ARcore and ARkit, we found this to be more reliable than other AR SDKs.
Math parsing:
A key component to the functioning of the app is the ability for the program to interpret arbitrary mathematical statements at runtime. Obviously, the C# programming language is equipped to evaluate mathematics, however it is not trivial to implement a system that can evaluate user entered strings and plot the results.
To do this, our team made use of an open source library
https://github.com/akuukka/ExpressionSolver
It supports the following by default:
sin,cos,tan,sinh,cosh,tanh,asin,acos,atan,atan2,abs,min,max,exp,log,log10,
ceil,floor,round,sqrt
There were other libraries available, but this one was by far the easiest to use out of the box. We simple added the entire project into our project directory and used the namespace “AK” to access the functions of the library.
Known Issues
Provide information on any know issues affecting functionality or stability.
White Paper
Upload a .pdf version of the project white paper to the wiki and link to it here.
Poster
Upload a printable version of your poster to the wiki and link to it here. An editable version of the document is preferred. File:MathWorld-Poster.pdf
Development Team
Daanyaal Sobani - Developer
License
|