On solving 2D and 3D puzzles using curve matching | Synapse