Standard Maps : Version History


First public release.


Couldn’t choose the two-harmonic map. Now fixed.


Minor cleaning up


Cleaned up SetValues code, new dialogs, made common libraries


Added "Standard NonTwist Map".

  Moved labels on printed graphs.


Added support for printing and redrawing stable manifolds.


Redid background drawing routines.

  Fixed Print error on cancel. Renamed Print menus.


Added McMillan Map

  Reorganized resources for help and balloons
  Fixed spacing for points on stable manifolds


Added "Choose Initial Condition" command and reorganized logic of "Iterate"


Fixed bug in Paste Bitmap when faster graphics on

  Added Position display in Plot window
  Choose Niterates based on 20 tick response time instead of arbitrarily
  Made TextEdit copy & paste to/from clipboard




Added Default-outline to Stop Button


Added one more iterate to plot for Stable manifold

  Changed number of points on stable manifold to a long (for big partitions)
  Treat PhasePt structure as array (faster than allocating each step)


Allowed Stable Manifold to be clipped

  Fixed Double Buffer out of memory crash


Modeless (Infinity Windoid) dialog for curve drawing (it violates the guidelines because it doesn’t float, but it is the right idea...)

  Added curve drawing for square, circle and line
  Moved hasColor to SetColors routine


Added |x| clipping. Fixed curve clipping

Added color choice on curveDialog

  Added arbitrary path for curve iteration


Added ‘clut’ resource for nice color choice

  Added iterate curve colors option
  Turned on textedit autoscroll


Accept suspend/resume events

  Update Output Text before Setvalues bug fixed


Long period stable manifolds now correct

  CycleColors menu/curve option


Removed corrupted ‘ictb’ causing crash in SetValues dialog (probably since 3.0.3!)

  Toggle Balloon help with help key on extended keyboard


Added StopDialog while printing, to allow cancel




Use UPP’s for PPC code (conditional compile for 68K case)

  PPC version (Using CodeWarrior)
  Open SetValues at start to avoid heap fragmentation
  Fixed text of piecewise linear map to correspond to map!


Proper update of ShowPosition panel when it is closed.

  TeIdle only when Text window is frontmost.


Added Inverse Image choice for Curve Iteration

  Made ShowPosition update when in DragCurve
  Now doing a setPort on "ShowAxes" so no crash if thePort happened to be backbuf!
  Increment color in curve iteration now always chooses a new color
  Hold down option on startup to disable "Print Tips"
  Hold down shift on startup to set Map to Hénon


Change axis drawing, so that an axis is centered if the origin is off screen.

  Moved the ymin label up a bit.
  Symmetry choice for minimizing and minimax orbits now works for k<0.
  Made Position window hide if Plot is not front window
  Fixed backbuffer color setting after print


Flipped sign y in Hénon to make it look like the "heart of Chaos" (Easton)

  Improved "standard plot range" for Hénon.
  Added Suris Map + perturbation
  Made Std Range know about yClipping option.


Compute pixel value using nearest int instead of floor

  Suris Map action computed by faster Fourier Series


If window was smaller than 10-5, short values for pixels were incorrect. Now we use "WithinWindow" clipping. Thanks to C. Goedde for noticing this.




Fixed the Balloon help strings, Removed Testing Code.

  Added Splash Screen and changed the "about box"
  Added "cmd-Shift-k" option to disable rescaling of plot when changing parameters.
  Changed axis labels so they are meaningful if the range is less than 10-3.
  Fixed Size of Bounding rectangle around copied bitmaps.


Changed "int" to either "short" or "long" as appropriate, so we don’t rely on the default

  Added checking for the TexEdit handle size:it cannot be over 32K.
  Made a FAT version.


Changed computation of Niterates: number to iterate to get 10 ticks response time. Added note to tell the user number of iterates/second on their machine.

  Added Show iterations command: shows current number in plot window.




Eliminated the stdio library in favor of StringToExtended and friends

  Added the cubic map (see Dullin & Meiss, Physica D, (2000), in press).
  Added file output ability. Will output lists of iterates, and create SimpleText style picture files. (Note: if you print out a complete list of iterates, the file can quickly get large!)
  Fixed a ParamText bug in the choose parameters dialog that wouldn’t display "^2".
  Added Inverse Iterate menu item: select to iterate backwards.
  Added Zoom Out command.


Added typing in Text Window

  Made choice of Hénon at startup (shift key) give proper report for iterations/sec
  Clear Key erases plot or output
  Made choice of clipping automatic when choosing a new map
  Made choice of sign for Cubic Map automatically +1, and chosen at parameter change.




