<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
    <title>tessell.art - Blog</title>
    <subtitle>Design polygon tessellations in your browser or on your desktop.</subtitle>
    <link rel="self" type="application/atom+xml" href="https://3528b9a7.apex-site-80d.pages.dev/blog/atom.xml"/>
    <link rel="alternate" type="text/html" href="https://3528b9a7.apex-site-80d.pages.dev/blog/"/>
    <generator uri="https://www.getzola.org/">Zola</generator>
    <updated>2026-05-01T00:00:00+00:00</updated>
    <id>https://3528b9a7.apex-site-80d.pages.dev/blog/atom.xml</id>
    <entry xml:lang="en">
        <title>The 11 Archimedean tilings, one by one</title>
        <published>2026-05-01T00:00:00+00:00</published>
        <updated>2026-05-01T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://3528b9a7.apex-site-80d.pages.dev/blog/the-11-archimedean-tilings/"/>
        <id>https://3528b9a7.apex-site-80d.pages.dev/blog/the-11-archimedean-tilings/</id>
        
        <content type="html" xml:base="https://3528b9a7.apex-site-80d.pages.dev/blog/the-11-archimedean-tilings/">&lt;p&gt;The Archimedean tilings are the eleven edge-to-edge tilings of
the plane built from regular polygons in which every vertex looks
the same. Three of them — the &lt;em&gt;regular&lt;&#x2F;em&gt; tilings — use a single
polygon shape. The other eight mix two or three.&lt;&#x2F;p&gt;
&lt;p&gt;This post walks through all eleven, in roughly increasing
complexity. If you are unfamiliar with the notation, the
&lt;a href=&quot;&#x2F;blog&#x2F;how-to-read-vertex-notation&#x2F;&quot;&gt;primer post&lt;&#x2F;a&gt; covers it in
five minutes.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-three-regular-tilings&quot;&gt;The three regular tilings&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;3-3-3-3-3-3-triangular&quot;&gt;&lt;code&gt;3.3.3.3.3.3&lt;&#x2F;code&gt; — Triangular&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;regular_3-3-3-3-3-3.svg&quot; alt=&quot;3.3.3.3.3.3 triangular tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Six equilateral triangles meet at every vertex.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Six equilateral triangles meet at every vertex. The densest of
the regular tilings; the only one whose vertex angle (60°) divides
360° six times.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;4-4-4-4-square&quot;&gt;&lt;code&gt;4.4.4.4&lt;&#x2F;code&gt; — Square&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;regular_4-4-4-4.svg&quot; alt=&quot;4.4.4.4 square tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Four squares per vertex — the graph paper of tilings.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The graph paper. Four squares per vertex. Boring on its own;
fertile ground for everything that comes later.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;6-6-6-hexagonal&quot;&gt;&lt;code&gt;6.6.6&lt;&#x2F;code&gt; — Hexagonal&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;regular_6-6-6.svg&quot; alt=&quot;6.6.6 hexagonal tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Three hexagons per vertex, at 120° each.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Three hexagons per vertex, at 120° each. The dual of the triangular
tiling, and (not coincidentally) what bees converged on.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;mixing-two-polygon-shapes&quot;&gt;Mixing two polygon shapes&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;3-6-3-6-trihexagonal&quot;&gt;&lt;code&gt;3.6.3.6&lt;&#x2F;code&gt; — Trihexagonal&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-6-3-6.svg&quot; alt=&quot;3.6.3.6 trihexagonal tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Triangles fill the gaps between hexagons; every vertex sees both, alternating.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The most photogenic of the lot. Hexagons share vertices with each
other; triangles fill the kite-shaped gaps in between.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;3-12-12-truncated-hexagonal&quot;&gt;&lt;code&gt;3.12.12&lt;&#x2F;code&gt; — Truncated hexagonal&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-12-12.svg&quot; alt=&quot;3.12.12 truncated hexagonal tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Snip the corners off a hexagonal tiling to get dodecagons; the snipped corners become tiny triangles.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;Take &lt;code&gt;6.6.6&lt;&#x2F;code&gt;, slice each hexagon’s corners off, and you have
&lt;code&gt;3.12.12&lt;&#x2F;code&gt;. The big polygons have twelve sides apiece.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;4-8-8-truncated-square&quot;&gt;&lt;code&gt;4.8.8&lt;&#x2F;code&gt; — Truncated square&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_4-8-8.svg&quot; alt=&quot;4.8.8 truncated square tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Octagons sit on a square grid; the leftover corners form small squares.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The same trick on &lt;code&gt;4.4.4.4&lt;&#x2F;code&gt;. Octagons meet two-on-two-off, with
the gaps filled by small squares.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;mixing-three-polygon-shapes&quot;&gt;Mixing three polygon shapes&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;3-4-6-4-rhombi-trihexagonal&quot;&gt;&lt;code&gt;3.4.6.4&lt;&#x2F;code&gt; — Rhombi-trihexagonal&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-4-6-4.svg&quot; alt=&quot;3.4.6.4 rhombi-trihexagonal tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Hexagons, squares and triangles all share vertices.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;4-6-12-truncated-trihexagonal&quot;&gt;&lt;code&gt;4.6.12&lt;&#x2F;code&gt; — Truncated trihexagonal&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_4-6-12.svg&quot; alt=&quot;4.6.12 truncated trihexagonal tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;The most polygon-rich of the Archimedeans: square, hexagon, dodecagon at every vertex.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;3-3-3-3-6-snub-trihexagonal&quot;&gt;&lt;code&gt;3.3.3.3.6&lt;&#x2F;code&gt; — Snub trihexagonal&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-3-3-3-6.svg&quot; alt=&quot;3.3.3.3.6 snub trihexagonal tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Four triangles plus a hexagon at every vertex. Has a chirality the others lack.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;This one is &lt;em&gt;chiral&lt;&#x2F;em&gt;: the tiling is not its own mirror image.
There are two distinct snub trihexagonal tilings, one left-handed
and one right-handed. Most counts treat them as the same.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;3-3-3-4-4-elongated-triangular&quot;&gt;&lt;code&gt;3.3.3.4.4&lt;&#x2F;code&gt; — Elongated triangular&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-3-3-4-4.svg&quot; alt=&quot;3.3.3.4.4 elongated triangular tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Rows of triangles alternate with rows of squares.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h3 id=&quot;3-3-4-3-4-snub-square&quot;&gt;&lt;code&gt;3.3.4.3.4&lt;&#x2F;code&gt; — Snub square&lt;&#x2F;h3&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-3-4-3-4.svg&quot; alt=&quot;3.3.4.3.4 snub square tiling.&quot; &#x2F;&gt;
&lt;figcaption&gt;Squares tilted off-axis, with triangles filling the rotated gaps.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;p&gt;The last two both use only triangles and squares; what differs is
the order in which those polygons meet around each vertex.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;open-the-editor&quot;&gt;Open the editor&lt;&#x2F;h2&gt;
&lt;p&gt;Every one of these is buildable in the editor in a handful of
clicks. Try &lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;editor.tessell.art&quot;&gt;&lt;code&gt;editor.tessell.art&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;;
pick one and see how far you get before the geometry tells you
there is only one way it could possibly continue.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>How to read vertex notation</title>
        <published>2026-04-22T00:00:00+00:00</published>
        <updated>2026-04-22T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://3528b9a7.apex-site-80d.pages.dev/blog/how-to-read-vertex-notation/"/>
        <id>https://3528b9a7.apex-site-80d.pages.dev/blog/how-to-read-vertex-notation/</id>
        
        <content type="html" xml:base="https://3528b9a7.apex-site-80d.pages.dev/blog/how-to-read-vertex-notation/">&lt;p&gt;If you have spent any time around tilings you have probably seen
