[comp.windows.x] 3d plotting followup

bruce@MOSVAX.EE.CORNELL.EDU (Bruce M. Hahne) (09/05/90)

Hi;  several weeks ago I posted a request for 3D plotting routines
usable under X.  I got a lot of mail asking that I pass along what I
found out, so I figured I should post some results.

I actually got more "tell me what you find out" letters than I got
"here's something that might fit your needs" letters.  I have included
Email addresses of those who sent me replies.  Please recognize that
these people may not be expecting or wanting a slew of Email questions,
as all they did was send me a private reply to my post. 

As for what *I* did with my original problem of needing 3D scatter
plots: I ended up writing my own code to do the mathematics (not hard)
and incorporating that into code we already have which does 2D scatter
plots.  This turned out to be easier for our needs than attempting to
cannibalize any available packages for usable routines.  Sorry that I
didn't use any of what was offered, but perhaps others will benefit from
your advice.

Bruce Hahne
Cornell University grad student
Internet:  bruce@mosvax.ee.cornell.edu

------------------------edited responses follow---------------------------------

>From mikeg@c3.c3.lanl.gov Wed Aug 15 10:20:22 1990
Subject: 3D plotting help needed.

There is a dearth of plotting packages for X.  The only decent program
I know of is xgraph-11 by David Harrison (ftp on prep.ai.mit.edu), but
that doesn't do *real* 3d plots.  It's not callable from a program,
however, it's a stand-alone.

There is one graph-widget hack out there, but it's only 2d and is a
*real* kludge.

I played with using Mathematica as a plotting utility - it does very
nice graphics, inc. 3d, but you have to either (a) find a way to call
it from your own code (I'm told this can be done, I couldn't see how)
or (b) dump your data to a script you can then read it in from
Mathematica.

-----------------------------------------------------------------------
>From: "Eric J. Stollnitz" <EJS92@campus.swarthmore.edu>

I've been working on such things (and 3D surface plotting and image
processing) this summer.  I just finished version 1.0 of the software
package, which uses DECwindows stuff--a variant of X Windows.  If you're
on a VAX, as your address would seem to indicate, perhaps you can use
the programs.  And if you're brave you can muck about with the
application library I built up and ignore the applications. 

	All the source is available for anonymous ftp on
chaos.swarthmore.edu (130.58.65.3) in pub/comp_phys or pub/comp_phys.tar.
There's even a tar2vms program if you're so unfortunate as to be stuck with 
VMS.  You'll need about 1 meg for the source, 6-8 to compile it.  Hope this 
helps.
			-Eric
PS- You're right, there's no good 2D/3D package for X in the public domain,
at least as far as I know.  "If you want it done right, do it yourself."  :-)

-------------------------------------------------------------------

 give vogle a try. its at uunet.uu.net in the graphics library.
 Its got good 2d plotting available. With the basic calls to build
 3d plotting.

 If you find something else please inform me. Vogle was the best I 
 could find.
chuck strickland				chuckles@sne42e.orl.mmc.com

-------------------------------------------------------------------

>From: dfs@lestat.bellcore.com (Deborah Swayne)

You might be interested in xgobi, a program I've been working on.  It
is an interactive dynamic graphics program for data analysis.  You
might find that you can modify xgobi to perform the functions you're
interested in rather than writing a new program entirely from scratch.

I'll attach the blurb I recently posted to the S-news mailing list, a
list of people who use the S data analysis environment.  If it sounds
interesting to you, let me know and I'll tell you how to get a more
recent version by anonymous ftp.

Debby Swayne
dfs@bellcore.com

xgobi, formerly known as xdv and xdataviewer, is now publicly
available on the statlib server, subject only to the copyright
restriction at the end of this announcement.  To have xgobi sent to you
by electronic mail, send email to statlib@temper.stat.cmu.edu saying
"send xgobi from general."

xgobi is a dynamic graphics program for exploratory data analysis being
developed at Bellcore.   It is changing continuously, and announcements
will be sent to S-news as new versions are available on the statlib
server.

It runs under the X Window System and has been tested on color and
monochrome Sun 3, Sun 4, and Dec UNIX workstations running Release 3
and Release 4 of X11.  It can be initiated from the UNIX shell, reading
and writing ascii files, or from within S, in which case it accepts an
S matrix as an argument and writes in S data format.

