Hexagonology - Biomatics.org

# Hexagonology

Jump to: navigation, search

# Hexagon

Regular hexagon

A regular hexagon, {6}
Edges and vertices 6
Schläfli symbols {6}
t{3}
Coxeter–Dynkin diagrams
Symmetry group Dihedral (D6)
Area
(with t=edge length)
$A = \frac{3 \sqrt{3}}{2}t^2$
$\simeq 2.598076211 t^2.$
Internal angle
(degrees)
120°

In geometry, a hexagon is a polygon with six edges and six vertices. A regular hexagon has Schläfli symbol {6}.

## Regular hexagon

A regular hexagon is constructible with compass and straightedge. The following is a step-by-step animated method of this, given by Euclid's Elements, movie IV, Proposition 15.

The internal angles of a regular hexagon (where all of the sides are the same) are all 120° and the hexagon has 720 degrees T. It has 6 rotational symmetries and 6 reflection symmetries, making up the dihedral group D6. The longest diagonals of a regular hexagon, connecting diametrically opposite vertices, are twice its sides in length. Like squares and equilateral triangles, regular hexagons fit together without any gaps to tile the plane (three hexagons meeting at every vertex), and so are useful for constructing tessellations. The cells of a beehive honeycomb are hexagonal for this reason and because the shape makes efficient use of space and building materials. The Voronoi diagram of a regular triangular lattice is the honeycomb tessellation of hexagons.

The area of a regular hexagon of side length $t\,\!$ is given by $A = \frac{3 \sqrt{3}}{2}t^2 \simeq 2.598076211 t^2.$

Also, it can be found by the formula A=ap/2, where a is the apothem and p is the perimeter.

The perimeter of a regular hexagon of side length $t\,\!$ is, of course, $6t\,\!$, its maximal diameter $2t\,\!$, and its minimal diameter $t\sqrt{3}\,\!$.

There is no platonic solid made of regular hexagons. The archimedean solids with some hexagonal faces are the truncated tetrahedron, truncated octahedron, truncated icosahedron (of soccer ball and fullerene fame), truncated cuboctahedron and the truncated icosidodecahedron.

## Related figures

 A regular hexagon can also be created as a truncated equilateral triangle, with Schläfli symbol t{3}. This form only has D3 symmetry. In this figure, the remaining edges of the original triangle are drawn blue, and new edges from the truncation are red. The hexagram can be created as a stellation process: extending the 6 edges of a regular hexagon until they meet at 6 new vertices.

## Hexagons: natural and human-made

Molecules spontaneously form honeycomb network

Anthraquinone molecules form chains of molecules that weave themselves into a sheet of hexagons on a polished copper surface. Credit: Ludwig Bartels's research group, UCR

#### Top 30 Molecular Shapes

Molecules are clusters of atoms joined like Tinkertoys. The range of possible structures is vast, but they can all be categorized by "molecular framework"—the underlying rings and connectors. Most common by far is the hexagon—a ring of six atoms, with one at each corner, that's the basis for nearly 10 percent of known organic compounds. Here are the top 30 most common frameworks, with frequency of occurrence in parentheses.

## Aromaticity

In organic chemistry, the structures of some rings of atoms are unexpectedly stable. Aromaticity is a chemical property in which a conjugated ring of unsaturated bonds, lone pairs, or empty orbitals exhibit a stabilization stronger than would be expected by the stabilization of conjugation alone. It can also be considered a manifestation of cyclic delocalization and of resonance.[1][2][3]

This is usually considered to be because electrons are free to cycle around circular arrangements of atoms, which are alternately single- and double-bonded to one another. These bonds may be seen as a hybrid of a single bond and a double bond, each bond in the ring identical to every other. This commonly-seen model of aromatic rings, namely the idea that benzene was formed from a six-membered carbon ring with alternating single and double bonds (cyclohexatriene), was developed by Kekulé (see History section below). The model for benzene consists of two resonance forms, which corresponds to the double and single bonds' switching positions. Benzene is a more stable molecule than would be expected without accounting for charge delocalization.

## Metatron's Cube

In early Kabbalist scriptures, Metatron supposedly forms the cube from his soul. This cube can later be seen in Christian art, where it appears on his chest or floating behind him. Metatron's Cube is also considered a holy glyph, and was often drawn around an object or person to ward off demons and satanic powers. This idea is also present in alchemy, in which the cube was favoured as a containment circle or creation circle.

Metatron's Cube

Flower of Life

