The MathTrax application is powered by the Math Description Engine. It demonstrates the value and feasibility of including alternative graph descriptions in many real-world applications such as: graphing calculators, data analysis software, and computer simulations. All of MathTrax's graphs are described with text, sound and graphics using the MDE API.
MathTrax is used in the National Federation of the Blind's summer Rocket On! camp for visually impaired high school students. They use MathTrax for rocket/trajectory design and for analysis of their rocket's flight data. MathTrax is being used by teachers for both blind students and sighted students.
Do you know what the graph of y = (1/4) x looks like?
MDE does. It can interpret graphs and describe them intelligently.
The "alt text" description of the above image is, "Graph of the equation y=(1/4)x". This isn't terribly useful for screenreader users. Not even those who are mathematicians. But it's typical of the alt text used for graphs on webpages.
The graph shown above is a static picture that can be pre-captioned. Theoretically, it could be given a good description by a human author. But what about dynamically generated graph displays? Those normally get a waiver on accessibility compliance, since there's no way to pre-caption them. Right? Well, not any longer! Not for the types of graphs that MDE supports.
MDE technology generates on-the-fly text descriptions of graphs. This makes accessible graph displays possible, whether they are static or dynamic displays, and whether they are on web pages or in software applications.
For example, given the equation for the graph shown in the image above, here's the alt text MDE could return:
Your input equation is y = 1/(4)*x. The graph of the equation is a line. It rises gradually from left to right with a slope of 1/4.
If that's not enough detail, how about this?:
Your input equation is y = 1/(4)*x. The graph of the equation is a line. It rises gradually from left to right with a slope of 1/4. The graph has an inclination of approximately 14.036 degrees or approximately 0.245 radians. The x-intercept is 0. The y-intercept is 0. The ascending region is {x such that -infinity < x < infinity}. The equation is a linear equation. The domain of the equation is {x such that -infinity < x < infinity}. The range of the equation is {y such that -infinity < y < infinity}.
Or how about one customized to your audience and application? The examples above are generated from experimental default templates that come with the compiled SDK.
More Text Description Examples
MDE sonification components can generate non-verbal sound descriptions of graphs. The API supports GUI-less and GUI-controlled sonified graph descriptions. Here are some examples:
| Demo File | Graph Equation | Comments |
| Line (AVI, 1.9M) |
y = 1 | Think "flat line" from TV medical shows. Note the y axis crossing sound. With headphones or decent speakers, you should hear the sound move from left to right. |
| Indicator Function (AVI, 2.2M) |
(y = b*(((x+a)/abs(x+a) - (x-a)/abs(x-a)) - 1), a=1, b=1 | A line with a step, or a top hat. |
| Parabola (AVI, 1.9M) |
y = ax^2 + b, a = 1/2, b = -5. | Note the x and y axis crossing indicator sounds. |
| Cosine (AVI, 2.7M) |
y=a*cos(theta), a=3. | Note the buzz sound that occurs for portions below the x axis. |
| Polar Rose (AVI, 3M) |
r = sin(a * theta), a = 2. | Can you hear or feel the movement between the four graph quadrants? |
The sound demos show the MDE CartesianGraph display with animated sound tracers. Wonder what the MDE text description for these graphs are? Download MathTrax or the MDE SDK and try them out.