NSF Logo Exploring Multivariable Calculus

Dynamic Visualization Tools for Multivariable Calculus (Developed with support from the NSF: DUE-IUSE #1524968 and DUE-CCLI #0736968)


CalcPlot3D JavaScript App

CalcPlot3D Java Applet

CalcPlot3D WordPress Blog

Professor Seeburger's Faculty Webpage

Dynamic Calculus - Additional Calculus Visualizations

Workshop/Faculty Link

Install Latest Java Plugin

Other Resources

License (Creative Commons BY-NC-SA)

Terms of Use


Recent Discussion

Create New Topic


Join Now


Archived versions of the Multivariable Calculus Exploration Applet

These are old versions of my applet.  Please only use these if something in the updated version is no longer working correctly.  From time to time as I fix errors, I may inadvertently introduce a new problem.  This is when these will be useful.  If something used to work, but suddenly stops working correctly, you can find the old version here.

I also am trying to keep track of the new changes and features I add in each new version.

Note:  There is an older version of the applet on a separate server in case this server is down: Alternate Archived CalcPlot3D.   You may wish to bookmark that page also.  It can also be accessed from my Faculty Webpage.


You can see my test version now at the following link: CalcPlot3D Beta test version (Most of the time, this is the same version as the current stable one.)

(new features in development)

    I want to also allow function parameters in all function types.

    Also allowing all options to save in scripts.  There are still some things not included such as Regions and parameters.

    Allowing vector fields to be forced to be 2D more easily (similar to the way space curves can be).

 The next release will have the following changes:  (none yet)

The most recent version of CalcPlot3D that is on the Project home page at the CalcPlot3D link:


  • More details on fixes contained in this update soon ...


  • Fixed some bugs in both Rectangular and Polar prisms.
  • More details on fixes contained in this update soon ...


  • Finished a new feature to allow polar regions (and polar prisms) to be graphed.  This allows the user to visualize double integrals in polar coordinates.  See the Polar tab on the Add a Region dialog when you choose Add a Region on the Graph menu.
  • Placed Home for 3D plot back on the View Settings Menu so that it is consistent with the Guided Tour document.
  • Fixed Riemann regions so that it does not lock up when the top function is entered in the bottom function and vice versa.

    See example: z = 5 + x - y, top = 0, bottom = 5, left = 0, right = 4.

    Question: Should the applet simply not allow region to be added to 3D plot if the top curve is not always above the bottom curve on the specified interval of the independent variable?

  • Fixed Riemann prism grid textboxes so that it properly reflects the number of prisms in each direction the user enters.
  • Fixed syntax error handling on the Mac and on Windows.  It was sometimes getting stuck in a focus-loop that would not allow the user to continue and fix the function.
  • Added Breather parametric Surface (saved a colored Breather as an Example script).
  • Fixed Space Curve dialog so it does not automatically reset the 3D view every time a curve is graphed.
  • Fixed errors when saving scripts, in particular when the reset button had been used before saving a step:
       - When saving script the anaglyph mode was saved incorrectly if the applet had been reset after a mode was used. The anaglyph mode was not reset in the command variable that was used to set the anaglyph mode for the script.
    - If the graph had been empty before the Reset button was clicked, the showFunction[0] was still false, even though it was graphed somehow.
  • Made 3 dialogs go away when the applet is reset that had been sticking around when they were not supposed to (parametric function trace dialog, Riemann prism scrollbar dialog, 2D Trace scrollbar dialog)



  • Fixed an error that caused some problems for STL file creation.  It was introduced after getting STL file creation to work correctly because I added a surface plot reset after the file creation, and it was resetting before the file creation was done, thereby changing the data used in the file creation process.
  • Made the size option in the STL File Creation dialog update correctly when the textbox loses focus.


  • CalcPlot3D can now save a surface to an STL file which can then be used to print a surface/solid to a 3D printer!  This option can be found on the File menu of the applet.  I intend to write a help page to give guidance for how to use the various features on the STL file dialog most efficiently, but for now it is there to begin to experiment with.  Feel free to ask me questions about this new feature.
  • Added a setting to change the 3D Plot background color and made this new feature save correctly in scripts.
  • Modified the View Settings menu so that it is not so cluttered.  The other options were placed on the Advanced/Other Settings submenu near the top.
  • A bug was fixed that made it some key shortcuts get processed twice, thus making them not work, turning a mode on and off again.  For example, Ctrl-P is supposed to switch the background from light-gray to white and back again, but it was not allowing the background to change to white.
  • The recent color feature of the color picker was enabled when you choose a color for a new point being graphed.
  • Fixed a bug that recently caused right-clicking on the z= next to the functions not to provide the pop-up menu to select the function type.
  • Fixed a bug that kept the automatic coloring of a complex surface from correctly updating when a complex constant was changed.
  • Also fixed a few issues in incorrect wording in the dialogs for coloring a surface using a function of three variables.


  • Implicit surfaces can be graphed in spherical and cylindrical coordinates as well as in cartesian coordinates.
  • You can automatically change coordinate systems by typing in an equation in the other mode.
  • You can also use the menu on the Implicit Surface dialog to change coordinate systems.
  • Buttons have been added to make it easier to get phi, theta and rho, but you can also type these words in the equations.
  • Example Surfaces have been added to the Example menu on the Implicit Surface dialog that use spherical and cylindrical coordinate systems.
  • A bug was fixed that caused other surfaces to sometimes be graphed just because you clicked inside Functions 1-4, even though the surface was not selected for graphing.
  • A bug was fixed that was not selecting and graphing new functions when user pressed ENTER on one of the Functions 1-4.
  • Zooming in and out while the Format Axes dialog is open will now update the values in the Format Axes Dialog (This did not happen before).
  • Many more of the applet components have been converted to the Java Swing variety including the 3D plot window.  This helped make the backgrounds of the controls look more uniform, particularly on Safari on the Mac.


  • Some minor corrections were made involving implicit surfaces and parameters, making the parameter values always be correctly reflected in the current implicit surface plot when it is regraphed.
  • Space curves can be made a constant color more easily using a new option box on the main dialog.
  • An error was fixed that did not clip curves and points correctly when the Quick Plot mode was turned on.
  • Position, velocity, and acceleration vectors are no longer graphed (incorrectly) if they do not exist for a given space curve.


  • You can now script all the various options in Contour Plots.
  • Show Process option in Contour Plot is much faster and more usable.
  • Esc key can be used to exit creating a contour plot.

  • Constant parameters a, b, c, d are allowed in standard functions of x and y, in implicit surfaces, in parametric surfaces, in space curves, and in vector fields.  Each of these parameters can be varied dynamically using scrollbars and the corresponding surface, curve, or vector field will morph to reflect the new values.
  • The old movie mode has been replaced with the new parameter dialog, but you can still choose to use it by selecting the Old Movie Mode option on the Parameters menu item.

  • Fixed Vector Fields so they handle discontinuities correctly.  At any point where the vector field is discontinuous, no vector is drawn.


  • Fixed number labels on z- axis so they appear more uniformly spaced from the z-axis as you rotate the plot about the z-axis.
  • Made it possible to scale just one of the axes (usually the z-axis), and made the resulting surface rotate normally and have normal sized tick marks, and margins, etc.
  • Clicking on the graph button no longer resets the viewpoint or the focus point.  To reset viewpoint, use the Clear button or the Home key.  I may add a Home button eventually for this purpose.
  • Entering a new function will also not reset the viewpoint and focus, but using the drop-down menu to select a function WILL reset the viewpoint and focus.
  • You can now script regular Riemann Prisms (option found on Tools menu), but not the kind in Regions yet.
  • Fixed fraction display on Macs so it looks better, for example when you use Taylor polynomials.

2-4-2011:  I added quick shortcut buttons for viewing the surfaces using 3D glasses and for formatting the axes.

11-24-2010:  I added buttons for resetting the applet and clearing the graphs.  I also changed the zoom-in and zoom-out buttons to icons to take less horizontal space.

  • I fixed an error that caused the fraction shortcut in text in scripts not to work correctly.  Now you can use frac(numerator,denominator) to create a true fraction in a text object.
  • I fixed another error that caused the Example menu not to display correctly in the Implicit Surface dialog if the user had just edited the implicit equation.
  • I added support for Implicit Surfaces in the scripting feature, so they can be saved along with other objects.  I still need to finish allowing Regions to be saved as well, but I hope to finish this soon.

11-1-2010:  I added the ability to place a message above the 3D plot from a step in a script.  You can see what this looks like in the topical visualizations on the main project webpage.

I made it possible to use a larger font in the function combo boxes now that they are JPanels.  There was a display issue I had to work around.

I fixed a minor error in the processing of scripts that caused the trace vector to be displayed sometimes even when the trace element of a space curve had been set to false.


  • Earlier this year, I chose to automatically reverse the colors of the second graphed function so that it was easier to see the intersection of the first two surfaces.  Otherwise they often blended together at the intersection since the coloring was the same.  This caused surfaces that are formed from top and bottom halves like z = sqrt(3 - x^2 + y^2) and -sqrt(3 - x^2 + y^2) to be graphed with different color schemes when they really should look like a single surface with a continuous color scheme.  I fixed this now so that this situation is graphed as it should be while truly intersecting surfaces still have different color schemes.
  • I changed the default point size on the trace of a space curve from 7 to 9, making the points appear larger.  I also changed the default arrow size on the trace vector from 14 to 18, making it larger.
  • I added a menu option to change the size of the trace point on the space curve under the Settings menu on the Space Curve dialog.
  • I added ptSize and arrowSize to the elements of the curve object for the script feature.
  • I moved the position of the curvature value K from the upper right corner of the 3D plot where it was often hidden by the space curve dialog to the lower left corner of the 3D plot where this is not an issue.

10-22-2010:  I fixed the contour plot feature so that it correctly plots the level C = 0 using the default algorithm again.  Somehow this level curve has been missed since March 2010.  Sorry!  I just saw this issue in class yesterday.  Please let me know when you find any other errors like this.

I also have put in place the first part of a feature for viewing regions of integration in polar coordinates.  Currently all you can do is create the 2D plot of the polar region in the xy-plane.  Eventually I plan to allow the 3D region above this 2D region to be displayed and to allow polar prisms to be displayed as well.

9-22-2010:  I made the mouse scroll wheel only zoom for up to half a second after you last rolled it.  In the previous version, it seemed to keep zooming too long for memory intensive surfaces.

I fixed the gradient vectors for the Lagrange Multiplier optimization feature.  Before, the gradient of the objective function (f) was not being displayed when x = 0.  Also these vectors are now started at the left end of the grid (for constraint curves specified by y = f(x).).

I restored the Times Roman font to the function textboxes.  This has been lost a couple versions ago because of switching everything to JPanels to make them work on the new version of Mac Firefox.

I also added a recursive option for the implicit surface algorithm.  You can choose the number of levels of refinement to use.  Before polygons are made, each cube that includes part of the surface is divided into 8 cubes and checked again.  This is done until level 1 is reached when all cubes are polygonized.  Be careful not to use too many base cubes when increasing the level of refinement.  Remember that you are basically multiplying the number of cubes being polygonized by 2^level.  Although using the refinement approach, the surface can be more accurately rendered, it is still easy to go beyond the available memory, if you are not careful.  If the applet seems to freeze or the surface appears not to be fully rendered, you may need to close the browser and restart it to clear the Java memory area.

9-17-2010:  You can now graph Implicit Surfaces of the form, f(x, y, z) = c, or more generally of the form, f(x, y, z) = g(x, y, z).  Find them on the Graph menu!  This allows you to easily graph quadric surfaces, cylindrical surfaces, and many other topographically interesting surfaces.  A large set of example surfaces is included under the Examples menu on the Implicit Surface dialog.  Currently the algorithm used for plotting implicit surfaces is the Marching Cubes algorithm.  I am preparing two additional algorithms which should provide even better results for some surfaces.  Note that if no equal sign is entered, the expression is assumed to be equal to 0, i.e., it assumes you entered f(x, y, z) where f(x, y, z) = 0.

Other changes include:

  • Added several links to the Help menu, including a link to the main project website, a link to the project discussion forum, a link to this page, and links to the license and terms of use.
  • Changed the button label on the Format Axes dialog from OK to Apply Changes to better reflect what really happens.
  • This may have been done earlier, but I have improved the behavior of the Edit Points, Vectors, or Text and Remove/Delete options on the Graph menu.  They now should only include points, vectors, and text that you have explicitly added to the plot.  Before any points vectors or text that was added for another feature like the TNB frame were included in these lists, making it a little confusing.

9-1-2010:  I added a feature to allow graphing of complex functions (real or imaginary parts, etc.) of the form z = f(w) where z is the real z-coordinate and w is a complex number.  The real part is taken by default, so you can enter z = w^2, for example.  If you want the imaginary part, enter z = Im(w^2).  Some interesting examples are included in the function list.  This feature and the geometric mean and arithmetic mean examples were suggested by Dr. Joseph Straight, a professor at SUNY Fredonia.

Note that you can use up to four complex valued parameters in your functions, a, b, c, and d.  These complex number points can be varied by moving them around the complex plane (the trace plane) or by entering them directly after right-clicking on them or by using the appropriate menu choice under the Trace Plot menu option.  Note that contour plots do work with these functions!  Many other features do as well.  Let me know if you find something unusual.

I fixed an issue that caused the blue vector in the dot and cross product explorations not to move when using the right mouse button.  The contextual menu I had just added came up instead, so I had to disable it for these explorations.

Also I fixed an issue that causes dialog boxes for adding parametric surfaces and space curves to not display properly in the latest version of Firefox (3.6.8) on the Mac when they lie outside of the browser window.

I fixed an issue with Firefox in Windows 7 that caused the first dialog displayed to be hidden behind the browser window when it lost focus.  Please let me know if you still see this sort of behavior.

Next I hope to finally tackle implicit surface plotting.  I also hope to include an option to use polar regions in the xy-plane and polar prisms to illustrate double integrals in polar coordinates.  I am also planning to allow multiple parameters to be used for functions of two variables, space curves, vector fields, and parametric surfaces.  If a parameter is a constant, I plan to allow its value to be varied using a scrollbar or textbox.  If the parameter is entered as an expression, varying its value with a scrollbar will not be possible (although it can be edited with a textbox), but the expression will be inserted appropriately in the larger function to make entering complicated functions easier.  This type of parameter seems particularly common in parametric surfaces and curves.


  • Fixed error that caused freeze if you chose directional deriviatives after having already chosen to display the trace scrollbars for another option.
  • Fixed webpage that calls the applet so that the applet loads correctly in Safari on a Mac, and also displays the Help screens in front on all browsers.  Note that you need to allow popups from my website for this to work on Firefox on a Mac, but Firefox will prompt you for this option.


  • I fixed the Exit Exploration menu option on the script dialog menu to truly reset the applet.
  • Mac update:  I fixed the contour plot (and trace plot) axis labels so that they are in the right font on the Mac.
  • I added a number of new examples on the Space Curve Examples menu.
  • I made space curves a little thicker by default, and added various multicolor formats to make them easier to see in 3D.  By default, curves are now multicolor, although you can still choose to make them a fixed constant color.
  • You can now zoom-in and out (leaving the domain the same) using the scroll wheel on the mouse.  This can also be done using Ctrl-i or Ctrl-o.  This is from a student suggestion, and I like this feature a lot!
  • You can now move the focus point around the screen by moving the mouse while holding down the right-mouse button.
  • Added ability to right-click on the trace plot to get context menu (except for directional derivative option).  You can also use the Trace Plot menu option for these.  I added ability to enter a trace point using a textbox and also scrollbars to vary only x or y on the trace plot.  When dir. derivs. option on, you can use the Trace Plot menu option (at top of applet) to enter a direction vector.
  • Added feature to color 3D surfaces using a function of three variables, f(x, y, z).
  • Added menu choice to choose rotation steps and to turn OFF/ON the automatic spin feature.
  • Updated many scripting objects to include new features as elements.
  • Scripts are no longer case-sensitive.

6-7-2010: Added still more Parametric Surface examples.

6-1-2010:  Added a number of new Parametric Surface Examples and categorized a number of them into submenus, inlcuding Klein Surfaces, Tori, Minimal Surfaces, etc.  New surfaces include Umbilic Torus, Dupin Cyclide, Pisot Triaxial, Limpet Torus, Triaxial Hexatorus, and Scherk's Minimal Surface.  Enjoy!

Also made the trace plot and 3D plot scale tick marks reset correctly when using the Reset Applet menu choice.

5-20-2010:  Now all updates below are included in the live main applet.  Please let me know if you find any bugs.

  • I fixed several slow memory leaks that would eventually cause the applet to run out of memory if run long enough, most only occurred in scripts.
Script/Exploration Box Improvements:
  • Improved the display of the exploration box in scripts so that it is automatically made small when no text is included in a step.
  • Also made it possible for the user to reposition the exploration dialog, not automatically moving back to the default position each time a new step is displayed.  If it is positioned to the right of the right edge of the applet window, it will still be vertically repositioned under the other dialogs though.
  • Placed the Exit Exploration button on the menu bar at the top of the exploration dialog.
  • Added a checkbox command to hide text even when it is present in a step, in case it is more important for the viewer to see the full plot displayed.
  • Added a Refresh button to refresh the current step, if the user has changed things and wants to reset the step.
  • Improved the placement of the exploration dialog box.
Other Improvements:
  • Improved the doubly-ruled hyperboloid in the Parametric Surfaces Example list.
  • Added a number of new parametric surface examples including Boy's Surface, Maeder's Owl, a Roman Surface, and new variations of the Klein Bottle and the Klein Figure 8.
  • Added still more parametric surface examples including two Fresnel Surfaces, various minimal surfaces, a regular octahedron, a hyperbolic octahedron, and many others.
  • Fixed a Mac issue that sometimes gave strange focus behavior in the function textboxes in the Parametric Surface Dialog and in the Space Curve Dialog.
  • Improved the placement of the dialogs for parametric surfaces, space curves, and vector fields.
  • Changed the Reset Applet behavior to truly reset the applet internally rather than loading a default applet script.
  • Caused the Help to load from the same URL path on my website all the time rather than using a relative path.
I am considering ways to improve the display of the wait cursor at appropriate times and to improve the use of threads for long processes.

4-23-10  In this release I have implemented a much faster hidden surface removal technique (a depth sort on the average distance of 3D objects from the camera).  It performs remarkably well in most situations.  It is not as nice when surfaces intersect each other, and when you want perfection with lines intersecting surfaces as well.  The alternative hidden surface removal technique that had been standard before this release uses a Binary Space Partitioning tree (or BSP-tree) approach with T-junction removal done afterwards.  The resulting rotateable view is more generally accurate than that produced by the depth sort, but in most cases, it performs as well as (and sometimes better than) the BSP-tree.  In particular, the new depth sort produces nice results when curves (including contours and space curves) are on surfaces, allowing them to be rendered fairly nicely on both sides of the surface.

The reason, I investigated this technique in the first place was to make it feasible to all parameters to be varied using a scrollbar to morph a 3D surface in real-time.  This capability is on the drawing board.

A second depth sort option is a little slower to render each frame, but it attempts to deal with intersections more carefully.  It does much better than the quick depth sort, but it still has some trouble with intersecting faces.

You can select which of the three algorithms is used for Hidden Surface Removal either using the View Settings menu or step through them using Alt-m to cycle through them.  The default algorithm is still the BSP-Tree at this point, since it gives the most accurate images, but I recommend using the Quick Depthsort for most of the parametric surfaces and for curves on surfaces.

Another major new feature included in this release is the ability to set the 3D plot spinning about the focus point.  To do this, simply use the mouse to rotate the plot and then let go of the left-mouse button as you are still dragging the mouse.  The faster you do this the faster the plot will spin (to a reasonable maximum).

A related new feature allows you to change the number of rotation steps used when rotating the plot using the mouse.  The default is 40 steps (for a 360 degree rotation).  Use fewer steps to move faster (but choppier), or more steps to rotate slower (and more smoothly).  Try 360 steps or 720 steps for a very smooth rotation.  You can always set it spinning to move it more quickly in a particular direction.

Other improvements in this release include: 

  • The brightness of the colors in the plot can now be quickly varied to several preset levels using a new submenu option or using the control-keys (Ctrl-1, Ctrl-2, ..., Ctrl-5).
  • The default color format of the second surface graphed (of the four main functions) is now set to reversed color opaque.  This makes two surfaces graphed simultaneously contrast with each other much better.  Note that when you do have such intersecting surfaces, you will want to choose the BSP-tree hidden surface algorithm on the View Settings menu.
  • Bug fixed which caused the 3D axis extensions to be set to 0 length after a contour plot was graphed.  This caused the axis arrows to no longer extend beyond the end of the regular last tick mark and label.  It looks nicer with them extended.
  • When in BSP-tree mode, parametric surfaces with sufficient complexity are no longer graphed using T-Junction removal.  This speeds up the pre-processing of these graphs tremendously.  I am now considering whether this is necessary, considering that users will now only choose BSP-Tree mode to get better image quality anyway.
  • Displaying each step in a script was improved by trying to minimize the number of times the plot is updated as the step is created.  This can cut down on the delay dramatically.  Note that you will also want to take advantage of the Quick Depth Sort algorithm for scripts to further decrease the delay between steps whenever possible.
  • (For my own reference,) I made it possible to remove all of the console printing commands (System.out.println) from the live compiled version using a DEBUG flag.  This may speed up the runtime processing in the applet.  I hope to improve this eventually to also remove the printing code from the comiled jar file, thus reducing the runtime drag still further and reducing the file size.
  • I fixed a bug that often gave an error when using a constraint curve with a contour plot in function form, y = f(x).  After the first time, it expected the variable to be t instead of x!
  • Another bug I just fixed: In a script, contour plots assumed they were being created for function 1.  Now the correct function is used.

3-23-2010  I fixed a couple scripting errors.  In particular the grid size can now be saved correctly, if it is not the standard 25 X 25 grid.  Also I improved the Reset Applet option.  It no longer replaces the current script.  I fixed an error that caused the movie mode to continue going once Reset Applet was selected.

I added keyboard shortcuts for the scripting options to make scripting easier to do quickly.

For Macs, I decided to change the control keys back to use the control key again rather than the apple command key.  Since the applet is running inside the browser and the browser uses a number of these command keys for its own shortcuts, the applet was often not responding to these key commands at all.

The position of the focus (changed using the alt-arrow keys) is now saved to the script.

A list of example scripts are now provided on the File menu.  Feel free to send me new scripts to potentially add to this list.

Another error that I fixed in this release was the occasional misbehavior of the Syntax Error dialog box.  When an error was made while typing a function, it seemed to work fine when you pressed Enter, but if you clicked on the Graph button, the Syntax Error dialog box would not go away.  It would just keep coming back every time you closed it.  This behavior should be cleared up now.  Please let me know if you have any other issues like this.

3-11-2010  I improved the scripting feature of the applet and also made it possible to show the constraint curve in a contour plot on the xy-plane in the 3D mode.

2-11-2010  This version allows you to use the right and left arrow keys to fine tune the position of a point along the constraint curve.  For the Mac, this version fixes the scrollbar for moving a point along the constraint curve so that it is enabled right away when viewing a constraint curve.

2-10-2010  The constraints on the contour plot can now be saved as part of a script.  

Now the default behavior when clicking on a contour plot  is to plot the 3D graph with no edges and with transparency turned on to make the contours show up better.

I also added several ways to parameterize a hyperboloid of one sheet to the list of examples in the Add a Parametric Surface dialog.  One is for a doubly-ruled hyperboid of one sheet, but it is made up of two singly-ruled hyperboloids.  Because of this it looks best with no faces showing.  It does take a while for the second one to be graphed, so be patient.  When you want to try something else, be sure to click on the remove button for the second parametric surface dialog.  You may also want to turn the faces back on.

1-8-2010  This edition includes the ability to use a scrollbar to move a point along the constraint curve once it is added to a contour plot.  It also allows the gradient vectors of the main function and of the constraint function to be displayed at this point.  They change in real-time as you move the point along the curve.

11-11-2009  I added the ability to add a constraint curve to a contour plot to illustrate Lagrange Multiplier optimization.  Curves can be specified in the form, y = f(x), as a circle with a given radius, as an ellipse with given major and minor axis values, or parametrically.  I eventually hope to allow them to be specified implicitly as well.  When the contour plot is redrawn in 3D, the constraint curve also redraws in 3D.

I also started trying to improve the performance of the applet work on Macintosh computers.  I made the control keys work more like a normal application for the Mac, using the command key instead of the control key.

9-24-2009  I fixed some minor bugs.

9-17-2009  I fixed an issue that affected only the Dot and Cross Product Explorations.  When loading them from SurveyMonkey with the newest version of Java, they were both showing a surface that should not have been there with the vectors in the 3D plot.  Now it does not appear even when using the latest version of Java.

I also made some other operations of the applet more efficient.  In particular, when moving objects around on the surface, the memory is reset each time it is updated, rather than continually eating up more and more memory (which led in rare cases to an out of memory error).

9-10-2009  I have added the TNB-Frame that many of you requested.  It can be found on the View menu of the Space Curve Dialog when you Add a Space Curve.  I also added the ability to show the Osculating Plane, Normal Plane, and Rectifying Plane, labels, and vector formulas.  You can also view the Osculating Circle and the curvature at any point on the curve (or animate).

I added the ability to Add a Text Label to the plot, and you can edit existing text labels, points, and vectors.  You can also now set the color for points you add to the plot.

I changed the Exploration options to take you directly to the Assessment/Explorations on SurveyMonkey rather than just showing the exploration part in the applet.

9-1-2009  This version adds more options to the script functionality.  In particular, you can now save and set contour plots as objects in a script.

I will post a guide for doing this on this website soon. 

8-18-2009 Update containing many new objects and script options.

Also fixed a bug in the directional derivative option below the trace plot.

8-4-2009  I have been busy.

First I fixed the little gaps that appear when in transparent mode with no black edges, removing T-junctions for all split polygons.

I then created a way to make the coloring of the surfaces appear smooth, creating my own gradient fill routine that interpolates the color for a polygon with 3 or more vertices.

Then I made it possible to create and save scripts containing snapshots of the state of the applet.  These scripts can then be loaded in again to show several "slides", each of which can be manipulated and explored.  This is still a work in progress, so feel free to let me know if something is not working for you.  Note that the scripts are fairly intuitive, but that the elements are presently still case-sensitive.

6-26-09 Fixed a bug that occurred most frequently when using the function keys to change the surface texture.  Points and vectors that were added to the plot before using F1 (for example) were not updated and could be seen in the wrong places if at all.

Added ability to change the appearance of each function using the menu.  You can now vary individual surfaces between normal, wireframe, reversed colors, and semi-transparent.  The function keys (F1, F2, F3, and F4) still work for this too.

I forced all black lines to be antialiased.  They look smoother (without the jaggies they had before), but they also are darker.  It doesn't seem to slow things down as much as antialiasing all lines, but let me know if you see a big loss in performance.  To see what it would look like without doing this hit Ctrl-W.  This key combo switches this setting off and on again.

Added a framework of semi-transparent edges to cover most of the white dots that sometimes appear when graphing a semi-transparent surface without its black edges.  I am working on a more permanent fix to this issue now.

Improved formatting of point coordinates for printouts and for the remove/delete option.

4-29-09  Fixed a bug that made it difficult to update the range of parameters for a Spherical and Cylindrical function.

4-17-09  Fixed bugs that caused problems when using the newest versions of the Java plugin (1.6.10 and newer).  These include problems initializing the applet on startup and several dialogs that did not display correctly (you only could see frames and nothing inside them).  Hopefully my changes will not cause any issues in older versions of the Plugin.  =)

