A pythonic solution to the 3D chinese wooden puzzle
Here's a funny story...
On valentine's day (2021) I received a gift from my girlfriend: a collection of 9 very difficult wooden puzzles. After a lot of work I was able to successfully solve 8 of them, but I got stuck on the last one. I spent almost one week on it, asked for help to friends and relatives, but with no luck. At this point I was very frustrated, when an idea popped into my head: why not use Python to destroy the puzzle? So here we are! This is the result of few weeks of hard work with a close friend of mine :)
Let's go straight to it! We were able to find 36 unique solutions to the puzzle! This is an example:
You can find all the solutions here: https://github.com/rambo1996/Chinese-Cube/tree/main/Chinese%20Cube%20Solutions
The whole code of the project is available as a jupyter notebook (Chinese_Cube.ipynb). In the notebook you'll find an accurate description of each cell and clear commented code.
We suggest to run it on Google Colaboratory, but it will work without problems even on a local machine (you'll need to install jupyter notebook).
If you are not interested in running the code, but you just want to take a look at it and check the cells' output, you can click on the following link: https://nbviewer.jupyter.org/github/rambo1996/Chinese-Cube/blob/main/Chinese_Cube.ipynb
If you used this project and you're interested in citing it here's how you do it (we would be very grateful!):
@Misc{,
author = {Francesco Rambaldi, Giacomo Berselli},
title = {{Chinese Cube}: A pythonic solution to the 3D chinese wooden puzzle},
year = {2021},
url = "https://github.com/rambo1996/Chinese-Cube"
}
- Numpy
- Itertools
- Matplotlib
- Mpl_toolkits
- Sys
- Tqdm
- Os
To buy the puzzle:
Francesco Rambaldi - rambocovers@gmail.com
Giacomo Berselli - berselligiacomo@gmail.com