strings of digits separated by full stops — &lt;code&gt;3.6.3.6&lt;&#x2F;code&gt;, &lt;code&gt;4.8.8&lt;&#x2F;code&gt;,
&lt;code&gt;3.3.3.3.6&lt;&#x2F;code&gt;. They look like cryptic file extensions; they are in
fact one of the densest pieces of notation in mathematics.&lt;&#x2F;p&gt;
&lt;p&gt;Here is the rule. Stand at a vertex. Look at the polygons that
meet there. Walk around the vertex, in either direction, and write
down the number of sides of each polygon you pass.&lt;&#x2F;p&gt;
&lt;p&gt;That is it.&lt;&#x2F;p&gt;
&lt;figure class=&quot;notation-figure&quot;&gt;
&lt;img src=&quot;&#x2F;img&#x2F;semiregular_3-6-3-6.svg&quot; alt=&quot;A 3.6.3.6 vertex.&quot; &#x2F;&gt;
&lt;figcaption&gt;At every vertex of &lt;code&gt;3.6.3.6&lt;&#x2F;code&gt;: triangle, hexagon, triangle, hexagon. Four polygons, alternating.&lt;&#x2F;figcaption&gt;
&lt;&#x2F;figure&gt;
&lt;h2 id=&quot;same-vertex-many-spellings&quot;&gt;Same vertex, many spellings&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;code&gt;3.6.3.6&lt;&#x2F;code&gt; and &lt;code&gt;6.3.6.3&lt;&#x2F;code&gt; describe the same vertex — you just started
walking from a different polygon. So do &lt;code&gt;3.6.3.6&lt;&#x2F;code&gt; reversed
(reading anticlockwise instead of clockwise) and any rotation of
those.&lt;&#x2F;p&gt;
&lt;p&gt;So a vertex configuration is really an &lt;em&gt;equivalence class&lt;&#x2F;em&gt; of
strings: anything related to the others by rotation or reflection
is the same vertex. We pick a canonical representative — usually
the lexicographically smallest rotation — when we need a unique
spelling for, say, comparing two tilings programmatically.&lt;&#x2F;p&gt;
&lt;p&gt;This is exactly what the &lt;a href=&quot;&#x2F;libraries&#x2F;ring-seq&#x2F;&quot;&gt;&lt;code&gt;ring-seq&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;
library is for. Treat the string as a ring; the smallest rotation
is the canonical form.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;more-than-one-kind-of-vertex&quot;&gt;More than one kind of vertex&lt;&#x2F;h2&gt;
&lt;p&gt;Some tilings have more than one &lt;em&gt;kind&lt;&#x2F;em&gt; of vertex. The notation
extends naturally: list each vertex configuration, separated by
semicolons. &lt;code&gt;3.3.4.3.4 ; 3.3.4.12&lt;&#x2F;code&gt; is a 2-uniform tiling — two
distinct vertex types, each appearing repeatedly.&lt;&#x2F;p&gt;
&lt;p&gt;The number of distinct vertex types is the tiling’s
&lt;em&gt;uniformity&lt;&#x2F;em&gt;. The 11 Archimedean tilings are 1-uniform; there are
20 known 2-uniform tilings; the count grows fast.&lt;&#x2F;p&gt;
&lt;p&gt;For a fuller treatment — &lt;em&gt;k&lt;&#x2F;em&gt;-uniform tilings, the 11 Archimedean
tilings, and a short glossary — see the
&lt;a href=&quot;&#x2F;docs&#x2F;notation&#x2F;&quot;&gt;notation primer&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</content>
        
    </entry>
    <entry xml:lang="en">
        <title>Introducing tessell.art</title>
        <published>2026-04-15T00:00:00+00:00</published>
        <updated>2026-04-15T00:00:00+00:00</updated>
        
        <author>
          <name>
            
              Unknown
            
          </name>
        </author>
        
        <link rel="alternate" type="text/html" href="https://3528b9a7.apex-site-80d.pages.dev/blog/introducing-tessell-art/"/>
        <id>https://3528b9a7.apex-site-80d.pages.dev/blog/introducing-tessell-art/</id>
        
        <content type="html" xml:base="https://3528b9a7.apex-site-80d.pages.dev/blog/introducing-tessell-art/">&lt;p&gt;Tessell.art is a place to design polygon tessellations — squares,
