Skip to content

Attempt at solving the pentagonal tiling problem.

License

Notifications You must be signed in to change notification settings

justinjk007/Pentagonal-tiling

Repository files navigation

Pentagonal tiling

Preface

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.

Dependencies

  • 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.

Building the source code

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.

On Windows

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 build run_tests or run_gui
  • Executables can be found in the Debug or Release Directory in the build directory, depending on your build setup.

On Linux

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.

Resources

LICENSE

  • 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.