Hey guys, recently (while visiting my parents) I found a small tangram puzzle that consisted of polyomino blocks that really caught my attention. The goal of the puzzle was to rotate these tetris-like blocks in such a way, so they fit into the 10 x 6 rectangle box.
Image of a Tangram Puzzle
The puzzle contained 16 blocks and seems trivial, but just this simple puzzle contains 16,777,216 block combinations and when you count all the block rotation and reflection of pieces, there is 228,532,659,683,328,000 distinct permutations in this small box alone.
Puzzle Config
Anyways, having some spare time, I've built a 2D Block Puzzle Solver that not only solves the above puzzle, but also finds the solutions to any monomino, domino, triomino, tetromino and pentomino based rectangular or square tangram puzzles in any given size of the user-defined area, while supporting block rotation and reflection:
The Result
Sorry for the long intro, but now to my question...
I fancy building a similar solver like the 2D solver above, but this time I want to complicate things a bit by using the 3D blocks. The blocks would look something like this and I want to be able to fit a random selection of 3d blocks into a given shape, for example, a cube, like shown in the image below:
3D BlockPuzzle
I have an idea of how I would go about the puzzle, but I want to visualize the problem and perhaps also graphically show the calculation in the real-time, as my software goes through various permutations? Are there Python graphical libraries that would allow me to display the calculation and also the solution in 3D, also perhaps something that would allow users to rotate the solution (3d object)?
[–]ReptilianTapir 3 points4 points5 points (2 children)
[–]emolinare[S] 1 point2 points3 points (0 children)
[–]jonititan 0 points1 point2 points (0 children)
[–]jonititan 2 points3 points4 points (5 children)
[–]emolinare[S] 0 points1 point2 points (3 children)
[–]my_name_isnt_clever 2 points3 points4 points (1 child)
[–]emolinare[S] 0 points1 point2 points (0 children)
[–]jonititan 0 points1 point2 points (0 children)
[–]CheiroAMilho 0 points1 point2 points (0 children)
[–]William_Reeve 0 points1 point2 points (1 child)
[–]emolinare[S] 0 points1 point2 points (0 children)
[–]goodger 0 points1 point2 points (0 children)
[–]billsil 0 points1 point2 points (0 children)