Windows 95/98/ME/2K/XP/Vista (796K)
28 Dec: A power user reported a crash when View|Fit Window was clicked in 2D. I tracked it down, and discovered that it was caused by a single, extra semicolon, a mere speck in my voluminous code. The bug affected only inventories that contained restricted-domain functions like sqrt, and it has probably been around for a few months at least.
27 Dec: At the request of a user, I added three new supplementary phase-plane windows for 3D differential (and difference) equations.
23 Dec: At the request of a user, connecting segments for recursive sequences can now be adorned with arrows.
19 Dec: More repairs, thanks to reports from vigilant users: One bug is quite interesting, since it has been around for about twelve years. It manifests itself if there are multiple requests from the same window to copy the contents using File|Bitmap to Clipboard. My ancient programming error has been fixed, I think. Another error was apparently introduced on 23 Nov (of this year) when implicit curves in 2D were allowed as a source for surfaces of revolution in 3D; this somehow disabled the “keep changes” request in the Level curves dialog for all implicit surfaces (I do not know for sure what the chain of events was, but I think I have the button working correctly again.) A final repair concerns the appearance of ticks on 2D axes; when a dramatic change in the View calls too many ticks on the axes, the program will automatically enlarge the tick interval to keep the number of ticks to a reasonable size. This was not happening reliably, and the data in the Grid dialog box was not being updated. All should be better now.
15 Dec: Found and fixed a bug that resulted from introducing animation into the 2D|One|Integration dialog box two weeks ago. It was causing sporadic crashes when the dialog box was opened.
13 Dec: Found and fixed a parsing bug, which was mishandling comma and parenthesis counts in composite function definitions that made reference to the characteristic function chi(a,b,x).
2 Dec: In response to user requests, there are two new features to report. First, it is now possible to incorporate derivatives into formulas. For example, “derx(2,x*sin(x))” produces a second derivative with respect to x, and “dery(1,sin(xy))” produces a first derivative with respect to y. Implementing this syntax required making significant changes to my parser. In particular, the code that deals with user-defined functions had to be rewritten. So there may still be some anomalies I have not yet found. My apologies if you have already saved files that employ functions named “derx”, “dery”, and “derz”, but these are standard library items in this new version! Second, the upper and lower limits in the 2D|One|Integration dialog box can now be controlled by assigning animation sliders to them. This is done by appending a parameter request (such as “@A” and “@B”) to each of the numbers in the edit boxes. A user also pointed out that the One|Slider menu item was not initially disabled in a newly opened Mapping window, as it should have been. Trying to open the dialog box of course produced a crash. This item now remains gray until there is something to trace.
1 Dec: A new tutorial for Croatian users is now available.
26 Nov: Made the first repair to the implicit-surface feature introduced three days ago. In the interest of readability, I also modified the format used to display a few inventory items.
23 Nov: Three repairs and a new feature today. Two of the repairs resulted from user reports. First, I fixed a bug that was causing sporadic crashes when user-defined functions were edited in files that also contained derived examples. Second, I fixed a bug that resulted from the parametric surface intersections enabled on 4 November. Then I noticed that it was impossible to edit surfaces obtained by revolving 2D segments around an axis; this has also been fixed. The new feature: implicitly defined 2D curves can now be used to create surfaces of revolution. Because the result is itself implicitly defined, these surfaces will appear only with guidance from the user. This feature was complicated to implement, so I expect that there will be unintended consequences.
15 Nov: A user reported that 2D segments did not produce the expected surfaces when revolved around an axis. This has been corrected. I also noticed that the item 3D|Two|Intersect Surface-Surface was grayed out when the inventory contained one implicit and one parametric surface. This has also been corrected.
4 Nov: At the request of a user, it is now possible to intersect parametric surfaces with other types of surfaces in 3D. This was a complicated addition, so I await news of unintended consequences.
16 Oct: At the request of a user, it is now possible to make individual surfaces in 3D windows transparent. Details are in the Equa|Help text.
14 Oct: A user reported that supplementary text in 3D windows was not holding its position when the window contents were restored with Ctrl+F. That has been fixed.
8 Oct: A user reported that 2D points that should be invisible (because they are outside the view frame) were appearing (as half-circles) at the edge of the frame. They are now invisible.
19 Sep: Thanks to a user report, I realized that turning off the arrows at the end of the 3D coordinate axes was also turning off all the other arrows that might appear in the diagram. These other arrows have now achieved their independence.
17 Sep: Evaluated text should display “?” when a value cannot be calculated for the proposed expression; a user pointed out that this was not happening all the time. Should be ok now.
12 Sep: Any window can now export its contents as an encapsulated PostScript file or as an SVG file. All forms of graphical export have now been collected into a single submenu of the File menu.
5 Aug: A power user reported that Linked windows were not opening old files. Now they are (I forgot to tell them what version of the program they belong to).
18 Jul: Not yet perfect — in the version put on line two days ago, the global erasing of drawings was left unenabled. Should be ok now.
16 Jul: Four developments to report, all prompted by user feedback. At the request of a classroom teacher, the free-drawing option that appears in the mapping windows has been improved, and inserted into the main 2D window. It was also reported that “undoing” a 2D transformation was causing sporadic crashes. That bug has been exterminated. The user-defined function dialog box now accepts requests for functions of three variables. The program now displays a version number, and the Properties|Version tab (which appears when you right-click the program icon) now displays information (which is mostly of no significance, but it makes the program look better).
7 Jul: A user reported that attaching imported clipboard graphics to points was not working. The bug has been fixed, I think.
29 Jun: Responding to a suggestion, I modified the “table” feature in 2D, so that it displays the coordinates of an active web diagram when one is on the screen. A new source of useful examples has been contributed by a power user.
26 Jun: Fixed a bit of sloppy code that may have been causing sporadic crashes after items were deleted from the Inventory.
20 Jun: During a recent update, I inadvertently disabled the attach-text-to-a-point feature. It has been enabled again. Thanks to a power user for reporting this.
6 Jun: The first unintended consequence has appeared (3D files that include implicit surfaces would not open without crashing), and it has been repaired. (There is nothing wrong with the files.)
25 May: At the request of two users, the graphing of vector fields in 3D is now enabled. Lots and lots of vectors.
16 Apr: Fixed a minor glitch — after simulprinting multiple images on a single sheet of paper, the program was hiding the graphing window, forcing the user to re-open the original file.
24 Mar: Added a new function constructor — ifpos(f|v,g) returns f if v is positive, and returns g otherwise. Also fixed a few minor glitches.
18 Mar: At the request of a user, I added inflection points to the list of Extremes in 2D windows (these are points where y' is extreme).
11 Mar: Attended to an assortment of glitches. A user reported trouble when retrieving diagrams with inserted text items, and I discovered that the “evaluated text” feature (introduced in June of 2006) was producing some unintended consequences for ordinary text. During the investigation, I also discovered that 3D file retrieval was not always centering the original diagram, and that the program was occasionally miscalculating the “box” that encloses a 3D curve. Finally, the 3D Btns Help now has an explanation of what it really means to position text “with respect to the figure.” Sorry for any inconveniences.
17 Feb: It turns out that I did not get the last change quite right! A user reported some misbehaving buttons in the Inventory. I think that the problem has been fixed; sorry for the inconvenience.
15 Feb: A user requested that the shading of implicitly defined regions in 2D allow the viewing of individual regions. That dialog box has been revised accordingly. A different user reported that the 2D Translate feature was giving inaccurate results when applied to joined functions. I think that the problem has been fixed.
2 Feb: Finished the job that I announced was finished on 26 Jan.
26 Jan: At the request of a user, the display of individual component functions of recursively defined sequences has been enabled, using the miscellaneous Other|DEq windows. I also fixed a couple of minor bugs in the table windows.
17 Jan: The Hungarian version has been updated.
14 Jan: A power user made several suggestions to enhance the performance of the Mapping windows.