Mini Bio

My PhD research was in computer science and complexity science, although I also published in web-technologies (and even paleontology!) I have founded, run and sold a high-tech business based on my research and written two technical text-books published by Elsevier.

More »

Celtic Knots

November 18, 2008

In developing a system to automatically generate "hand-drawn" maps from GIS data, I decided the final map might look good with some Celtic Knotwork surrounding it.

I live in Wales, and Celtic Knots are mostly associated with Ireland, but there are a few around this neck of the woods too.

Unfortunately, the knot work doesn't look great in context, so it won't make the cut, but it is quite an interesting problem.

The Book of Durrow Carpet Page Imitation. In the small enlargement notice that there are three different band patterns crossing, two have three strands (one with a white center strand, the other with a red center strand), and the other has two strands (brown and green).

There are two basic ways to do knotwork. One treats each crossing point as a cell: two bands come in from the corners, they either leave on the opposite corner (so crossing), or they leave on one of the adjacent corners. This seems to be the approach that most people use to draw their own. Unfortunately it doesn't work well where the design calls for long single strands, because these single strands end up wobbling.

Instead you can divide your grid into cells half the size and follow the approach of Andy Sloss (Sloss 1995). This turns out to be easier to do digitally, as it requires less artistic touch up.

One thing I wanted, that both methods don't provide, is the ability to have bands with different numbers of strands. Some knot patterns have dual stranded bands, but I couldn't find any that mixed different numbers of strands. When you are consistent and use the same number of strands throughout a celtic latticework, it is easy to work out which direction the bands should cross at any given crossing point. The same isn't true when you have different bands with different numbers of strands in the design at the same time. You need to follow the bands and work out their crossings manually. This was the largest job in the code.

An intermediate part of the algorithm where the system works out which bands are on top at each crossing point. The green spots indicate that there are no inconsistencies in the final assignments.

So I put together a large (but not terribly intricate) example, based on the Book of Durrow carpet page. It uses several different designs at different resolutions on the page. The main cross design is actually a celtic knot following a maze: I generated a simple Perfect maze design, then lay the celtic knot within it.

The final result is pleasing, but not terribly useful!

Since doing this I found Christian Mercat's (Mercat 2007) approach using graph theory, which is fun and a play-topic for another day.

Bibliography

Mercat, Christian. 2007. Celtic knotwork, the ultimate tutorial. http://www.entrelacs.net/.

Sloss, Andy. 1995. How To Draw Celtic Knotwork: A Practical Handbook. Sterling, June 30.