Current xgobi functionality includes

  *  two-variable scatter plots
  *  three-variable rotation around a fixed vertical axis, with the
     ability to save rotation coefficients
  *  grand tour
  *  scaling and translation of the projection of the data in the
     plot region
  *  color and glyph brushing, of a single window or two or more
     linked windows, with the ability to save vectors of color or
     glyph information about each point
  *  case identification by label or row number  
  *  reading in a new matrix of data

Users can tailor many layout features, such as the sizes of
buttons and the colors used in brushing, by using X resource files.

We welcome your questions and comments, and request that you share
extensions, corrections and modifications with us.

Note:  Included in the statlib distribution is an installation file
named Readme, and the skeleton of a manual named xgobi.man.  In a
couple of weeks, we'll have more documentation available.  Also
included in that distribution are several bugs, because we were working
too fast to get something to Mike before he went away for 30 days.  So
if you need bug fixes and better documentation and you're not willing
to wait a month for them, you can call or send email to us.

      Deborah F. Swayne            Dianne Cook
       dfs@bellcore.com      dcook@fisher.rutgers.edu
        (201) 829-4263

 ************************************************************
 *  Permission is hereby granted  to  any  individual   or  *
 *  institution   for  use,  copying, or redistribution of  *
 *  the xgobi code and associated documentation,  provided  *
 *  that   such  code  and documentation are not sold  for  *
 *  profit and the  following copyright notice is retained  *
 *  in the code and documentation:                          *
 *              Copyright (c) 1990 Bellcore                 *
 ************************************************************

* Note:  Problems with statlib should be directed to 
  mikem@andrew.cmu.edu.

gjc@mitech.com (09/06/90)

There is a package called PLPLOT, available from AMIGA source and binary
archives (comp.sources.amiga, comp.binaries.amiga). It was based on
on Tim Pearsons VAX/Fortran-77 package PGPLOT (from Caltech?) which sees
quite a bit of use for scientific plotting. It was very easy to get
this running on non-AMIGA machines.

I wrote XLIB and POSTSCRIPT level drivers for this,
and use it as a sharable library to call from programs.
Technically, in terms of plotting technique and
capability it is superior to gnuplot, and xgraph-11. It has
2d, 3d, and contour plotting capability.
For an interactive interface I've used the SIOD scheme interpreter.

If somebody would help me with the XMAKEFILE and other considerations
it would could make a worthy X contributed package.

Since it is program callable and encapsulates its state in a few
data structures it isn't too far away from being widget-worthy either.
(I have a list of all internal state variables because of the sharable
library considerations).

-gjc

ktoh@cy.berkeley.edu (Kenny Toh) (09/09/90)

Hi there folks, I was just catching up on my reading in this newsgroup
and lo, I found this comment about a need for X11 3D plotting.
Well, it just happen that I have do have a program which does 3D
plots.  A brief description follows :

NAME
     pdraw - 3D plot program for X-windows and Postscript

SYNOPSIS
     pdraw [-v vx vy vz] [-o options-file] [-Pprinter] [-s scale]
     [-e] [-h] [-nosort] [-ps] plotfile1 plotfile2...

DESCRIPTIONS
     Pdraw is a program for drawing 3D plots on X10 or  X11  win-
     dows.  The program will also produce a POSTSCRIPT plot which
     can be dumped out to an APPLE Laserwriter.  Pdraw  reads  in
     x-y-z  data  from  a  plot-file  and  manipulates  that data
     according to options specified either in the command-line or
     in  a  options-file.   The  plot-file can be compressed (see
     compress[1]); compressed files will be uncompressed automat-
     ically.   The  program then plots lines on a screen or dumps
     the plots to a POSTSCRIPT file.

etc
etc

If there's any interest, send e-mail to me and I'll send you the source 
code.  I even have separate programs for 2D contour plots and 2D plots
(similar to Xgraph).  Anyone out there interested?

