The Source for Java Technology Collaboration
User: Password:



Robert Stephenson

Robert Stephenson's Blog

CAS (Java Computer Algebra System)

Posted by rstephe on February 27, 2006 at 11:36 PM | Comments (4)

The CAS (Java Computer Algebra System) project is a polished and valuable tool for high school or college math classes. The applet is right on the CAS project page, so it's hard to miss. It is an algebraic function plotter that is well documented (scroll down the page) and seems both robust and well designed. You enter commands like "Plot({3-5*x+x^2},{x,-10,10})" and then press Execute and voilĂ ! your graph is plotted. The graph appears in a separate window. In Firefox for Mac the java window appeared behind the browser window and you had to look for it, but in Safari it worked fine.

OK, so graphing calculators are old hat now, but this one uses Java3D to plot in three dimensions, which is very cool! If you use the default command, "Plot3D({x*y,-y*x},{x,-10,10},{y,-10,10})", that appears in the applet when it comes up you get a beautiful, colorful 3-D display (see below) of the function surface. You can manipulate the graph as if it were in a glass sphere that you can rotate by dragging your mouse across its surface.CAS screenshot 1

A trio of buttons at the top of the applet window give you (right to left) program info, an options palette and a menu for picking a constant or function to insert into the command line (doubleclick on ATan, for example, and "ATan(" is inserted at the cursor).

The applet can plot several different functions at a time, and will assign each a different color (the example above plots both x*y and -x*y). It keeps a history of functions previously plotted, which you can reuse by doubleclicking on them. I wasted several hours trying to generate more and more beautiful function plots. It's noteworthy that the applet never crashed, and gracefully let me know when I goofed by, e.g., failing to balance my parentheses. My best function yet: "Plot3D({Tan(Sqrt(x^2+y^2)),{x,-2,2,0.1},{y,-2,2,0.1},{z,-10,10})" is shown below.CAS screenshot 2

It is rare, sadly, to find open source projects as polished, well designed and well documented as this one. It is easy to learn and easy to use. I recommend CAS to high school or college algebra students anywhere.


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • Well, thanks for the kind review. :-)

    Unfortunately, I've been hitting some serious problems with the underlying Hartmath code that is responsible for actually parsing the input and doing the heavy math. In particular, there's a major performance bottleneck that I can't figure out how to fix short of making some major changes to the basic architecture of the Hartmath code. (It's really noticeable if you start plotting 3D graphs on a computer that's low on RAM.) Sadly, Hartmath is neither polished nor well documented. :-P

    At some point down the road, it would be nice to rewrite the thing as a Java Web Start app, and add printing support. And come up with a real name....

    I'm glad that somebody likes it, though!

    Posted by: afishionado on February 28, 2006 at 09:05 AM

  • Hello

    With the permission from the original HartMath author, the MathEclipse project is now the successor project for HartMath.
    Maybe we can integrate your work or you can use our libraries as a basis and we can solve the performance bottleneck together?

    Posted by: axelclk on March 01, 2006 at 03:48 AM

  • Sorry I used a wrong URL: www.matheclipse.org

    Posted by: axelclk on March 01, 2006 at 03:51 AM

  • CAs should be really beneficial in terms of enhancing student-experience. The whole study-process should become far more comfortable and interesting.

    Posted by: livechatsupport on May 15, 2006 at 02:16 AM





Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds