Skip to content

MUST-Quick-Fry/Tangram_Pieces_Matching_Recognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tangram Pieces Matching Recognition

description   stars   forks   contributors

       

The tangram is a dissection puzzle consisting of seven flat pieces, which are put together to form shapes. This programme implements 4 algorithms DFS, BFS, A* and SA to search the solution of all 13 convex polygons built from all the seven pieces.

Table of Contents

Development Environment

Attribute Content
Programming Language C++11 & python (3.9.0)
IDE Visual Studio Code & PyCharm
Third-party libraries PyQt 5.15.2 & pyqt5-tools 5.15.2.3.0.2
Supporting architecture 32 & 64
Required DLL msvcp140d.dll , ucrtbased.dll and vcruntime140d.dll

Install

git clone https://github.com/MUST-Quick-Fry/Tangram_Pieces_Matching_Recognition

Usage

Algorithm programme

For algorithm part, we use C++11 because it has generic and functional features in addition to facilities for low-level memory manipulation.

Supporting ISO C++11 language features and libraries., We tested compilation using g++(GNU C++ Compiler version 9.3.0), with commands as below :

g++ −std=c++11 [CPPFILE] [−o EXE]

Besides, you can also use CMake with version 3.18.2 to build and run code, more details can be seen in ./Algorithm/CMakeLists.txt.

GUI programme

For GUI part, we use Python because high stability of libraries can easily encapsulate visual and interactive software.

Following template PyInstaller to create the execution, the command is used as below :

pinstaller  [−F]  [−w]  [PYTHONMAINFILE]  [−p PYTHONPATH]  [−−hidden−import MODULENAME]  [−i .ico]

Executable

There are software in encapsulation by source code in Release --- ./dist-x86 and ./dist-x64. We already download the required DLL files as listed in table, DO NOT remove or rename DLL files and the Tangram.exe.

Please make sure your computer system architecture (64-bit operating system or 32-bit operating system), and then choose the corresponding directory

Maintainers

badge @goodkillerchen, @KennardWang, @Tim-eyes

Contributing

Tasks completed by each person are documented below:

Name Task
Chen, Yuxuan (1809853J-I011-0011) Construct programme algorithm part, implement DFS, BFS and A* algorithm, implement SAT for detecting collision
Wang, Yuyang (1809853Z-I011-0045) Implement SA algorithm and GUI
He, Peilin (1809853U-I011-0078) Report and README writing, presentation design , sub-implement GUI

Sincerely thank our team for the great support, understandings and involvements.


@Tim-eyes


🌍

@KennardWang



@goodkillerchen


💻

Feel free to open an issue or submit PRs.

License

license © MUST-Quick-Fry ( 2021.5.17 )