Kenny Toh
ktoh@mascot.berkeley.edu
(Dammit Jim, I'm a doctor not a graphics engineer!)

ktoh@cy.berkeley.edu (Kenny Toh) (09/11/90)

In article <27608@pasteur.Berkeley.EDU> ktoh@cy.berkeley.edu.UUCP (Kenny Toh) writes:
>Hi there folks, I was just catching up on my reading in this newsgroup
>and lo, I found this comment about a need for X11 3D plotting.
>Well, it just happen that I have do have a program which does 3D
>plots.  A brief description follows :
>
>NAME
>     pdraw - 3D plot program for X-windows and Postscript
>

Hi again, 
   OK, so far I have received mail from and sent packages to the 
following people :

thewalt@ce.Berkeley.EDU
scaggs@frith.egr.msu.edu
dwf@hope.ACL.LANL.GOV
grosen%amadeus@hub.ucsb.edu
coleman@twinsun.com
KOST%TRIUMFER.BITNET@lilac.berkeley.edu
taeha@kum.kaist.ac.kr
boulder!hartzell@boulder.Colorado.EDU
canuck@rice.edu
aslam@csrd.uiuc.edu
scatter@scubed.scubed.com
cristy%ESSUN3%ESVAX%dupont.com@RELAY.CS.NET
mahmud@cortex.neusc.bcm.tmc.edu
dkf@helios.iec.ufl.edu
kmlau@cs.utexas.edu
kaiip@diku.dk
gaspo@vsserv.scri.fsu.edu
willis@ecovsb.ncsu.edu
jroyea@wpi.wpi.edu
kall@mayo.EDU
rtc%westford.ccur.com@RELAY.CS.NET
denio@seismo.CSS.GOV
mmlai!whitten@uunet.UU.NET
larry@pylos.cchem.berkeley.edu
mw1l+@andrew.cmu.edu
rajeshg@diamond.tamu.edu
fgreco@govt.shearson.com
akkerman@pn9050.cr.usgs.gov
hopper.XRCC@xerox.com
envbvs@epb2.lbl.gov

   If you sent mail to me and aren't on this list, then your mail probably
got lost.  Try again.

   I'll probably be posting the source-code on an anonymous site sometime
in the near future; I'm still waiting to hear from the ftp administrators
at a local site.  

   Thanks for the great response!

Kenny Toh
(ktoh@mascot.berkeley.edu)
(I'm really not a computer-graphics engineer, really!)

rkz@TYRANNOSAURUS.SCRC.SYMBOLICS.COM (Randy Zeitvogel) (09/11/90)

Please send me copy of your software

Randy Zeitvogel
Symbolics MACSYMA division
Development Manager and porting person

ktoh@cy.berkeley.edu (Kenny Toh) (09/12/90)

In article <27608@pasteur.Berkeley.EDU> ktoh@cy.berkeley.edu.UUCP (Kenny Toh) writes:
>Hi there folks, I was just catching up on my reading in this newsgroup
>and lo, I found this comment about a need for X11 3D plotting.
>Well, it just happen that I have do have a program which does 3D
>plots.  A brief description follows :
>
>NAME
>     pdraw - 3D plot program for X-windows and Postscript
>

Here's another update on the plotting programs.  These programs have been 
installed on the ftp account on scam.berkeley.edu (/src/local),
under the following names :

       3dplot.tar.Z
       contour.tar.Z
       drawplot.tar.Z

To get to these files, use the anonymous ftp.
A brief description of the programs follows :

       pdraw - 3D plot program for X-windows and Postscript
       contour - contour plot program for X-windows, HP2648s and Postscript
       drawplot - plot program for Sunview, X-windows, HP2648s and Postscript

To unpack : 

   (A) Type "uncompress [name].tar.Z"

   (B) Type "tar -xvf [name].tar"

   (C) Now go into the directory (3DPlot, Contour, Drawplot) and figure out
       how to compile.

Have fun with the code, please tell me of any modifications you might 
make (so that I can incorporate the changes into the code), and 
e-mail me if you have trouble.  Thanks for the interest.

Kenny Toh
(ktoh@mascot.berkeley.edu)
(I'm really not a computer-graphics engineer, really!)

P.S.  I will be submitting this to comp.sources.x sometime in the future,
      as soon as I can decipher the submission instructions.

P.S.S. Note : The programs listed here will do plots on different machines,
       according to the terminal type.  For example, contour will draw 
       hp2648 plots if it thinks it's on a 2648 terminal.  I test for this
       by checking the TERM environment variable.  So what does this mean?
       If you're trying to plot on an xterm which your machine calls
       'hpterm', then you'll have to reset your termtype to 'xterm'.
       If you don't do this, then the program will go directly to the
       postscript plotting routines, and you won't get a plot on your X
       screen.