triangles, hexagons and friends, arranged so every edge meets
edge-to-edge. It is two things at once: an editor for making
tilings, and a small set of foundation libraries we extracted
from the editor along the way.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-editor&quot;&gt;The editor&lt;&#x2F;h2&gt;
&lt;p&gt;The editor runs in your browser at
&lt;a rel=&quot;external&quot; href=&quot;https:&#x2F;&#x2F;editor.tessell.art&quot;&gt;editor.tessell.art&lt;&#x2F;a&gt; and as a native
build for macOS, Windows and Linux. Pick a polygon, click an
existing edge to grow the tiling, fan polygons around a vertex,
mirror a region. Export to SVG when you are happy.&lt;&#x2F;p&gt;
&lt;p&gt;The editor is bilingual: English and Spanish. The site is English
only for now, but the editor itself is not.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;the-libraries&quot;&gt;The libraries&lt;&#x2F;h2&gt;
&lt;p&gt;Building Tessella surfaced one piece of code that was not really
about tessellations: cyclic-sequence operations. Vertex
configurations are sequences-as-rings, so we extracted that
behaviour into &lt;a href=&quot;&#x2F;libraries&#x2F;ring-seq&#x2F;&quot;&gt;&lt;code&gt;ring-seq&lt;&#x2F;code&gt;&lt;&#x2F;a&gt; — and ported it
to Scala, Rust and Python so it does not pull anyone into the JVM
who does not want to be there.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;dcel&lt;&#x2F;code&gt; (a doubly-connected edge list, the data structure that
powers the editor’s geometric model) is queued behind it.
That one stays Scala-only, at least for the foreseeable future.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-is-not-here&quot;&gt;What is &lt;em&gt;not&lt;&#x2F;em&gt; here&lt;&#x2F;h2&gt;
&lt;p&gt;This site does not teach tessellation theory from scratch. The
&lt;a href=&quot;&#x2F;docs&#x2F;notation&#x2F;&quot;&gt;notation primer&lt;&#x2F;a&gt; explains how to read &lt;code&gt;3.6.3.6&lt;&#x2F;code&gt;
and how the 11 Archimedean tilings work, but it assumes you arrived
already curious.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;what-is-next&quot;&gt;What is next&lt;&#x2F;h2&gt;
&lt;p&gt;A gallery of curated tilings, deep-link from gallery into the
editor, and more… None
of those are here yet; they are on the v2 list. The blog is the
place we will say so when they land.&lt;&#x2F;p&gt;
</content>
        
    </entry>
</feed>
