The Limits applet and the exploration of
Exponential Functions and Their Derivatives
appear in the January 2001 issue of the
Journal of Online Mathematics and its
Applications (JOMA), published online under the auspices of the
Mathematics Association of America (MAA).
Judy Holdener of Kenyon College wrote a
of my materials in the second issue. Since then, I have been working
on a series of articles in the Developers Area of JOMA, under the
title "Writing Mathlets: A Call to Working Math Professionals"
available so far).
Applets for Math Explorations
Written by Tom Leathrum
Another big update, although this still uses Java5 code -- I have added to
all of the graphing applets the ability to change the colors of the graphed
items. I still have not had a chance to update the source code pages.
I have upgraded the applets to use the features of Java5, especially
the new generic classes. This means that, in order to run the applets,
you will need a Java5-compatible runtime/plug-in (version 1.5 or later)
for your browser.
I have not yet had a chance to update the source code page, but there
will be many changes there, as well. The Addison-Wesley materials
still use the older Java2-compatible versions (use runtime-plug-in version
1.3 or later with these).
The particularly intrepid user may also wish to read the
for some of these applets.
I have entered into a publication agreement with Addison-Wesley, which
includes a pretty substantial subset of the Mathlets package. By the terms
of the publication agreement, though, the content of these Web pages
will not be seriously affected by the publication -- I have altered
the copyright notifications
to include the Addison-Wesley copyright on
but I will still be able to maintain and
further develop the materials here.
The Latest Changes:
- A new applet, Combinations and Transformations of Functions, required
some revisions to the parser code in order to allow one defined function to
be used in the definition of another function. I patched up a few
inconsistencies in the parser when I did that. I have also shaken a few
minor bugs out of the recently upgraded code.
- Big Upgrade and Rewrite Now Complete!
I have been working on bringing the applets up to
Java 2 standards, with all that entails. Changes include:
It is unclear to me at this point how these changes will affect the
They have agreed to accept the upgrade into their materials, but that
has not happened yet.
Their copyright applies to the compiled bytecode
for the applets, not the source code, by agreement. However, the changes
in the source code for this upgrade have been so extensive that I cannot
see how the new bytecode would bear much resemblance to the old bytecode.
Until Addison-Wesley has the upgraded applets in their materials,
their copyright may not apply to the new versions.
(This applies to the applets, not the HTML -- Addison-Wesley still
holds copyright on their HTML materials.)
command to get the contents of a field from the applet.
This was done largely at the suggestion of the WeBWorks people.
In particular, now you can take the contents of an applet input field and
load them directly into an HTML form's text input field
for CGI processing.
- Internationalization -- I have put all displayed
strings into separate Java "properties" files. This, along with the
ability to change the applet's Locale using HTML parameters, makes the work
of translating the applets into other languages much easier.
I have contact with
people interested in translating the applets and materials into
Spanish and Portuguese.
Addison-Wesley has agreed to let these translations apply to their materials.
communication, and HTML parameters
was nearly identical between applets, so I developed a
set of mechanisms to handle them in a single shared abstract "AMathlet" class,
which all of the applets will now extend and use. This class handles
keyboard events (to shift focus between input fields),
some common button-triggered events
(making sure to do graph redrawing at the right times),
HTML parameters, and Locale configuration (for internationalization,
again see above).
Some of the code (for keyboard event handling, button events, and window
closing events) was so common even in the shared classes that I further
consolidated it into a small set of utility classes which now handle those
- Swing interface elements -- I have been looking for a long time at
doing this, but various problems kept me away from it until now. This has
had some far-reaching consequences, including the elimination of
double-buffering code in the 3D graphing applets (Swing elements automatically
double-buffer). I am also moving to Swing Timer objects for animations
and button-repeat actions.
- Java 2D API -- with the move to Swing, I also moved from the
AWT Graphics objects to AWT Graphics2D objects for custom graphing contexts.
This allowed me to use the AWT Shapes in the geometry package,
and Affine Transforms for coordinate conversions. These changes have been
by far the most far-reaching and difficult parts of the upgrade, but they
have allowed me to totally rethink how graphs are generated and stored.
- JavaCC version 3.2 -- this didn't actually affect the parser's source
code at all (although other aspects of the update did),
but does seem to affect the compiled bytecode in some subtle
- All of the upgraded applets are online now.
- The work with Addison-Wesley prompted me to fix some things in the
applets and HTML, in particular to bring the HTML up to their visual
standards. Their materials
use a frames-based
presentation for the HTML, and they are pretty picky about things like
fonts and colors. This work has dramatically improved the applets,
but mostly in small ways. There are still some gaps in the non-frames
materials that I use and maintain separate from the Addison-Wesley materials,
but I hope to fill them soon.
- I have implemented a new mode of presentation for surfaces in 3D --
faceted surfaces with surface-hiding, rather than simple wireframes.
Both presentations are now available, but the faceted hidden surface
presentation is the primary mode.
- The HTML files for the applets
have been updated to include click-and-load examples
for all of the applets and better instructions (this was part of the
preparations for publication).
fields common to the 2D and 3D graphing classes, and now also handles HTML
- Hitting the "Return" key in a text input field now moves the input
focus to another field and (in most applets) redraws the graph.
interface and making sure that graphs are erased and redrawn correctly when
that interface is being used.
- The previously available "sample" of applets (which started the
- The Power User's Guide has been made available
and linked to the main page, and with completion of the big rewrite,
the Guide has also been completed and updated with new features.
The applets in the Mathlets package are designed to work in all
using the Java Plug-In
version 1.3 or later.
The applets have been tested in
Netscape version 7.x,
Microsoft Internet Explorer version 6.x, and
Mozilla versions 1.5 and later, with Java Plug-In version 1.4.
All previous issues, involving older versions of the browsers and Plug-In,
no longer apply. Look instead for new issues....