I would like to extend Sage to allow for recursive composition of
graphics arrays.  (I.e. to enable having graphics arrays as individual
elements in a larger graphics array; as far as I can tell, Sage's
graphics_array does not support such higher-order graphics arrays.)

For this, the function that generates the graphics array must take a
1d or 2d array of graphics objects as one of its arguments, and return
a graphics object.

In order to do this, it would be helpful for me to understand Sage's
"data model" for graphics.  In particular, I need to determine if
Sage's graphics objects are cleanly separate from possible display
channels.

To see why, consider, for example, Mathematica Graphics objects, which
are at the center of its graphics model.  As far as I can tell from
Mathematica's documentation, to the user, such a Graphics object can
be interpreted (as a first approximation at least) as nothing more
than an abstract textual representation of a graphic, independent of
any display channel.  This textual representation can be interpreted
by various drivers to produced various types of output (e.g. a screen
display or PostScript).  The key point is that there appears to be a
clean separation between Mathematica's Graphics objects, and the
channels used for displaying them.  (I repeat that all of this is
nothing more than a guess on my part, since Mathematica is a black
box.)

This separation of the abstract Graphics objects from any concrete
display channel greatly simplifies the problem of creating composite
Graphics objects from other Graphics objects, since there's no need to
reconcile any possible differences that may exist in channel
information for the individual components.

Is there a similar separation between the specification of Sage
graphics objects and display channels?  To put it differently, how
much information about display channels is encoded in these objects?
Is there a write-up (or just some descriptive UML) on Sage's graphics
model that discusses these topics?

Any other reading material or advice that may be helpful for
implementing the recursive composition functionality I described above
would be much appreciated.

TIA!

~kj

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to