From: ccdps@levels.unisa.edu.au
Newsgroups: comp.os.msdos.programmer,comp.sources.wanted
Subject: Re: Graphing lib?
Date: 24 Sep 92 23:04:07 GMT
Organization: University of South Australia
NNTP-Posting-Host: sirius.itd.adelaide.edu.au
Originator: daemon@sirius.ucs.adelaide.edu.au

In article <19qiqdINN4v6@matt.ksu.ksu.edu>, danodom@matt.ksu.ksu.edu (Dan Odom) writes:

>   Does anybody out there have a Shareware/PD graphing library for C,
> preferably with source code?  I need C functions that will produce
> either GIF files or screen output (new term?) containing the graph
> of a function.  I need polar and Cartesian capability.  For MS-DOS,
> I can take source for Zortech, Microsoft, or Borland.  I can't use
> X, but something for Unix that saves the output to a GIF file would
> work.

Following is an announcement that appeared some time ago. I think the
project has advanced since then.

--

 Dan Shearer                        email: Dan.Shearer@UniSA.edu.au
 Computer Centre                    Phone: +61 8 302 3479
 University of South Australia      Fax  : +61 8 302 3385

X-News: levels comp.os.ms-windows.announce:8
From: maxtal@extro.ucc.su.OZ.AU (MAXTAL P/L)
Subject:Function Database/Graphing Tool. Any interest?
Date: 30 May 92 07:06:04 GMT
Message-ID:<206947@unix.cis.pitt.edu>


  We are preparing a function database.  This project will probably take
several months to become a finished product, so we are releasing a _very_
primitive version to find what people want.

  The file is called funbas00.exe and is a self extracting archive.
It is available via anonymous ftp from
        ftp.su.OZ.AU
in the directory
        pub/IBMPC/funbase

  Just type funbas00 to extract the files to the current directory.

  This is a PC program for Windows, version 3.0 and higher.  It is 3 .EXE files,
some .DLL files and some data files (.IDX and .DAT). 286 or above required.

  This might be called version 0.0.  The idea is that if you are prepared to
email us with criticism and advice, we will supply version 1.0 at no cost,
_and_with_complete_support_!.

  Yes, we know that the technical discussion below refers to unsupported
features, but all of these (and more) will be in v1.0.  Some additional
features we plan are:

        - multiple graphs per display
        - printing & clipping displays for use in other documents
        - import/export of data files from/to other formats, especially text
        - log and loglog scaling
        - coordinate transformation before fitting
        - numerical integration
        - analytic function display
        - anything else we happen to think of
        - ANYTHING THAT YOU DESPERATELY NEED

  We only intend to support R->R functions for the moment.  If there is enough
demand, we might put Rn->R functions later (much later, probably).

  So, this is the idea:

Design Concepts.
----------------

Funbase is designed as an extensible, open architecture, data modelling tool
for scientists, engineers and statisticians, for use under Windows 3.
Its principal purpose is to facilitate storage of experimental
results, and modelling of these data.

Experimental results are stored in function databases such as
'Hazardous Materials' with the fields

        Field           Type            Example
        -----           ----            -------
        Object          String          Propane
        Function        String          Saturated Vapour Pressure
        Reference       Ref Key         Experiment 27/5
        x value         double          20.7
        y value         double          200
        +error          double          2
        -error          double          2
        weight          double          1

There is also an associated reference file for each object file.

A number of models may be applied to the data, for example,
one may use an interpolation model such as polynomial
interpolation, or do a linear regression.
The resulting curve is plotted along with the sample points
on a graph for inspection.

A number of standard models are supplied with funbase, both
in binary and in source form, and the working scientist may create
new models and apply them to the data
to visually inspect the goodness of fit or validity of the model.
The model can also be used to extract tables of interpolated
data.

The funbase kernel takes care of the data management and display,
allowing the scientist to concentrate on the modelling
and programming of the algorithm, without being sidetracked
by storage problems or the user interface.

Furthermore, the same model can be applied to multiple functions,
or even the same function with selected references for data
comparison purposes, or, different models can be compared
with the same data.

The functions can also be constructed from within a user
written program, allowing access to the function
with the usual notation.

Although several standard graphing modules are supplied as standard,
these too can be written and added in by the end user or third
party vendors.

How it Works
------------

The modelling and graphing modules are implemented as Windows
Dynamic Link Libraries (DLLs) so that they may be upgraded,
or new modules added with no changes to the other parts
of the system. This allows third party support of these modules,
whether these be commercial vendors or other scientists
willing to supply their own modules freely.

Similarly, the kernel system itself, namely, funbase,
may also be upgraded without change to the current
working models or graphing modules.

Compatibility between modules is ensured, since these modules
must be designed according to specific interface specifications.
Funbase is written using Borland C++. Header files
with abstract specifications of how to implement the modules
are supplied, along with source for the standard modules
as examples.

--
;----------------------------------------------------------------------
        JOHN (MAX) SKALLER,         maxtal@extro.ucc.su.oz.au
        Maxtal Pty Ltd, 6 MacKay St ASHFIELD, NSW 2131, AUSTRALIA
;--------------- SCIENTIFIC AND ENGINEERING SOFTWARE ------------------

#! rnews 6476