The Flower of Life pattern contains the basis for the layout of Metatron's Cube. The Flower of Life has thirteen circles. If each circle's centre is considered a "node", and each node is connected to each other node with a single line, a total of seventy-eight lines are created, forming a type of cube. Within this cube, many other shapes can be found, including two-dimensionally flattened versions of the five Platonic solid. However, as can be seen by the illustrations below, the points of intersection in a flattened dodecahedron don't conform to the nodes of the circles, and thus the shape doesn't conform to Metatron's Cube as the other shapes do. This is because the Dodecahedron is formed by rotating the overall cube, which is a 3-dimensional object. By dividing the sides using the Golden Ratio, one can draw in the lines needed to form the dodecahedron on the 2-dimensional cube.[1]

## Hexagonal Closest Packing

Hexagonal Closest Packing (HCP) - To form a three-dimensional closest packed structure, the hexagonal closest packed planes must be stacked such that atoms in successive planes nestle in the triangular "grooves" of the preceeding plane. Note that there are six of these "grooves" surrounding each atom in the hexagonal plane, but only three of them can be covered by atoms in the adjacent plane. The first plane is labeled "A" and the second plane is labeled "B", and the perpendicular interplanar spacing between plane A and plane B is 1.633r (compared to 2.000r for simple hexagonal). If the third plane is again in the "A" orientation and succeeding planes are stacked in the repeating pattern ABABA... = (AB), the resulting closest packed structure is HCP.

# Hex Grids

## Contents

[hide]

http://sc.tri-bit.com/Hex_Grids

Hex grids are a critical component of many games, especially tactical and logistical games and games with unit engagement. Many game designers rely on hex grids for various reasons including visual appeal, unit movement simplification, a solved corner-step distance problem and superior flanking behavior. There are many grids to be chosen from, including triangular grids, super/sub grids, irregular grids and various approaches to 3D and heightmapped 2D.

Hex grids are also frequently a difficult point for novice coders, and often an extremely frustrating issue, given their superficial simplicity. They're actually not so hard, once you've broken them into their discrete problems, and tackled them one at a time. So, let's do some hex grid work: storage, rendering, and simple algorithms (A*, ray-cast and shadow-cast line of sight, and so on.)

Hex grids come in a variety of flavors. Let's start by making our choices clear.

## Orientation

Like any board shape, the hex can be spun on its center to reveal a "different" board. With a square grid, there are two immediately obvious sensible orientations: straight and diagonal. Similarly, with hexes, there are two sensible orientations. That said, they're difficult to name because of a curiosity about their geometry: the board, if measured by the distance from the center of the middle tile to an "outer edge" by tile traversal (ie, not a straight line), describes a hex. (Below you see two radius 4 hex grids.) A radius-N hex grid is itself hexagonal, but in the opposed orientation to the center tile; therefore, if there's a horizontal edge to the hex, then there will be a vertical edge to the grid, and vice versa. I choose to name them by grid orientation, not tile orientation; a horizontally-aligned grid is a grid on which one can move horizontally.

Horizontally Aligned

Horizontally aligned grids account for the majority of hex-based board games, presumably because a hex board that fills a rectangle will have two staggered edges, and making those the short edges is aesthetically more pleasing. The orientation of the board does not affect the game in any way.

### Vertically Aligned

Vertically aligned grids have a very slight advantage. It happens that there's a lucky and visually appealing tiling for vertically aligned grids of hexes to be drawn, such that the hexes are drawn with an isometric depth and can overlay one another, using only two grids of square image tiles (such as console game system background layers). Whereas that probably sounds like a bunch of mumble right now, by the end of the document it should be clear that in the case of limited gaming platforms this is an exceedingly neat and powerful little cheapo technique. We'll go with vertically aligned grids for this tutorial; changing to a horizontally aligned renderer isn't hard, but it's a pain in the ass to describe the system in vague terms to account for either, so let's just pick one for the time being. So, not because it's better for the game or for general practice, not out of aesthetics, but in order to support a cute hack that saves us some rendering time, it's vertical.

## Coordinate Systems

There are a bunch of approaches to coordinate systems for hex grids.

Horizontally staggered
vertical grid

Vertically staggered
horizontal grid

### Staggered

Staggering is probably the most common amateur method for handling hexagon boards. It's relatively straightforward and easy to implement, as long as a programmer follows the one-location implementation rule (because the staggers can be placed in various ways, handling stagger placement in multiple locations is an invitation to disaster.)

Still, staggering isn't nessecary, and implies a minor logic overhead, given that which two nearby hexes against the grain are in the same row varies from column to column, so there's a bit of branching and a bit of simple mask logic implied. Not a big deal for simple games, like Abalone, Halma (Chinese Checkers,) hex adaptations of Othello, Attaxx, Connect-4, et cetera. However, hen dealing with heavy-duty use of the underlying map, such as A* / Dijkstra's Walk, other pathfinding, areafinding, shadowcasting and raycasting algorithms, especially on big maps (say, Civ3 on hex), one is best advised to spend a little time to avoid the overhead. Luckily, a better answer isn't hard to find, as long as you're aware of other missteps.