Allow user to change value for parameter increment (up and down arrow keys)

  Became Appearance Manager compliant. This means everything gets drawn in the current Theme.
  Add Navigation Services File Dialogs if you have a MacOS 8.5 or better.
  Add Open and Save documents with native file types. Now you can save the map and picture, and reopen later
  Add Save As for creating SimpleText, Excel, etc. files, so you can save the orbit list and iterates (only works with Navigation Services)
  Removed outdated backbuffer code in favor of GWorlds (finally!)
  Made the Curve Dialog a floating Window (in MacOS 8.6 or better).
  Added Support for the "required" apple Events.




Made Orbit List and Get Parameters dialogs into movable modal dialogs

  Made Orbit List have an appearance manager compliant "color button"
  Support Proxy icons for files in the Plot window.




Added the information panel at the bottom of the plot window. This allows us to have a size box, and to allow the user to choose the file name as the window title. The cursor position and number of iterates are displayed in this panel as well.

  Support control click in the window title to find the current file path.
  Fixed memory leaks;for example, wasn’t locking pixels in GWorlds!
  Added support for home/end, page up/down and forward delete keys.
  Added support for smart scrollbars (appearance compliant) and for live scrolling.
  Smarter choice of format/position for position information in the information panel.
  Use right/left arrow keys to change 2nd parameter of maps (up/down for 1st parameter).
  More intelligently updating plot window when "Faster Graphics" is chosen.
  Choice of current orbit was not resetting properly after you did a "Find".
  Allowed use of right/left arrow toincrement/decrement the second parameter of the map (if any)
4.0b1 First Carbonized version
  Fixed a bug in Editlist where a null orbit list pointer was referenced
  Added an Apple Help file, accessible from the Help menu.
  Changed the timing computation. Note that OS X seems to have a very slow mathlib: Computations of sin(x) have a 40% penalty. There is also a penalty from the OS from time slicing. So iterations are slower!
  Changed the memory allocation routines for the stable manifold calculation. They more efficiently release memory when points are clipped.
  Turned off double buffering under OS X.
  Cleaned up the Naviagation services code,and brought it up-to-date with Nav Services 3.0
  Mostly cleaned up dialogs for Aqua appearance
  Changed the color button in the Editlist dialog
  Added a new resource for the symmetry popup menu. Used the newer popup menu control code.
  Added Code so that OS X registers the help book. It shows up in the help index after you run StdMap once.
4.1 Used Carbon Events Model (much more efficient under OS X)
  Revamped much of the code for OS X compatability
  Used the Quickdraw LockPortBits & QDSetDirtyRegion for faster OS X drawing
  Updated to Navigation Services version 3.0. Support for Long file names and file extensions under OS X.