3-25-09  Completed tracing feature for parametric surfaces.  You can now move a trace point along a parametric surface to show the effect of varying each of the two parameters, u and v.  I also fixed a bug that had caused the trace plot to sometimes get out of step with the main plot in terms of its viewing window.

3-17-09  Added a guided tutorial/tour feature to the website.  You can open it directly from the applet or from the CalcPlot3D Help screen.  I also have the Main Help linked into the tour for some topics for the short run.  Eventually I will modify these pages to be more focused on the topics instead of jumping into the middle of the tour.  But for now, this seems better than nothing.  =)

I also made it possible to graph surfaces more correctly that are very steep.  Previously steep surfaces sometimes had gaps in them.  Though not perfect yet, this should be much better now.

I also fixed a bug in the way the directional derivative was being calculated when using the directional derivative feature on the trace plot.

3-5-09   Added Parametric Surface Graphing, including a list of ready-made examples to graph and explore.  You can find it under the Graph menu option.

Also fixed numerous bugs, including the following:

  • Fixed trace point so that it does not always appear when graphing.
  • Fixed a bug in the Vector Field graphing feature.
  • Fixed the contour plotting so that it deals with discontinuous surfaces still better.  Note there is an option under settings in the contour plot dialog to turn this new feature off since it takes a bit of extra processing time for discontinuous surfaces.  It should not slow things down for continuous surfaces though.
  • Caused the cursor to change to the wait cursor (hourglass) during graphing for those cases where it takes awhile to graph.  There are still some other places I plan to implement the wait cursor, but I wanted to test this one first.

