3-7 GRAPHICS AND VISUALIZATION
*******************************
(Thanks to Andery Sigalov for the information and useful comments)
It is rarely sufficient to display computation results in a printed
table or some similar way. Sometimes the volume of the results is
very large, usually they are the values of a scalar or vector field
in one, two, or three dimensions.
In almost every case you need to display the results in a way suitable
for visual analysis.
Directly controlling display devices is difficult, display devices
are complex, the documentation needed for writing programs that
control them is difficult to get, you may need to work with more
than one display device (for example a terminal and a printer).
Another problem is that just writing a point or a line on the display
device is not enough, you have to draw frames, axes, tic marks, varied
size text. If you need to display your data with contour lines or
three dimensional surfaces you have to do a lot of complicated computing.
you should call graphical routines from your program, or write the
results to a file that will be read by an interactive graphics program.
Practical classification of graphical software
----------------------------------------------
Graphical environments
Complete software systems, integrated with the operating system,
that can manage windows on the screen, perform graphical I/O for
all the windows/processes (draw on the screen, get input from the
keyboard and mouse), possibly handle communication over the network,
and of course provide a graphical library that can be accessed by
user programs. Various utility programs may also be included.
(X-windows, Microsoft Windows).
Basic 2D graphics libraries
Graphical libraries that provide routines for drawing simple 2D
geometric shapes (also called objects, primitives), e.g. lines
circles,
(GKS, Xlib).
Basic 3D graphics libraries
Graphical libraries that provide routines for drawing simple 3D
objects ...
(GL, Open GL, Phigs)
2D widget libraries
Provide routines that create and operates widgets - graphical
objects used for interactive control and data input, e.g. dials,
sliding buttons etc.
(MOTIF)
High level libraries
Provide routines for 3D graphics and widgets and in addition
also routines for visual data processing (contours, vector-fields)
(Inventor, AVS/Express, DISPLA)
Visualization libraries
EXPLORER, AVS, ToolMaster
Overview of graphical software
==============================
Name | Description | Originating | Popul
| | organization | arity
---------------|-------------------------------|------------------|--------
CGI | Interface 2D (?) | ISO (1991) | 0
---------------|-------------------------------|------------------|--------
X-windows | Low-level 2D environment | MIT X-consortium | 5
| contains the Xlib library | |
---------------|-------------------------------|------------------|--------
WIN32 API | Low-level 2D library | Microsoft | 5
---------------|-------------------------------|------------------|--------
GKS (Graphics | "classic" 2D library | ISO (1985) | 3
kernel system | | |
---------------|-------------------------------|------------------|--------
GKS/3D | "primitive" 3D library | ISO (1988) | 0
---------------|-------------------------------|------------------|--------
PHIGS | Old 3D library, list directed | ISO (1989) | 3
---------------|-------------------------------|------------------|--------
PHIGS PLUS | PHIGS + lighting control | ISO (1992) | 3
---------------|-------------------------------|------------------|--------
PEXlib | 3D extension to Xlib | MIT X-consortium | 2
---------------|-------------------------------|------------------|--------
OpenGL | Advanced 3D library, | consortium | 5
| window-system independent | developed by SGI |
---------------|-------------------------------|------------------|--------
PostScript | 2D page description language | Adobe | 5
---------------|-------------------------------|------------------|--------
CGM | "classic" 2D metafile | ISO (1992) | 3
---------------|-------------------------------|------------------|--------
Open Inventor | Advanced 3D Object Oriented | consortium | 3
| toolkit, based on OpenGL | licensed by SGI |
---------------|-------------------------------|------------------|--------
VRML | 3D interactive format | consortium | 3
---------------|-------------------------------|------------------|--------
It would be impossible to recommend here a graphical package, there
are so many of them, and anyway you usually have what someone else
decided to purchase.
Three remarks may still have some value:
Silicon Graphics has nice libraries, the low-level OpenGL and the
high-level Inventor. Their interactive program is called Explorer.
AVS from AVS/UNIRAS is a very popular interactive program.
GNUPLOT is a simple FREE interactive program, works on lots
of display devices and comes with source code!
Visualization is a rapidly developing field, it is highly recommended
to consult experts before embarking on a new project. To get more
information you may send mail to: andrey@cc.huji.ac.il
Evolutionary tree for graphics libraries
========================================
GKS
1985
| Xlib
GKS3D 1987 GL
1988 PHIGS _______|_______ 1988
1989 | | |
| PEX | |
| 1990 | |
PHIGS PLUS | | | CGI
1992 | | | 1991
|____________| | OpenGL
| | 1993
PEXlib Xlib |
1994 1994 OpenGL
Open Inventor
VRML
1995
Return to contents page