Horizontally interlaced
vertical grid

Vertically interlaced
horizontal grid

### Interlaced

Interlaced is another, even stranger way to handle hex grids. One also sees it occasionally in 2d isometric systems (it's worth noting that one major commercial game uses this system, so there may be an underlying trick with which I'm not yet familiar. I do hope it's not about onscreen placement, as it doesn't save anyone any time.)

Interlacing involves tracking half the cells in the against-grain axis per span, and doubling the number of spans to compensate with the intermediary cells (much like doubling the vertical raster and skipping horizontal lines, the technique underlying interlaced video.) Examples to either side show the doubled rasters as thin green lines (hey, nobody said I was an artist.) This is even more of a pain in the butt to get correct reliably if not defined in exactly one place, and unless implemented in a very crafty fashion involves around twice as much overhead as staggering. Interlacing in my opinion is not a good approach (unless, again, there's some underlying trick that I'm not aware of in the large commercial game's implementation;) if you're not willing to distort as with trapezoidal (below,) use staggering, not interlacing.

### Flattened 3D

Hex mapped to 3D

I very much dislike this approach, but some smart people use it, so I'll mention it and link to it in passing then not say much more. Much as hex can be mapped to a 2d grid, it can also be mapped to a 3d grid. Fill each hex with three distributed radial corner lines, and you get the standard-issue cube orientation optical illusion. From that perspective, each hex is a cube, and the hex map is actually a diagonal surface of cubes described by m=1 in all three axes (just like a Q*Bert board, when you work with a horizontally-aligned hex grid.)

Therefore, from that perspective, in cubespace calling Z the visual vertical axis, X the axis pointing inwards and to the right, and Y the axis pointing inward and to the left, then you can develop a coordinate system (x,y,z) where X refers to Northeast/Southwest movement, Y to Northwest/Southeast, and Z to North/South. There are two curious upshots to this system. One is that movement is described axially, meaning that a movement along two axes (such as a knight in chess) is automagically added together as part of looking up the cell. The other is that cells do not have canonical locations. (1,1,0), (2,0,1), (0,2,-1), (3,-1,2) and (5,-3,4) are the same hex. This leads to various bizarre properties about reflection that may have some significant use, but which I do not care to fathom. Some people work very naturally in this system. I do not. Let us never speak of this again.

It's worth realizing that this can't be a storage coordinate system, but rather only a location coordinate system, because of the lack of canonical locations; there needs to be some function to translate the coordinaates into unique positions in storage, and every lookup needs translation into this underlying system, which can be expensive. This system is very natural for a small class of idealized hex games, of the likes of Halma, Stern-Halma (Chinese Checkers,) Abalone, and so forth, because one can simply make reference to locations by adding to the coordinate systems along all three synthetic axes. However, much like with the other two already-discussed systems (but much moreso) this system implies a significant amount of overhead and shouldn't be used when large board-intensive searches, such as A*, pathfinding and area selection need to be carried out.

### Trapezoidal

This coordinate system is based on the observation that a hex grid can be seen as a distrorted square grid, and is therefore actually a standard 2d grid and can be stored as such. This is a very fast solution, though implementing it in a general fashion is sometimes a bit of a hassle the first time around.

# Insect Eye

### Compound Eye

Major visual organ of adults and nymphs. Located on the side of the insect head, may be expanded to other areas.

Each compound eye is made up of a few to several thousand elements called ommatidia. The ommatidia is the visual sensing element of the compound eye. What is seen by the insect is a mosaic of "pictures" from each of the ommatidia. How the mosaic is integrated in the insect brain is not known.

Ommatidia - light gathering and sensing function, hexagonal or circular in shape.

 This is a good place to debunk the myth that insects have thousands of eyes and see myriad images. Each eye facet is more like a fiber optic filament, channeling light to the receptors. So, to the extent we can imagine what an insect "sees," it is probably more like a coarsely pixelated image on a TV screen rather than the multiple overlapping images so many popular books and educational shows like to portray.

# Hexagonal Fourier Transforms

Fourier filtering as a tool for investigating mechanisms of pattern formation.

 T.E.M. Images of Deinococcus radiodurans. Negatively stained TEM image of isolated S-Layer from D. radiodurans. Scale bar = 100 nm Computer enhanced TEM image of isolated S-Layer from D. radiodurans, from image at left. (Inset) Fourier transformation of image at left.

Abstract
The inherent nonseparable difficulty in 2D hexagonal sampled data can be overcome by choosing suitable periodicity and sampling basis, this will turn the original hexagonal data into very simple separable parallelograms, and then the rectangular polynomial transforms can be used to efficiently calculate 2D hexagonal convolutions; This algorithm is much faster than the hexagonal discrete Fourier transform method.
http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1171992