2-10-09   Added 3D Anaglyph option for the Amber-Blue 3D glasses distributed for the Super Bowl.  This option is almost full color!  Added another option for pretty full color with the Red-Cyan/Red-Blue 3D glasses too.  Also improved the colors for 3D of contour plots and space curves.  Also added an option on the Trace Plane menu of showing the directional derivative on the surface along with a trace curve in the direction of a unit direction vector that can be changed by right-clicking and dragging on the Trace Plot in this mode.

1-27-09   Added options to graph functions in Cylindrical and Spherical coordinates. 

1-20-09   Added 3D Anaglyph option (more convincing 3D using 3D glasses).  Also stereo pairs and cross-eyed 3D viewing options.

12-4-08   Fixed a bug in the regions of integration and added a menu option for changing the projection type from perspective to parallel and vice versa.

11-19-08  Fixed contour plot algorithm to improve its behavior around discontinuities.

11-6-08  Updated regions of integration, working most of the time now.

11-3-08   Added preliminary regions of integration.  Still some bugs.

10-31-08  Made F1, F2, F3, F4 work to change the surfaces for functions 1-4 from solid to wireframe to reverse colors, and back.
                Display the level curve values (c = ...) on the contour dialog and did some input error checking there.

10-29-08  Fixed formatting of Taylor Polys.

10-27-08  Added rectangular prisms and gradient vectors (on trace plane menu).  Also made the Use List button work in the Contour Plot.  Added set focus point feature to the View Settings menu.

10-21-08  Added tangent lines in x and y directions to the trace plane menu.  Also added transparency setting to View Settings Menu.




9-22-08   <-- main applet       Dot Product Exploration (applet only)    Cross Product Exploration (applet only)

9-19-08    <-- main applet      Dot Product Exploration (applet only)    Cross Product Exploration (applet only)


This page was last updated: Dec. 21, 2016

Copyright 2018 Exploring Multivariable Calculus

Creative Commons License
Exploring Multivariable Calculus by Paul Seeburger is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.
Clarified rights and restrictions of the license for this project can be found at http://web.monroecc.edu/calcNSF/LicenseTerms.

"Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF)."



Create your own Manila site in minutes. Everyone's doing it!

This site is using the Default theme.