axiom-mail
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-mail] Questions about data feedback from graph manipulation i


From: root
Subject: Re: [Axiom-mail] Questions about data feedback from graph manipulation in gnuplot
Date: Thu, 5 Dec 2002 19:11:15 -0500

> Hi!  Firstoff, thanks for all the work being done on Axiom.  It's truly
> amazing.

Nah, it's just people slaving away but thanks for the complement.

> 
> I note in the task list that you are planning to migrate some plot
> functionality to gnuplot.  I had a couple questions related to that,
> and I apologize in advance if they are silly/not yet relevant.

They are neither but I'm not sure I have answers.

> First question:  Does Axiom intend to use the interactive rotation and
> pm3d abilities of gnuplot on Windows? Last I heard (which was
> admittedly a while ago) those abilities exited only on the X11 version,
> and only in cvs.  An extension to Windows would be really neat.  (Well,
> for Windows users anyway.)

I don't run windows so I really can't answer this question well.
I know the Axiom code, written by Scott Morrison, is capable of
a lot but we have no-one of Scott's ability to maintain it. 

> Second question:  What precisely do you plan for the feedback featues,
> or rather what gets fed back to the system?  I'm hoping this means if
> one rotates a graph in gnuplot the computer algebra system knows about
> the change in perspective, scale, etc.  The reason is that if one wants
> to print out a document with a gnuplot graph in it, the program can
> generate the postscript/pdf/image version of the graph as it appears
> onscreen, rather than reverting to defalts.  In my version of gnuplot,
> if you change the viewing direction in the X window, gnuplot doesn't
> remember that when you close it, set terminal postscript, and generate
> a file - it reverts back to the default view.  I don't know if the
> gnuplot.lisp interface in clocc can handle this kind of stuff; maybe it
> would help, but my guess is gnuplot would need to play along.  Is that
> what you had in mind?

What I have in mind is that you can get information back from gnuplot
once the object has been manipulated. Ideally you'd like to be able to
display a 2 or 3 D equation, play with it for a while interactively
and get the results back. Initially this is likely to be just the data
you mention such as rotation angles and, possibly, the point data. 
However, for a really useful system you'd have a set of symbolic
parameters that the plot program knows about. Consider a reasonably
complex example such as a surface which is defined by control points.
As you drag the control points around you change the shape of the
surface. You'd like to be able to send a "model" of the surface which
has several parts: 
  (a) the initially plotted surface
  (b) the symbolic plotting equation
  (c) the control point data structure array
  (d) the eye, lighting, viewpoint, etc data structure
Changes to the displayed plot would be reflected in these parts and
the user could query the model at any time. 

Another interesting example would be to use the graphics subsystem
as an interactive tool to help in a calculation. For instance, 
suppose you had a root-finding program. The user could visually
indicate intervals of the real line where roots occur in the plot
which could be communicated back to the program in some sort of an
interval data structure (interval is a type Axiom currently supports).

More interesting cases occur if you try to study knots. You could
display knots, perform local transformations, return the results
(which would compute and display the knot polynomial). This 
cycle could continue as you interactively manipulate the knot.
If you manage to reduce the knot you could display the resulting
braid.

The key advantage to merging with gnuplot is that it is used by
several of the computer algebra systems and so everyone benefits
from the effort.

The key advantage of merging with any graphics program including
gnuplot is that the code will be maintained by somebody who understands
the subtle details of graphics.

The hard part of ripping it out of Axiom will be understanding the
correct API to make it useful and extensible which means we need a
fairly clever and insightful person to lead the whole subtask.

An alternative to exporting the code would be to make it much more
tightly bound to the Axiom library. If someone builds a "graphics
algebra" subtree within the algebra library I'd be much more in
favor of keeping the code embedded in Axiom. An knot algebra
subtree would be an interesting example.

> Third question:  Will it be possible at some point to embed gnuplot
> windows into TeXmacs documents and have them be interactive?

Ummm, dunno. Clearly it is possible. I've sent off a request to 
Rudiger Gebaurer to try to recover an interactive textbook that
was done for Axiom. (I haven't heard back yet but I never did find
his direct address and sent the request thru company management.
If anyone has a contact please let me know).

Apparently IBM Research did an interactive textbook that allows you
to do interactive equation solving and graph manipulation in a
linear algebra textbook. It seems a shame to lose this technology
and I'm sure we can improve it if we can liberate the textbook.
It seems a shame to let this work go to waste and it would make
a great model for the "booklet" format I keep muttering about.

> Anyway, I'll stop annoying people now.  I realize this is probably not
> on the radar screen for quite a while, but I thought I'd ask what the
> long term plans were as far as Axiom and Gnuplot were concerned.

I'm the annoying one, especially if you don't agree with my random
pronouncements :-)

It won't come onto the radar until either a developer steps up 
and takes an interest in Axiom's plot program, a developer from
gnuplot steps up and wants to steal the code or I get to the code
and start chewing on it. But I'm willing to talk about it in the
mean time.

Tim





reply via email to

[Prev in Thread] Current Thread [Next in Thread]