I’ve started playing around with making jigsaw puzzles and have found a lot of the prior art to be very useful in getting me going quite quickly. After a bit of work though, I became less pleased with the generator I had found on here (Jigsaw puzzle generator). It was super useful but I found the amount of variation in the pieces was less than I desired.
Inspired to do more and with a desire to learn a bit of programming for Inkscape, I dove into understanding how it worked and what I could do differently.
For the most part, this is just a port of the work done for the generator above, but with one minor and one major change so far.
Minor change: the lines are colored for ease of separate jobs and the paths are oriented to minimize head travel (it should cut back and forth instead of only cutting one way).
Major change: the original code had fixed points for all the corners of the pieces - this meant that all the pieces were the same size just with different curves on the sides. I added one more random parameter that controls how much variation there is in the location of the corners.
A few examples:
With no random corners (so basically matching the original generator):
With a moderate amount of random:
With a lot of random:
And yes, with extreme values, it is easy to create puzzles with crossing lines - I didn’t try to prevent it (it was hard ) and left it up to the user to spot and avoid.
The main page of the github repro should have enough information to get the extension installed and used.
Would love to hear any feedback and/or ideas for other puzzle variations (or even better: submit a pull request!).