Documentation:Math World

From UBC Wiki
Emerging Media Lab
UBC Emerging Media Lab Signature.png
About EML
A collaborative space for UBC faculty, students and staff for exploration of emerging technologies and development of innovative tools and solutions. This wiki is for public-facing documentation for our projects and procedures.
Subpages


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)

Bloom's Taxonomy.png

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

Some rights reserved
Permission is granted to copy, distribute and/or modify this document according to the terms in Creative Commons License, Attribution-ShareAlike 4.0. The full text of this license may be found here: CC by-sa 4.0
Attribution-Share-a-like