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

Re: ePiX GUI



On Tue, 4 Feb 2003, Jay Belanger wrote:

> "Andrew D. Hwang" <ahwang@mathcs.holycross.edu> writes:
>
> > A few people (mostly Windows users, if it matters)
>
> So, is ePiX running on Windows these days?  With cygwin, perhaps?
>
At least one person said they'd run ePiX under Cygwin; others might be
using Pyepix...?

> > have mentioned the
> > desirability of a graphical interface to ePiX. While a GUI is premature
> > (until the new version of the library is stable), and I don't see myself
> > using one regularly (to me, a mouse is a barbaric tool of wrist injury
> > and a poor substitute for the TAB key:),
>
> The first, and most important, design decision should be to make the
> mouse ineffectual, or perhaps a mouse-click could pop up a dialog box
> saying "Use the keyboard".
>
:)

It seems that a mouse is good for objects that depend on one to three
points (points, regular polygons, and circles), since one can click (only)
a couple of times to create an object, while plots (say) are not easily
specified by mouse. Perhaps potential users envision a Maple-like
(Mathematica-like...) interface, with a command interpreter that provides
immediate visual feedback. If so, future versions of the manual could
include suggestions for piecing together such an environment from emacs, a
terminal window, and gv or xdvi. (This is my version of a GUI.)

> > I'm sympathetic to the desire for
> > one. Do any of you have ideas/opinions on:
>
> At first I thought the idea a bit odd, since ePiX is already a
> frontend for eepic; why put a frontend on a frontend?  Why not make a
> front end directly for eepic, for example?  But I suppose the code
> could be tweaked after the GUI created it, so the intermediate code
> could be important.
The fact that ePiX is a library lends itself to a window interface that
calls library functions and writes their output to a specified file (i.e.,
to writing a graphical front end for eepic:)

In fairness, people who've asked about a GUI are (I think) new users, and
a natural assumption is that ePiX includes an interpreter, for which one
could naturally write a front end. My office neighbor is teaching compiler
construction; maybe I can grab one or two of the good students and have
them write an interpreter. The difficult issue (as far as I know)  is
writing plot code that runs acceptably quickly, and I know of no solution
other than to compile some kind of byte code for functions (given a
formula in some grammar -- more design decisions:), then to call the byte
code repeatedly to generate output data. There's a small program called
"formulc" by Harald Helfgott that performs this function, but I've never
seriously tried to understand how it works, much less incorporate it into
ePiX. In general, this sort of thing is far beyond my programming ability.

> to accurately plot the graph of a function, I would think you'd need
> to give the program a formula for the function.  For overall
> mathematical accuracy, I would think you'd need to tell the program
> most information rather than show it (although things like snap to
> grid would help), so I would expect a lot of dialog boxes.
>
Another approach (alternative to creating line figures as eepic or mp
files) is to write a utility to put Postscript text into an image file,
then to use an existing program (geomview or PoV-RAY, for which there are
already GUIs of sorts) for actual rendering. I like this approach less
("it seems less elegant") but it has the potential of creating extremely
good graphics, more realistic than line figures will ever be for 3-D
stuff. But for both of these programs, the user still has to type code
into a file (as Jay points out, this seems to be the nature of plotting,
not a deficiency of existing GUIs), and for black and white print journals
it's not even clear that "more realism" = "`better' graphics".

So after all this thinking-in-print (and a certain amount of corroboration
from Jay and Torbjorn:), I'm back to the sentiments of the manual; a GUI
doesn't seem like an effective way to use ePiX. It's fine with me if ePiX
occupies a niche distinct (even disjoint) from xfig (and tgif...?), since
I believe it's aims are different.

A bit of a tangent: Has anyone used gnuplot extensively, and if so, what
are its strengths and deficiencies? Is there anything resembling a GUI?
Many people on comp.text.tex mention gnuplot when the subject of graphing
comes up, but I never had a good experience with it (nor, to be fair, a
truly bad experience, just a few annoying encounters).

--Andy

Andrew D. Hwang			ahwang at mathcs dot holycross dot edu
Department of Math and CS	http://mathcs.holycross.edu/~ahwang
College of the Holy Cross	(508) 793-2458 (Office: 320 Swords)
Worcester, MA, 01610-2395	(508) 793-3530 (fax)