Lattice Drawing

Exciting the new applications A brief explanation, instructions, history.

If you are reading this if means your browser is not setup to support Java.

LatDraw has its own webpage!!

New Applications of this Applet and Lattice Drawing Component

Brief Explanation

This demonstrates my program for automatically generating lattice diagrams from abstract representations of lattices (or partially ordered sets). The goal is not make diagrams suitable for publication (I have a different program for that) but to allow my symbolic algebra program for lattices to be able to make a recognizable picture.

The program first calculates a rank function on the ordered set and uses this to determine the height of the elements. It then places the points in three space using the rank for the height, i.e., for the z-coordinate. The points of the same rank are arranged around a circle on a plane parallel to the x-y plane. Now we imagine forces acting on the elements. Comparable elements are attracted to each other while incomparable elements are repulsed.

These forces are applied several times in three phases. In the first phase the repulsive force is set to be very strong; in the second phase the attractive force is strong; and in the final phase the forces are balanced. You get each of these phases by pressing the Next button. The original program tried several projections from 3-space to 2-space, choosing the best one. With this demo you should use the rotation buttons to get the best projection.



In the early 1980's I wrote programs to calculate in free lattices. Each element of a free lattice has a finite lattice associated with it which determines the important properties of the element. My program calculated this lattice but I needed to diagram it to see quickly what it was. I thought this would be easy: I would arrange the elements in levels and draw lines between covering pairs of elements. This produces a correct diagram (ignoring lines inadvertantly crossing over elements) but I soon discovered that even small lattices were unrecognizable using this drawing algorithm. Over the years the drawing program as been improved to its present form.

Chapter 11 of my joint book with J. B. Nation and Jarda Jezek, Free Lattices, which covers algorithms for finite lattices, includes some additional information on our drawing algorithm.

Standalone Version

This Java program can be run standalone, available at With this you can input a file that describes your lattice by it upper covers. It could then be linked to other programs.

email:email me
Last updated: Jul 17, 2013
Ralph Freese