HomeThe Gishur ProjectJava AppletsLinks



Gishur is a java class library. The main goal of gishur is to provide a platform independent, object oriented, flexible and efficient framework to implement and visualize geometric algorithms.

Although java programs for language design reasons can never be as run time efficient as C programs, Gishur is trimmed to be efficient. The choice of java offers some major advantages over C. Most significant are Java's platform independence and it's object oriented design. Moreover, there is substantial hope that the run time gap between java and conventional C compilers will become smaller in the future.

About Gishur

Gishur provides a variety of basic data structures, geometric objects and algorithms combined with a flexible core visualization environment.

The current version 2.5 of Gishur is based on Java 1.1. Probably I will switch to Java 2 when it becomes more common. In addition to basic data structures and methods the algorithm library contains more complex algorithms including the computation of the visibility polygon and skeleton (medial axis) of simple polygons, segment intersection sweep and polygon intersection sweep. Just look at the samples page.

Gishur consists of several packages with different functionality:

  • gishur.core - Basic data structures as lists and balanced trees; sorting algorithms, sweep structures.
  • gishur.x - Plane geometry objects: lines, rays, segments, parabolas, circles and polygons and many basic geometric algorithms like intersection methods, transformation methods. Also included more lavish algorithms like visibility polygons, skeleton algorithms, segment and polygon intersection sweeps and much more.
  • gishur.gui - Support for easily displaying and modifying graphical objects. This is not limited to classes from gishur.x! For many classes of gishur.x exist displayobjects for displaying and inputhandler for modifying and input.
  • gishur.awt - AWT enhancements like symbolbars and more.
  • gishur.applet - Support for running applets as applications and other enhancements.

Project Status

Further data types and algorithms are integrated, the existing ones are improved and the documentation is revised.

Demo-Applets / Applications:

You can try some demo applets showing the power of Gishur at the Java-Applets page.


The Gishur API Documentation is available online [English/German].

Download Gishur:

To develop your own applets or applications with Gishur execute the following steps:

  1. Download the modules of gishur you need:
    • gishur_core.jar (172 KB)
      The core classes.
    • gishur_gui.jar (81,8 KB)
      The old visualization engine.
    • gishur_gui2.jar (98,1 KB)
      The new visualization engine.
    • gishur_graph.jar (91,2 KB)
      The graph package (only new visualization engine is supported).
    • gishur_x.jar (71,7 KB)
      The old classes for plane geometry (old and new visualization engines are supported)
    • gishur_x2.jar (29,3 KB)
      The new classes for plane geometry (only new visualization engine is supperted) - still not finished.
  2. Download gishur_doc.zip (1,55 MB) with the Gishur API Documentation [English/German].
  3. Put all downloaded .jar files in your CLASSPATH variable.

If you are writing applets or applications with Gishur, please tell me your experience and send comments to wolf@lupinho.de. You can also contact me, if you are interested in parts of the source code.


Programming with Gishur is simple. Soon I will put some demo-applets here to demonstrate this. That far please contact me, if you are interested in programming with Gishur.
[under construction]



Thomas Wolf

last modified 30/03/2000, (c) 1999 by Lupinho.