This problem has been solved, this project might be worked on just for fun/experience
You can generate 2 executables by compiling this source code.
run_tests.exe
- Runs unit tests to see if things are not broken.run_gui.exe
- Runs the GUI interface of the algorithm.
The source is written C++ and is developed to be build and compile on any platform or environment that supports C++ and where the dependencies can be compiled as well.
- CGAL - As a helper library for tackling polygons.
- Boost - CGAL requires boost, I am also using Boost for Unit Testing.
- Qt - Qt is required to build the front end GUI.
Source code Follows C++11 standard and uses CMake build system generator which will allows the code to build on all-most-all platform where the dependencies can be installed.
I strongly suggest using Microsoft’s Vcpkg to install the dependencies
vcpkg install cgal:x64-windows boost:x64-windows qt5:x64-windows
will install all the dependencies- Then add the vcpkg toolchain file using the variable
DCMAKE_TOOLCHAIN_FILE
Which will let me build the source code like this
cmake "d:/Repos/Pentagonal-tiling/" -G "Visual Studio 15 2017" -DCMAKE_TOOLCHAIN_FILE="d:/Dev/vcpkg/scripts/buildsystems/vcpkg.cmake"
To build a .sln
file.
- Run cmake for the respected architecture.
- Open the
.sln
file and buildrun_tests
orrun_gui
- Executables can be found in the
Debug
orRelease
Directory in the build directory, depending on your build setup.
Packages equivalent
to these must be installed, they must be up-to date.
- libboost-all-dev
- libcgal-dev
- qtbase5-dev
- qtdeclarative5-dev
- libqt5charts5-dev
To build a MakeFile
.
mkdir build
cd build
cmake ..
Now run make
to build the executables. 2 executables should be generated.
- Pentagon applet
- http://www.redblobgames.com/grids/hexagons/
- https://doc.cgal.org/4.5.2/Kernel_23/index.html
- http://doc.qt.io/
- http://paulbourke.net/texture_colour/tilingplane/
- https://www.quantamagazine.org/pentagon-tiling-proof-solves-century-old-math-problem-20170711/
- http://jaapsch.net/tilings
- https://arxiv.org/abs/1510.01186
- https://perso.ens-lyon.fr/michael.rao/publi.php?lang=fr
- https://perso.ens-lyon.fr/michael.rao/publi/penta.pdf
- My source code follows GPLv3.0 license.
- The directory
DE_matlab
although not in use any more was sourced from here. - The directory
DE
contains C/C++ source code that was lent to me by the author, contact Janez Brest for the license of that code.