I want to generate a path to cut an arbitrary shape into a set of jigsaw puzzle pieces.
- 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.
Since jigsaw puzzles are mass produced there must be a known solution. However, my interest is not in simply implementing this solution, rather I am curious to know how one might approach this task, aided by MathemaitcaMathematica. I am also interested in alternatives to the standard puzzle piece such as these (even if pieces are not 100% interlocking):

