
                                    XGP

               Interactive Display and Manipulation of Curves
                   and Surfaces of Mathematical Functions
                                           
		                Dan Bennett


   At Kent State University research on an intergrated computing
   environment for scientific work has been on going for sometime.  One
   current activity in this direction is the design and implementation of
   a window-menu-mouse oriented user interface system called SUI.  Part of
   this effort involves the creation of an advanced interactive graphics
   facility, XGP, for mathematical functions.  XGP significantly extends
   previous work by C. Hsu [1], P. Wang [2], and D. Young [3].  XGP is
   designed as a graphics server for the display and interactive
   manipulation of curves and surfaces representing mathematical
   functions.  Written in C, XGP achieves host system independence
   throught the X11 protocols.  XGP is designed to work together with SUI
   or to be used independently, either as a graphics engine or as a
   library.  
   
       Graphing requests for XGP can come from the user, from a client
   system, such as Maple, Reduce or Vaxima, or from a file.  Displayed
   curves and surfaces are represented by internal graphics objects that
   can respond to interactive messages and perform various display tasks
   including zoom, pan, rotation, change of view point and direction,
   overlay, and hidden line removal.  There are also built-in objects
   such as grid, axis, and common geometric objects such as circle,
   ellipse, polygon, sphere, cube, cylinder, cone, ellipsoid,
   parallelepiped, etc.
   
       XGP defines a graphing command language in a lisp-like syntax.
   This allows clients to easily request actions supplied by XGP.  A set
   of standard, redefinalbe default settings contribute to the
   integrating environment for numeric, symbolic and graphics computing.
   
       XGP contains two major parts:  a display graphics module and a
   mathematics graphing module.  Additional features for the former
   include, scatter plots, rough/fine display modes and interactive point
   value query.  The latter supplies expertise in generating the right
   display for vaious mathematical functions.  Desirable capabilities
   include generating display points from functions specified in the
   input command, locating singularities and local extrema, selecting
   display boundaries, automatic log scaling, adaptive spacing of points,
   level curves and asymptotes.  
   
   REFERENCES
   
   [1] Hsu, Chia-Kai, "An Object-oriented Interactive Graphics Package
   Based on the X Window System", Masters Thesis, Department of
   Mathematical Sciences, Kent State University, Kent Ohio, Dec. 1988
   
   [2] Wang, Paul S., "A System Independent Graphics Package for
   Mathematical Functions", Proceedings, International Symposium on
   Design and Implementation of Symbolic Computation Systems (DISCO'90),
   April 10-12, Capri Italy.
   
   [3] Young, Douglas A. and Wang, Paul S., "GI/S: A Graphical User
   Interface for Symbolic Computation Systems", Journal of Symbolic
   Computation, Academic Press, Jan. 1988, pp. 365-380.
