MathGroup Archive 2002

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Graphics Question

  • To: mathgroup at
  • Subject: [mg35459] Re: Graphics Question
  • From: AES <siegman at>
  • Date: Sat, 13 Jul 2002 03:48:46 -0400 (EDT)
  • References: <agjj0o$24v$> <agm3v1$53i$>
  • Sender: owner-wri-mathgroup at

> > 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]


    Erase[myGraphic, one-piece-of-this-stuff]



  • Prev by Date: RE: Mathematica Animation Problem
  • Next by Date: Re: White border in plots(2)
  • Previous by thread: Re: Graphics Question
  • Next by thread: Re: Re: Graphics Question