Hacker News new | ask | show | jobs
by samfpetersen 3977 days ago
Very true. And I steered away from squares due to the "swastika effect". Also because the information is slightly more dense with a system based on triangles - 6 bits at a given vertex versus 4 bits.
1 comments

Ha, you got me for a second. The bits aren't "stored" inside the vertex, but in the segments: It would be like saying that the space between bits "{0,1} {0,1}" contains 2 bits of information, and that we could encode more compactly by disposing bits around a circle, hence maximizing the number of bits in the center space. So given a triangular/square grid, the number of traceable segments is what matters (and that's where the ink goes too.)

I agree that triangles look a lot better than squares (to the point that the "swastika effect" is indeed a problem, even though the drawings are generated by a human, and not randomly.) However, they are also very hard to draw properly.

To recover the QR code decentralization, have you tried to encode data inside your triangular grid? You would loose the "drawable" property (due to the size), but the result would still look more interesting than the pixel junk of QR codes (and you could enforce "connectivity" for aesthetic and error correction.)

'Maxicode' uses a hexagonal pattern to encode the data - it's probably how this idea would evolve if you wanted to store the data in the pattern itself:

https://en.wikipedia.org/wiki/MaxiCode