

What
is it about
Keywords: Computational Geometry, Programming Environment,
Algorithm Animation, Dynamic Visualization, Voronoi Diagram,
Delaunay Triangulation, Convex Hull, Euclidean Minimum Spanning
Tree
GeoLab (which stands for Computational Geometry Laboratory)
was developed at the Institute
of Computing at UNICAMP (State
University of Campinas) as a programming environment for
implementation, testing and animation of geometric algorithms. GeoLab
was conceived to be a tool for the working researcher or a group
of them, since at its root lie the use of shared libraries of
algorithms and an incremental approach to aggregating new types
of geometric objects, data structures and extensions accessed
through dynamic linking.
GeoLab is written in C++ and makes extensive use of object
oriented programming for a hierarchical modeling of geometric
objects and of geometric algorithms. It currently has about 40
algorithms in its dynamically linkable libraries which are made
up of roughly 45,000 lines of C++ code (plus an additional
30,000 lines for
the environment itself).
Animation Modes
Two animation modes supported by GeoLab are illustrated in
the accompanying video. The first mode is called dynamic move.
It basically animates the geometric objects produced by any
given algorithm as the input undergoes changes in real time
conducted interactively by the user manipulating the mouse. No
changes in the code of the algorithms are required for this mode
to operate. This mode serves well the purpose of illustrating
the relationships between input data and output geometric
constructs, which is of great value for teaching computational
geometry.
The second mode, which is truly characterized as algorithm
animation, requires the inclusion of code for graphical display
of the geometric actions performed by an algorithm. In order to
ease this task, a library of graphical routines, the "GeoLab
Animation Toolkit," is provided so that programmers need not use
the lower level Xlib functions.
Key
Benefits

A
graphical and interactive programming environment for the
manipulation of geometric models; 

Mechanisms
for the inclusion of (dynamically linked) new algorithms
and external geometric objects; 

Support
for algorithm animation; 

Support
for analysis and debugging; 

Tools
for handling secondary storage; 

Input
generators for program testing. 
References

You
may read about GeoLab in: 
 This paper: P. J. de Rezende and W. R.
Jacometti. GeoLab: An Environment for Development of
Algorithms in Computational Geometry. Proceedings of the 5th
Canadian Conference on Computational Geometry. Waterloo,
Canadá: University of Waterloo, 1993. p. 175180.
Available here in this report: P. J.
de Rezende and W. R. Jacometti.
GeoLab: An environment for development of algorithms in
computational geometry. Technical Report 26/93,
Institute of Computing, UNICAMP, 1993.
 This short paper: P. J. de Rezende and W. R.
Jacometti. Animation of Geometric Algorithms using GeoLab. In:
Proceedings of the 9th ACM Simposium on Computational
Geometry. New York, EUA: Association for Computing Machinery,
1993. p. 401402.
Available here in this report: P. J.
de Rezende and W. R. Jacometti.
Animation of Geometric Algorithms using GeoLab.
Technical Report 101a, Systems Research Center (DEC/SRC),
1994, p. 2226.
 This video: P. J. de Rezende and W. R.
Jacometti. Animation of Geometric Algorithms using GeoLab. In:
Video Review of the 9th ACM Simposium on Computational
Geometry.
Available as: Technical Report 101b, Systems Research
Center (DEC/SRC), 1994.
License
Terms

Open
Source License
GeoLab is available under an Open Source
license. More exactly, it is under the GPL License. If
you intend to modify or write your own software based on
components of GeoLab , make sure you read the
GPL
license and abide by the terms therein.

Download
Contact
Information
If you have questions not answered in these pages, feel free to
contact us. However, we should point out that all the
documentation we have available is posted here.
 People involved

 Pedro J. de Rezende
 Welson R. Jacometti
 César N. Gon
 Laerte F. Morgado
 Electronic mail
 General Information:
 Postal address
 Institute
of Computing, UNICAMP, Campinas SP, Brazil
 Telephone
 +55
19 35215860
 FAX
 +55
19 35215847