4.1.1 Fixed right & left arrows in EditOrbit dialog
  Do not iterate when click on Plot Window Placard
  Prevent iterating from continuing while menus selected (really only a problem with OS 9)
  Fixed background color for OS 9 window updates
  New Program & document icons (you may have to rebuild the desktop (OS 9), delete the files LSClaimedTypes, etc. in ~/Library/Preferences (OS 10.1) or delete the files in ~/Library/Cache (10.2) to see the new icon.
  Fixed update when Toggling ShowAxes so that orbits are not erased (under OS 9 anyway).
  Fixed resave of files which failed due to fogetting to remove old 'pnot' resource
  Fixed Help file acessibility under OS 9.
4.1.2 Saved Plot Window contents when Application hidden (Note that we don't notify user if Application sent quit from the finder with unsaved documents).
  Fixed Drag scale code when plot window moved away from (0,0)
  Fixed Access memory at 0x0 when incrementing parameters with curve dialog shown, but no orbits in orbitlist.
  Fixed Quit when iterate dialog on screen. Now you can quit safely in all circumstances, I believe.
  Fixed Map Params Menu when Shift key held down (does not do an auto coordinate change)
  Disabled Enlarge and Reduce menu items when plot not in front
Fixed draw symmetry lines when coordinates zoomed in.
  Fixed standard coordinate choice for Henon when a < -1.0
  Made changing a map with a "dirty" window trigger "Save this?" (as well as cleaning up outdated FSSpec's in favor of FSRefs)
  Modified Fermi map--a new desingularized version at y=0 is default This is especially helpful if you want to iterate near there, or draw symmetry lines.
  Added the background color to the saved information with a document, so that it is properly restored when you open
  Fixed a bug in the save orbit iterates option that was causing the wrong initial condition to be used.
  Now when inverse iteration is selected, the Find periodic orbit commands still work (always interating forward).
  Canceling a "Save As" no longer looses contact with the old file.
  Fixed bug in setting the proper port for High resonlution printing
4.1.3 More intelligent choice of gNiterates for OS <10.2 (much lower than 10.2 since it is very slow. You should upgrade!!!)
  Added "Speedometer" menu item to allow you to set gNiterates. If small, the iteration will be relatively slow--suitably for demonstrations. There is an optimum gNiterates for speed vs should be close to the programs initial choice.
  Hold down option key for faster startup (fixes gNiterates = 10K), and disabling "verbose tips."
  Changed default printing to "Screen Res." Added Cmd-Shift-P for High Res print.
  Added version number to the about box.
  Copy axes with plot into the clipboard when they are shown
  Added a "+" sign to axes labels when xmax-xmin < 10-3 to indicate that it is a "delta"...added a digit to the display.
  Fixed bug in "Show Iterates" that didn't start it properly.
  Fixed bug when resizing plot if it wasn't the front window that didn't erase it properly.
  Yet another improvement in memory allocation for curve drawing.
  Added "Exit Time" and "Transit Time" options in Find Menu. Eventually will plot the exit time distribution.
  Fixed Plot window string display when a Nav serices dialog in front (OS 9 only)
  Only zoom or draw curve if mouse clicked in plotRect.
  Better dealing with minimized windows and "bring all to front" command.
  Don't stop iteration when rescaling or changing colors (just suspend temporarily).
4.1.4 Fixed copy axes with backcolor not white.
  Fixed the size of the rectangle allocated for the Save Iterates option in the Save File dialog (for alternate system fonts)
  Added "Verbose" tip about memory allocated for curve drawing.
4.2 Now support the services menu for TEXT and PICT
  Converted Maps to a C++ Class
  Fixed Bug in "cancel" changes with new map selection
  Maps have more intelligent default parameter choice
  Turned off alert notification for rescaling if "helpful tips" is off
  Added the Two Wave Hamiltonian Flow (with split step symplectic integrator)
  Fixed the computation of the action and residue for the Suris Map
  Improved updating of the Continue/Cancel, Stop/Go dialog
  Improved Printout of list of orbits to file
  Fixed Bug where window didn't show current map on file open
  Notify user if in background and want to quit with unsaved changes
4.3 Fixed Henon residue-> frequency calculation.
  Added the Forced Duffing oscillator
  Fixed McMillan for a<-2.0 where there are only hyperbolic fixed points.
  Added "beep on escape" menu option
  Fixed the Find routine for Henon and allies by using the angle to compute rotation number
  Draw Axes turned off for saving files, and on in other iff it's on for the user
  Fixed the erase of rectangle when cancelling a drag scale (used PenMode(patXor))
  Moved Position display down a pixel so it does't overlap plot region
  Bring Plot Window to the front when closing
  Added more options to Orbit::Find for trying to get a good initial guess for Brent's method
4.4 Added help tags to Edit Orbit and Curve Dialogs
  Fixed a bug in Find orbit that ignored user cancel
  Fixed a bug in Find Symmetry lines for unusual choices of Clipping.
  Allow user to specify bounds for symmetry lines so that small regions can be plotted
  Added some extra menu key equivalents (with Shift & Option keys)
  Allow user quit the Brent routine if find is taking too long
  Fixed the fixed point finding routines, adding a new option to the find routines for the special case of (p,q) = (0,q) (fixed point).
  Set default clipping for separatrix map to unbounded.
  Set default window size for new plot to the same as previous one.
  Removed Window Proxy Icon from new windows. They shouldn't have one until there as an associated file.
  Two wave map now warns if k not integer. Also more intelligent choice for y range as parameters a and b vary.
  Smarter drawing of symmetry lines for the TwoWave and Duffing flows.
  Now can "Save As" over the same file we have open.
  Added "Shift" command keys for Symmetry Lines and High Res Print
  Fixed International number formats--needed a thousands separator. (For some reason European formats don't want to write "0,1", but write ",10").
4.4.1 Fixed international formatting for "save iterates to file"
  Removed Help tags from Menu titles as they can cause a port error.
  Set Separatrix map to default to wrap y periodically (0 < y < 1). See Clipping Menu to change.
  Fixed crash if user quit in the middle of drawing stable manifolds
4.4.2 Using Nib files for menus, windows, helptags, etc.
  Edit Orbit Dialog is now a normal window, and can remain open while you iterate, etc.
  Added "Plot boxes" to Edit Orbit. So you can see short orbits.
  Added "Random Iterate Mode" You start up with this if "Give Helpful tips" is checked.
  Changed some command keys and reordered the menus. Most items have keys now.
  StopPause dialog now much more efficient on processor (uses CarbonEvents)
4.4.3 Added more colors to the rotation for orbit colors. Made the color choice exclude the window background color.
  Universal Binary for intel Macs. (Needed to deal with Endian issues in our files)
  Added keyboard handler for EditOrbit, so--for example--the arrow keys work.
  Added Preference saving. We now save the window sizes, positions, and map choice and options that you may have chosen.
  Made the alert windows into sheets when appropriate.
4.4.4 Redid the Printing code to use the more modern PrintSession commands.
  Fixed a long standing bug where a second print in High Resolution mode would fail to draw stable manifolds properly
  Improved user Cancel codes for printing and curve drawing.
4.4.5 Made an overlay window for the axes, so they nolonger erase the orbits. (A side effect is that we don't print or copy the axes as of yet).
  Now saving the background color as a preference.
  Made the enlarge/reduce and curve drawing routines draw in an overlay window
4.4.6 Added Command-key secondary "help tips"
  Fixed a bug where enlarge rubberband would fail if axes were not shown
4.4.7 Fixed problem with exittime if numOrbits = 0.
  Changed orbit structure to use "angle" instead of slope of eigenvector so that infinite slope is okay
  Update initialization display to properly report processor speeds of > 2.14GHz, and added MacBook Pro to the list.
  Updated "About" window to be in front for Mac OS 10.5
  Fixed display of "Iterate" button for stable manifold drawing
4.5 Changed the label for the Suris Map parameter from "k" to "a"
  Reorganized the Find menu to make it more logical
  Fixed a bug in Curve drawing where CycleColor was not respected
  Fixed a potential crash if iterate a box was done too long (probably physically impossible to hit the spacebar that much!)
  Added warning to user if p & q are not selected to be coprime (Orbit finding)
  Fixed the Help anchors to work with 10.5
  Fixed a cursor setting bug if a help window was open
  Fixed a bug in the EditOrbitList dialog for setting the y-value
  Disabled Print Menu items if Plot is not front window. Removed "sheets" for Print Dialogs due to a bug in 10.5
4.5.1 Made Cmd-? work the Help menu
4.5.2 Added "EnableMenuItem" for case that no Plot window shown Added Parasitoid Map
  Removed old STRS variables
  Changed Symmetry Labels in EditOrbit Dialog Added a new BracketRoot to findOrbit for the case that dy neq 0. Replaced SYMMSTRS OPTIONSTRS YCLIPSTRS FINDSTRS by char arrays Adjusted the GuessMomentum for Parasitoid with fixS Fixed problem with "Cancel" from "Random Iteration" by adding Boolean return from InstallRandomIterationTimer
  Added Cmd-. to "stop" for StopDialogEventHandler Added a "flip" y in DeltaX routine for Henon and Parasitoid maps for final symmetry line Fixed Angle and find routines for ParasitoidII map. Still need to do linearization for this map
  Added Linear routine to ParisoidII
  Moved Maps tipStr into each map. Created new PrintTip routine for a char *. Moved NavMenu strings into strings.h Removed extraneous resources from strings.r and compiled it to strings.rsrc.
  Added "SaveCurrentEditOrbit" to case SYMM in EditListControlClick to prepare for an update event after menu select Unchecked the Minimax symmetry item in the nib file as we set it each time but never unset it!
  Fixed spacing on tipStr for some Maps Added PrintTip for Map to open Apple Event Moved Map Printip after setting map!
  Added SetFileNameWithoutExtension to kEventAppActivated to allow for user changing file name or moved file.
  Added ProcessHICommand to StopDialogEventHandler with QuitCommand, so that App quits if Q (or Cmd-Q) during progress dialogs
  Added SetCurveCycleColorControl() to CycleColor menu, so it gets updated when we select menu.
  Added doReOpenAppEvent so that when now Plot window is open and App is activated from doc, a plot is created.
  Added window checking to AppEventHandler for MouseMoved.
  Added UTI info to plist file Added FSSetCatalogInfo to CreateFileFSRef to set the File creator
4.5.3 Fixed ReSetAxesWindow to take into account Lion resize from the side Added YClipStrs[7], since it was missing.
  Added "TORUS" to list of topologies. Added a switch to the FillSpaces routine which more or less does this correctly when a curve crosses the |x| = 1/2 or |y|=1/2 boundary Changed Orbit->GetColor to Orbit->GetOrbitColor to not collide with the built-in routine.
  Changed ID of BOX control to 111, as there seems to be a conflict (all AMap controls need to have separate IDs?) Probably should change all the contols in the curve dialog--edit the StdMap.xib file explicitly
4.5.4 Changed the tipStr to CFTipStr. Made PrintTip deal with CFString (for unicode characters)
  Commented out PutScrapFlavor in the text cut & copy as it was doing it twice, with TECut.
4.5.5 Save and restore "oldColor" when doing stable manifold so that when cycleColor is off, we don't mess it up
  Fixed "PlotPoints" in edit dialog to not plot boxes (seem to have messed this up in 4.5.3)
  Changed Cancel Save As in "files.c" to be != instead of !( )== (compiler complained).

For more information

Last updated: Sept 2, 2014