Winplot for Windows 95/98/ME/2K/XP/Vista/7 (824K)
6 Dec: More revelations! A veteran winplot user reported a crash when trying to build a surface of revolution whose 2D equation depended on his list of user-defined functions. I realized immediately that the new 3D window had not been equipped with this list. Hard to believe that it took so long for this bug to be reported. Perhaps this is the last one ...
5 Dec: I noticed and fixed a small bug that was sabotaging my efforts to create an equation that applied the IFPOS construction to some of my user-defined formulas.
1 Dec: Thanks to a user report, I discovered an error in my code for the text-hiding feature of 15 Oct. Text added to diagrams since that date does not Export properly. The new program version will fix such a file, as follows: Right-click each supplementary text item, click the Font button as if you were going to make a change, then click ok in the Font dialog and then click ok in the New Text dialog. Save the file. This will repair the damage. Sorry for the inconvenience.
24 Oct: I forgot to enable Tables for the new curve types a couple of days ago. This has been done.
21 Oct: The Equa menu has a new plotting type: In 2D windows, a curve can be defined “intrinsically” by providing a formula for its curvature in terms of the arclength parameter s. In 3D, the definition requires formulas for both curvature and torsion. A power user also donated some new supplementary material.
15 Oct: Two new responses to user requests. In 3D windows, the initialization file (whose settings apply whenever a window is opened with “Use defaults” unchecked) now remembers the user’s preference to see the axes. In all windows, it is now possible to attach text to a point in such a way that the text hides itself whenever the point is hidden by the user.
12 Oct: A power user reported that composite transformations were not enabled. For example, after reflecting a graph, it was then impossible to rotate the image. Composition is now enabled. I await news of unintended consequences.
18 Sep: Thanks to a user report, I was able to deal with another unintended consequence of the derivative syntax I introduced last December. This went unnoticed for so long probably because the bug is fairly obscure, afflicting only files that contain user-defined functions that mention the library functions ABS or LOG. I think that this extermination is complete. I also had to fix the Polynomial equation display, which had become disabled in May when other improvements were being made.
08 Sep: Fixed a minor but annoying glitch. In 2D, the endpoints of restricted domain intervals for y=f(x) examples can be marked by circles (at the discretion of the user), and these circles were unexpectedly changing their position, size, or color, or not appearing at all. As usual, this was the result of one feature colliding with another in the background. I think that the problem is fixed.
03 Sep: Several changes to report. I had to fix errors in the code for the inscribed-cylinder display in surfaces of revolution. This is a 3D feature that is accessed through the dialog box 2D|One|Revolve surfaces. In 3D, I fixed a very small line-of-sight error that occasionally caused segments to disappear when they should have been visible (when viewing a figure from below the xy-plane). It was also pointed out to me that the View|Box|Cube option was behaving erratically when the Observer changed position, so I repaired that as well. Both of these bugs surfaced while I was working on the enhanced version of 3D scatter plots in Winstats. I also repaired the bitmap-to-clipboard service, which was not managing memory properly. Also taught the tip-of-the-day dialog box to leave its marker in the same directory as the ini files.
19 Jul: Thanks to a user report, I was able to fix a couple of glitches in the Mapping windows. First, I forgot to tell the program not to automatically update the domain intervals for the mapping grids when animation parameters change, which it has been doing for other parametric curve families for several weeks now, and this was producing strange effects for users who had put animated functions into the Inventory. Second, the program was not graphing y=f(x) examples correctly in the z-plane window. That oversight has also been fixed, I hope.
28 Jun: A couple of minor changes to report. In 2D, trajectories of the dy/dx type are now drawn until they terminate (usually at the window boundary). In other words, enlarging the window will no longer cause them to be clipped prematurely. Also in 2D, I noticed that the shading dialog for explicit curves was occasionally not selecting the curves displayed in the list box when the user requested a new shading example. I think that has been fixed.
18 Jun: Thanks to a report from a user, I discovered that I forgot to write code for shading 2D regions in the EPS and SVG graphics export routines. This has been fixed.
15 Jun: Thanks to a request from a user, the program now remembers your formula for the position of arrows on parametric curves.
27 May: I was surprised to discover that animation sliders were not recognizing changes in precision (decimal places) once they were open. I also noticed that opening a file in which the drawing window nearly filled the screen could cause the Inventory to be lost (and hard to recover). I think these glitches are fixed. I also taught the 2D indefinite integration dialog to remember your formula for its lower limit.
23 May: A few new animation refinements. Continuing a project started on 27 Feb, I simplified the 3D “slicer” dialog, so that tangent planes and tangent lines are automatically animated; whatever appears in the coordinate edit boxes is incorporated into the definition of the new Inventory items. This now applies in the 3D “slider” dialog as well.
19 May: Responding to a crash report from a long-time user, I discovered that the cause was a file that had reached the nominal size of the inventory (which is 36 examples) — opening such a file could cause trouble. The program knows how to enlarge this capacity, but recent developments had rendered this code deficient. Repairs have been made, and large files should open normally again.
17 May: Despite all the thought I gave to the animation of locked intervals, I forgot about the Lagrange polynomials. They should now respond to animation like other y=f(x) examples. Sorry for the additional inconvenience.
15 May: The first unintended consequence is reported — a couple of days ago, I inadvertently disabled the low-t and high-t edit controls in 3D parametric surfaces. Sorry for the inconvenience; they are ok now.
12 May: Several changes today. Multiple-page EPS output has been enabled, as was done for PiCTeX. The program will now remember your formulas (which may depend on animation parameters) for the lower and upper ends of restricted domains for y=f(x), polar, and parametric curves in 2D (during the lifetime of this program, there have been occasional requests for this). To make way for this feature, it was necessary to move the specification of circles and arrows at the ends of restricted intervals into the edit dialog box. Regarding animation: it was necessary to fix a bug created in January when parameters were enabled for integration intervals (a crash was occurring when the lower limit of the indefinite integration was assigned to a parameter whose slider had not been opened). I also received a report of a 2D bug in the German, French, and Spanish versions that crashed the program when coordinates for a Lagrange point were requested. This has been fixed. These changes were a bit complicated, so I await news of unintended consequences.
12 Apr: A traditional Chinese version is now available, thanks to Koen Kwan.
12 Apr: A power user pointed out that multiple-page PiCTeX output would provide new possibilities for animation. The PiCTeX dialog box has been modified accordingly.
22 Mar: Improved the “Last window” feature in 2D windows; it now remembers changes to data managed by the Grid dialog as well as the View dialog. In particular, using “Last window” to undo a zoom will restore previous tick and scale settings, which will come as good news to many.
13 Mar: More user requests see the light of day! Log-log and semilog windows have been added to the main Mapping menu. In 3D, the One|Surface-area dialog now accepts z=f(x,y) examples. The “family” button in the Inventory can be used to create a grouping of examples, so that certain operations (rotation, reflection, and translation in 2D) can be performed collectively — see the Equa help text for details. (This feature was actually installed months ago, but I forgot to announce it.) On occasion, it is desirable to create a new example of the type y = |f(x)| when y = f(x) is already in the Inventory; this is not always easy if the text for f(x) cannot be edited. There is now a button in the Inventory for that purpose. For details, see the Equa help text for the “web” button. Some additional minor repairs were made — for example, the Inventory descriptions of several two-function combinations were incomplete. I await news of unintended consequences.
27 Feb: A power user reported that the “mark point” button in the 2D|One|Slider dialog box was producing erratic results when the target curve was piecewise defined (using joinx). The same was also true of the tangent lines produced by “Taylor”. This has been repaired, and both buttons now produce animated results, meaning that whatever appears in the “x=” edit box is part of the definition of the new Inventory item. The challenge was to rewrite the code that parses joinx so that it will now accept substitution. No doubt there will be unintended consequences, but my testing so far leaves me optimistic. I also edited the Table for a z = f(x,y) example, so that the coordinates are now arranged as they typically appear on graph paper (x increases from left to right, and y decreases from top to bottom).
9 Feb: To my horror, I discovered that I inadvertently disabled the display of equations in several places. Sorry for the inconvenience!
7 Feb: The Anim|Calibrate dialog box is now applicable to every scrollbar in the program. Changes are applied to those scrollbars that are currently open.
5 Feb: Fixed a bug that afflicts files in which a user-defined formula contains spaces. The program should have been removing spaces, but last December it forgot how to. Thanks to a power user for reporting this.
22 Jan: Improved on a feature added in December. The integration results display in the 2D|One|Integration dialog box will now respond to parameter changes in the integrand. Better late than never.
17 Jan: At the request of a user, it is now possible to confine an animation parameter to integer values. This is done by entering a bracketed numerical value for that parameter, using its individual dialog. Integer mode is turned off in the same way — by entering a value enclosed in brackets.
13 Jan: I just fixed an obscure but interesting glitch, which appeared in early December when I introduced my new derivative syntax. An alert observer pointed out that this syntax was failing when applied to the evaluation at x = –1 of the derivative of x^4. Indeed it was, but it would not have failed if the source function had been written pow(4,x) instead; the difficulty was the program’s use of logarithms for exponential creations. I had forgotten to teach the new deriver to check for integer exponents (as the rest of the parser does) and skip the logarithms when they were not needed. Now that the check is in place, the problem seems to have disappeared.
9 Jan: A user wrote to say that it would be useful to have a button in the 3D Slicer dialog box that added tangent lines to the diagram. I agreed, and the new version is ready to try.
4 Jan: As recommended by a power user, I modified the system of attaching “anchors” to Points in 2D and 3D. Details of the syntax are found in the Help texts for the Equa menus. A minor bug was also fixed, which was keeping tangent planes from responding dynamically to changes in the surfaces they are attached to.