> Bob McElrath <[EMAIL PROTECTED]> writes: > > > As far as drawing graphs, why not just dump out a graph in > > any kind of portable format (e.g. postscript, pdf, svg, etc). > > A front-end can parse it and display it. There are many > > relevant lisp libraries: > > http://www.cliki.net/graphics%20library > > http://www.cliki.net/plotting >
Bob, have you changed your mind on this issue since we discussed it last year? :) http://lists.nongnu.org/archive/html/axiom-developer/2005-06/msg00491.ht ml BTW, when I was looking in the archives, I noticed some more "lost comments" about the use of HTTP as an Axiom user interface protocol as mentioned in a different but related thread: http://lists.nongnu.org/archive/html/axiom-developer/2005-05/msg00209.ht ml On Thursday, September 07, 2006 2:59 PM Kai Kaminski wrote: > > Because there is a difference between the plot data and the > resulting plot and producing the latter from the former isn't > easy. The plot contains all kinds of objects like grid lines, > axis, a title etc. This implies that we need tons of plotting > code inside the core of Axiom. The plot data that Axiom > produces should be an easily parseable description of the > points/lines/surfaces that are to be displayed, as well as > all additional options that the user supplied, like colours, > axis etc. > I am inclined to agree with Kai, but for reasons different than the ones I would have sited last year. Specifically, in the development of Sage I see a "real life" example of the benefits the modular approach. This does not just apply between the computational "engine" and the graphical user interface, but actually extends deeper into methods of computation and outward into various modes of presentation of the same data for different purposes. From my point of view Sage gets a lot of mileage out of being able to mix and match the features of many different open source computer algebra systems. The more modular they are, the more flexible the integration between them can be. But Sage takes a somewhat different large-scale "object-oriented" view. When maxima returns an object to a variable at the Sage command level, that complex strongly-typed object inherits a number of properties and methods from it's parent. In the case of a Maxima expression, at least one of these methods plots a graph. But this is just an external interface to some graphics function internal to Maxima. For example another method might involve Maxima's symbolic integration or differentiation operations. And just like in Axiom, objects can often be coerced or converted from one class (domain) into another where they might inherit quite a different set of methods and properties, for example as a polynomial in Singular or a graph in gnuplot. So this is not modularity for it's own sake but rather because we really need to be able to perform these conversions as efficiently and flexibly as possible. If the graphic data from Axiom was represented only as a postscript file, it might be very difficult to convert that to a form that could be scaled by a graphic method in gnuplot. > As for the GUI, different people will prefer different plotters > (layout, output formats, ...). > Long ago at the end of the previous century when Axiom was younger and the developers more optimistic ... ;) ... Axiom had a virtual reality graphics interface called OpenInventor. In fact this was part of the Texplorer browser integration which was lost to us by corporate decision making. But you can still see the vestiges of that marriage in the existing instrumentation in the Axiom library graphics code. (Ref. Mike Dewar discussed this briefly on this list almost 4 years ago!) http://lists.nongnu.org/archive/html/axiom-developer/2005-04/msg00132.ht ml http://lists.gnu.org/archive/html/axiom-developer/2002-11/msg00142.html OpenInventor is still there and it's still open source: http://oss.sgi.com/projects/inventor http://oss.sgi.com/projects/inventor/license.html and has a lot of excellent documentation. But it's real status as open source seems a bit in doubt since it seems that an enhanced version is being sold as closed source by a company called Mercury http://www.tgs.com ? Wikipedia to the rescue ;) http://en.wikipedia.org/wiki/Open_Inventor So now OpenInventor exists as "Coin3d" http://www.coin3d.org/ http://www.coin3d.org/licensing with dual GPL and commercial licensing! Still confused? I am. It's hard to think of a better example of the peculiar dynamics between proprietary and open source software development! Anyway, I wonder if having taken him apart, we could somehow manage to put humpty-dumpty back together again? :) Regards, Bill Page. _______________________________________________ Axiom-developer mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/axiom-developer
