4 ms·
I treat it as a "living document" and update it over time, especially to update links. The last few updates: * 2023-02: used the mouse event techniques I descr
by amitp 3y ago
I treat it as a "living document" and update it over time, especially to update links. The last few updates:
* 2023-02: used the mouse event techniques I described here: https://news.ycombinator.com/item?id=37703291 https://news.ycombinator.com/item?id=37703291
* 2023-02: added an interactive calculation of the number of hexagons in a spiral
* 2022-12: rewrote the introductory diagrams after trying out many alternative designs; wrote about it https://simblob.blogspot.com/2022/11/introduction-to-hexagons-part-1.html https://simblob.blogspot.com/2022/11/introduction-to-hexagon...
* 2022-10: removed server-side rendering, as it was complicating the build process, and it wasn't a clear win (page loaded slower)
* 2022-07: fixed some embarassing typos in the sample code (ugh)
* 2021-11: updated sample code to be easier to read and not use python-specific constructs; updated naming to be more clear about which code works on cube coordinates vs axial coordinates; filled in missing helper functions that I thought would be obvious but I should've included all along
* 2021-10: unified the hex implementation guide, which used q/r/s coordinate names for cube-hexagon and q/r for axial-hexagon and x/y for cartesian, with the hex theory page, which used x/z/y for cube-hexagons and q/r for axial-hexagons and x/y for cartesian. This was the last major update, as it involved updating all the text, diagrams, and sample code. The unification is something I had been wanting to do for several years but I knew it would take a while and it would also break "backwards compatibility" with everyone who had read the x/z/y version. It was especially tricky because x/z/y not x/y/z corresponded to q/r/s, and that's what led to the embarassing typos in code I had to fix later. And the change in order also changed which direction the rotation algorithm worked.
* 2021-01: updated the size & spacing diagram to visually show the relationships between the different measurements
* 2021-01: changed the hex and axis labels to try to make them correspond because it's a bit confusing; see https://simblob.blogspot.com/2021/01/hex-diagram-labels.html https://simblob.blogspot.com/2021/01/hex-diagram-labels.html
* 2020-12: added a section about reflections https://www.redblobgames.com/grids/hexagons/#reflection https://www.redblobgames.com/grids/hexagons/#reflection
* 2020-04: improved the labels on the cube/hex diagram to try to improve the correspondence between the diagram and text https://www.redblobgames.com/grids/hexagons/#coordinates-cube https://www.redblobgames.com/grids/hexagons/#coordinates-cub...
* 2019-04: rewrote the map storage section because I wasn't at all happy with how it was written before; I wrote up the change https://simblob.blogspot.com/2019/03/improving-hexagon-map-storage-diagram.html https://simblob.blogspot.com/2019/03/improving-hexagon-map-s...
* 2019-02: used IntersectionObserver to delay the diagram rendering until you reach that section of the page; this improves page load times
* 2018-05: added the "doubled" coordinate system. It's a pretty nice system, and I didn't know about it when I first wrote the page. I learned about it from rot.js.
I had lots more changes in 2018. I had just reimplemented the entire page (https://simblob.blogspot.com/2018/04/april-updates-hex-grid-guide.html https://simblob.blogspot.com/2018/04/april-updates-hex-grid-...) and that gave me lots of ideas of things to improve. I first rewrote it without changing the diagrams, but then went back and made lots of diagram and text changes.