Skip to content

Latest commit

 

History

History
35 lines (22 loc) · 2.2 KB

README.md

File metadata and controls

35 lines (22 loc) · 2.2 KB

Tezze-Game

image

image

Using openCV, python to help solve Tezze puzzles. The photos of the tezze are taken via a gopro. A demo could be seen here-don't mind skipping about half a minute of this demo.

Main idea:

After a photo is taken, we find the circles and the individual segments within that circle. Then those individual segments could be rotated about their respective circle's center. After every rotation, a reassignment of the segments to the circles happens.

Inner Lobe:

image

The area where the two circles overlap is the lob. In my code structure, this area is also considered to be a circle. The segments with in this circle could be rotated by either of the outer circles.

60:

image

A rotation is only of 60 degrees. If you rotate a circle, you need a complete inner lobe for the other circle to be able to rotate. A rotation from one complete inner lobe to another complete inner lobe is only physically possible when you rotates between lobes by an angle of 60 degrees.

How to run?

  1. Connect your PC to a gopro's wifi.
  2. Go to the terminal and type "python3 Game.py"
  3. Take a photo of the tezze.
  4. Once the tezze is processed, you can use the keys "a","s","d","w".

Issues

image

I haven't been able to resolve these 2 issues:

  1. Noise: After a couple of rotaions, the segments lose their shape. This is because of approximations in shape processing around rotation which leads to some noise which adds up over time.

  2. Uneven rotation: All the segments within a circle do not rotate by the same amount. I know that there is some underlying data structure bug, but haven't been able to resolve it yet.