Generalized Balanced Ternary is a fairly obscure but very elegant method of indexing a hex grid, using only a single integer coordinate. Operations like addition and multiplication on these coordinates have intuitive effects: translation and rotation respectively.

The only difficulty with GBT is calculating the magnitude of a vector given its coordinate, or alternatively, of decomposing it into a series of one-unit steps. Is there a standard method of doing this?

  • \$\begingroup\$ This looks similar to a system I've seen asked about previously, called "Spiral Honeycomb Mosaic". You may be able to adapt the method shown there to convert into a more conventional representation to generate the magnitude. It looks at a cursory view like only the sequence of terms in the lookup tables would need to change. \$\endgroup\$ – DMGregory Jul 2 '17 at 1:39
  • \$\begingroup\$ @DMGregory Oh excellent! Yeah, Spiral Honeycomb Mosaic is a type of GBT with a different order of the digits. Makes the addition table weirder imo but works just the same. \$\endgroup\$ – Draconis Jul 2 '17 at 3:20

Your Answer


Browse other questions tagged or ask your own question.