The MathBrush project started as a standalone application running on Tablet PCs. The main focus of the project was to experiment and enhance the recognition of hand written mathematics, investigate the different user interface challenges, and connect with a Computer Algebra System (CAS) to allow the user to naturally operate on the handwritten mathematical expressions. MathBrush was available on Tablet PCs and was able to connect to Maple and Mathematica as the supporting CAS. The existence of a complete system was essential for tackling all the challenges introduced with such a system. The Tablet PC version works also on Microsoft Surface Pro. If you are interested in this version of the project please
contact us.
MathBrush was ready to be used by students to help them focus on doing mathematics and enjoy it instead of worrying about transcribing mathematics in different ways to feed to available CAS or to embed in a latex document or a web page. With the evolution in the use and the availability of tablet devices, we decided to create the MathBrush App available on the App Store for both the iPad and the iPhone to help as many students as possible. We chose Sage as our CAS since it does not need the users to subscribe or purchase any additional components. With the move to tablet devices came new set of challenges to deal with the limited input area, the limited resources on the device and the different interface design standards.
MathBrush is a pen-based system for interactive mathematics. The system allows users to write mathematical expressions as they would using a pen and paper, and manipulate the expressions using computer algebra system operations that are invoked by pen-based interaction. Users can also edit the input and output expressions or parts of them. Despite the benefits of computer algebra systems (CAS) such as Maple, many users prefer a pen-and-paper approach. This is mainly because a pen-and-paper approach does not involve translating the mathematics into a specific CAS-based representation. This motivated our project to bridge the gap between the intuitiveness of free-form pen-and-paper and the power of a CAS.
Some of the features offered by the recognizer are:
- Real-time semantic-based recognition of hand-drawn mathematical expressions.
- Grammar based parser that provides multiple interpretations of recognized expressions.
- The ability for the user to quickly and easily correct misrecognized expressions or sub-expressions by selecting alternate interpretations from a ranked list.
- The user can correct single characters, sub-expressions or complete expressions with just a few strokes.
- The user can correct expressions any time during the input.
- Trainable character recognizer.
- Support for matrices, including short forms of matrices.
Some of the computational functionality of MathBrush is as follows:
- Connects to Maple or Mathematica as a Computer Algebra System (CAS). Users can simply draw the expressions they are interested in, and select operations from context menus.
- Through the use of context menus, users can operate on the expressions using the power of a CAS, with out specific knowledge of the CAS.
- Supports 2D and 3D graphing operations, and pen based manipulations of the graphs.
- Manipulate output expressions either by selecting parts of expressions and operate using CAS or using sub-expressions as part of new input expression
The wide spread of iOS devices and the continuous improvement in the configuration and capabilities of those devices motivated the creationof the MathBrush app on the Apple App store. The iPad was a better candidate because of the space available for input handwritting. iPhones was not powerful enough for running the MathBrush App.