Re: Graphics Question
- To: mathgroup at smc.vnet.net
- Subject: [mg35459] Re: Graphics Question
- From: AES <siegman at stanford.edu>
- Date: Sat, 13 Jul 2002 03:48:46 -0400 (EDT)
- References: <agjj0o$24v$1@smc.vnet.net> <agm3v1$53i$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
> > Is there any way to create interactive graphics? It seems all animation is > > done by precalculating frames. For some things this is ok, but it would be > > nice to be able to dynamically alter a graphic, and even better make changes > > based on input of various sorts. Perhaps an add-on package exists? Or > > perhaps in an upcoming version? I believe this is a fair and significant question to pose -- and unfortunately a difficult one for Mathematica to answer. What this poster would like, and so would I, is the ability to add a new point or object, or a succession of new objects, to an existing on-screen plot, without redrawing the whole plot -- for example, to see a curve "crawl" across a plot without calculating and storing a whole bunch of nearly identical images, or to let a user interactively move an object in a plot with the mouse and see other parts of the plot change appropriately in a fluid and instantaneous fashion. We'd like this to be fast, and also very simple to program (an Mathematica command "ShowAdded[Graphics[--]]" that adds a new graphics element to a plot that's already on screen, along with an "Erase[Graphics]" command.) Unfortunately, as I understand it, Mathematica graphics just aren't set up to function in this fashion. These capabilities can be simulated to some extent, if the computer is fast enough, but I believe the fundamental architecture of Mathematica is based on formulating, then displaying one complete PostScript graphic at a time. The idea of adding new points to an existing, already on screen plot, without redrawing the whole image, is not part of the underlying structure. I don't fault Mathematica for this; It may not be possible to do otherwise in a multi-platform package. Adding to a display already on screen I believe implies having access to system-level or "screen-level" aspects of the computer, and these are greatly different from computer to computer. Comments from more knowledgeable people obviously welcomed . . . [Incidentally, is there an "Erase" command in Mathematica now? Can I program myGraphic =Graphics[bunch-of-graphics-stuff] Show[myGraphic] Erase[myGraphic, one-piece-of-this-stuff] ReShow[myGraphic] ???]
- Follow-Ups:
- Re: Re: Graphics Question
- From: jmt <jmt@agat.net>
- Re: Re: Graphics Question