A current @Jagmills project at the space involves making a handle out of leather disks, a type of handle commonly seen on knives and other hand tools:
In the rough:
And as a finished fully shaped handle:
@Jagmills currently has three different colours of leather pieces which he has laser cut to form the handle. A discussion about his work prompted @AndrewPatience to contemplate the idea of encoding a secret message in the construction of the handle.
The idea of using Morse represented by the different colour bands evolved. With three colours available it is possible to use one of them to indicate the break between Morse characters and the other two for the dot and dash symbols. It would be possible just to use two colours and so increase the number of symbols available for the message.
Exploring the idea showed up two challenges, calculating how many disks might be needed to convey a particular phrase and having a visual representation of the message to assess its aesthetic qualities.
For a little bit of fun I decided to try to mock up something to help with the design process, something which could convert text to Morse, give an estimate of the number of disks required for a message and offer some visual approximation to what it might look like.
Rummaging in my box of tools, I took out a RaspberryPi based copy of Mathematica.
The basic strategy was to convert normal text to Morse text, a string of dots, dashes and spaces between words, then to convert the Morse text to character codes and finally replace the character codes with appropriately coloured graphical elements to represent the arrangement of leather disks.
ToMorseCode[“a secret message”] → ".- /… . -.-. .-. . - /-- . … … .- --. . "
handle2D[“a secret message”, colours] →
And the same process in 3D:
handle3D[“one less trout”, colours, True] →