Designing Jigsaw Puzzles with Mathematica
I was browsing Mathematica user communities for original projects and came by the following question: "How can I calculate a jigsaw puzzle cut path?" Such creative problems are in abundance at our user forums, the Wolfram Demonstrations Project, and The Mathematica Journal, which tells me that Mathematica, at its heart, is a conduit for creativity: it's a programing language that likes the challenge of convoluted problems and inspires elegant, often unexpected solutions.
In its essence, a jigsaw puzzle is a tiling or tessellation, which means there are no gaps or overlaps between the pieces. Moreover, every piece is unique and has a definite place in the puzzle. Uniqueness is achieved by making a piece be a part of a large image, have a specific shape, or a combination of these. There are many approaches to producing such patterns. For instance, this single mathematical formula from our graphics examples produces a beautiful tessellation:
However, since this question was asked on Mathematica Stack Exchange, a young, modern technical Q&A site, it was very specific in accordance with the community rules. Here are the author's requirements:
All pieces must be unique to preclude placing a piece in the wrong spot.
Pieces must be interlocking such that each piece is held by adjacent pieces.
It must be possible to generate different paths (sets) for a specific shape that are not merely rotations or reflections of the first.
Additionally, the author of the question notes that he seeks original designs alternative to typical mass-produced shapes.