Skip to content

A recursive constraint satisfaction algorithm that computes the pattern for a user inputted design.

License

Notifications You must be signed in to change notification settings

Norange01/FriendshipBraceletSolver

Repository files navigation

FriendshipBraceletSolver

A tool for finding the knots pattern, as well as the order of the initial threads needed, to get your custom friendship bracelet design! Check out this demo video of how it works.

Files:

  • GUI.py is the main file, uses TKinter and Solver.py to allow the user to input the target design and solve it through an intuitive user interface
  • Solver.py is the solving algorithm class, also contains visualization methods
  • visualize.ipynb was used for debugging the Solver algorithm
  • Testing.ipynb was used for assessing speed and time complexity
  • InputGenerator.py contains functions that automatically create valid target designs by starting with a random set of thread colors, applying random knots, and only returning the resulting colors