Trinity: *Twelve years ago I met a man, a great man, who said that no
one could be told the answer to that question. That they had to see it, to believe it. He told me that no one should look for the answer unless they have to because once you see it, everything changes. Your life and the world you live in will never be the same.*

This applet displays a Honeycomb of order

If you select "Mouse clicks select Hexagons", then you can select a group of hexagons and enlarge or shrink them together using the "Shrink" and "Enlarge", or "Shrink max" and "Enlarge max", buttons on the second row.

The honeycomb lives naturally in the plane `{(a,b,c): a+b+c=0}`.
Each line segment in the honeycomb has one of the three co-ordinates
`a,b,c` held constant, depending on the orientation of the segment;
the value of this constant co-ordinate is displayed in blue.

The constant co-ordinates
`(a_1, ..., a_n)`, `(b_1, ..., b_n)`, and
`(c_1, ..., c_n)` of the rays bounding the honeycomb are displayed
on the lower right-hand corner.

We have the following (quite non-trivial) theorem:

A quantized version of this is the following:

The honeycomb can be described by a triangular array of numbers which we call the "Hive": one number for each hexagon. Roughly speaking, the larger the number, the larger the hexagon.

The length of an edge in the honeycomb corresponds to a linear combination of four hive entries which are arranged in the dual rhombus. In the "flatspace" display of the hive, this rhombus is displayed negatively (by erasing the dividing red line) whenever the length of the corresponding edge vanishes. Flatspaces are always convex.

If one plots the hive as a 3D graph, the convex hull is a collection of triangles (some of which join up to form rhombi or larger shapes if some of the edges degenerate). We've colored each face according to its slope, hence as an edge degenerates the two adjoining faces become closer in color as well as orientation.

If it is not possible to enlarge any interior hexagon, or any collection
of interior hexagons, then we say that the honeycomb is an

By default, we've forced the edges of the honeycomb to be non-negative in length. For a more restrictive range of honeycombs, set the option "positive edges": this prevents the edges from degenerating entirely (unless they were initially degenerate). For something more risky, try "virtual edges", which removes all edge constraints entirely. Warning: the effect of a mouse click may become unpredictable if you have too many negative edges.

This applet was co-written with Allen Knutson. Comments, bug reports, and suggestions are always welcome.