Cubic honeycomb

From LifeWiki
Jump to navigation Jump to search

The cubic honeycomb (Schläfli symbol {4,3,4}) is the only proper regular tiling of three-dimensional space. It is constructed with four cubes being placed at each edge.

Almost all three-dimensional cellular automata investigated so far use the cubic honeycomb, due to it being the direct three-dimensional analogue of the familiar square tiling. Due to its support for three-dimensional Cartesian coordinates, most patterns and their habits are simple to characterize.

Coordinates, directions and displacements

Cartesian coordinate system

Much like the square tiling in 2D, the cubic honeycomb can be very easily described with Cartesian coordinates, as any combination of three integers will correspond to a unique grid cell.

Notating displacement

Cartesian coordinates allow for the very easy definition of directions and displacements of moving objects; one need only consider said object's displacement in the x direction, in the y direction and in the z direction in order to notate its overall displacement. As such, displacement can be notated as

(x,y,z)

where:

  • x is the object's displacement in the x-direction (usually the highest value)
  • y is the object's displacement in the y-direction (usually in the middle)
  • z is the object's displacement in the z-direction (usually the lowest value)

Displacement notation can also be used to notate directions in general, in which case all three numbers are usually positive and in descending order.

Notating velocity

For periodic moving objects such as spaceships, puffers, breeders and replicators, displacement can be used to notate the velocity of an object. The x-displacement, y-displacement, z-displacement and period of the object are then combined into a single string which describe the object's motion:

(x,y,z)c/p

where:

  • x is the object's displacement in the x-direction (usually the highest value)
  • y is the object's displacement in the y-direction (usually in the middle)
  • z is the object's displacement in the z-direction (usually the lowest value)
  • p is the object's period

c is not a variable, and instead is used to represent the object's velocity in relation to the speed of light.

Symmetric directions

There are three "symmetric" directions of travel which arise on the cubic honeycomb:

  • orthogonal, in which movement happens only on one axis,
  • diagonal, in which movement happens to the same extent on two axes, but no movement along the third,
  • paragonal, in which movement happens to the same extent on all three axes simultaneously.

There are also two "symmetric" planes:

  • an orthogonal plane corresponding to movement only on two axes.
  • a diagonal plane corresponding to along all three axes but to the same extent along two of them.

Neighbourhoods on the cubic honeycomb

The two most commonly investigated neighbourhoods on the cubic honeycomb are higher-dimensional analogues of 2D square grid neighbourhoods:

  • the von Neumann neighbourhood is the set of six cubes orthogonally adjacent to the central cube;
  • the Moore neigbourhood is the set of twenty-six cubes orthogonally, diagonally or paragonally adjacent to the central cube.

It is also possible to consider each "element" or "layer" of the 3D Moore neighbourhood separately: there are six orthogonal "face" cells (comprising the aforementioned von Neumann neighbourhood), twelve diagonal "edge" cells, and eight paragonal "vertex" cells. Unlike in 2D, the "vertex" neighbourhood is functionally distinct from the usual von Neumann neighbourhood, permitting its own different behaviour.

Using only "edge" cells corresponds to operating on an A3≅D3 root lattice. Using only "vertex" cells corresponds to operation on an A3*≅D3* dual root lattice.

Combinations of layers can also be considered: faces and edges, faces and vertices, or edges and vertices.

Given that the Moore neighbourhood in 3D is far larger than in 2D with respect to the number of cells, higher ranges do not appear to have been investigated so far.

Symmetries

Static

The static symmetries of the cubic honeycomb include the 16 inherited from the square tiling. Interestingly, the cubic honeycomb also has threefold symmetries which the square tiling does not have, which arise from the triangular vertices of a cube. These can be seen by slicing the cubic honeycomb with a plane tangent to a paragonal line.

There are a total of 92 possible symmetries on the cubic honeycomb, which are listed here alongside proposed symbols. The lowest symmetry, no symmetry, is C1. The highest symmetries are ±O24_c and ±O24_k, octahedral symmetry centered either on a cell or on a vertex. A discussion thread for naming symmetry types exists here.

Kinetic

Kinetic symmetries on the cubic honeycomb affect oscillators and spaceships. For oscillators, there are 245 mod-reducing kinetic symmetries, for a total of 337 possible oscillator time symmetries. There are also 65 spaceship symmetries.

Software support

Since most programs are intended for exploring two-dimensional rules, three-dimensional rule support usually only comes from dedicated programs. Desktop versions of Golly are bundled with the script 3D.lua, which supports running rules on a cubic honeycomb using the Moore, von Neumann, edges and vertices neighbourhoods. Ready also supports cubic grid rules.

Visions of Chaos also notably supports cellular automata on a cubic grid, although without editing capabilities.

A Luanti mod, Cellestial Game, supports 3D cellular automata as well.