Skip to content

Quasicrystal visualization via cut and project construction.

License

Notifications You must be signed in to change notification settings

reneruhr/quacry

Repository files navigation

Quasycrystal Cut-and-Project Visualization

Features:

Visualization of point sets and possible edges between them (defined from an LLL basis)

Implemented examples:

  • Ammann-Beenker QC with vertex star patterns. [Runs on GPU] (See Baake-Grimm "Aperiodic Order" p275)
  • Penrose Pointset. [Runs on CPU] (See Marlof-Strömbergsson https://arxiv.org/pdf/1304.2044.pdf p9)

Demo

am_shear_1080.mov
am_shear2_1080.mov
am_patterns_short720.mov

Penrose Pointset Penrose Edges Penrose Pointset Sheared

Instructions for building from Source for Linux, Mac, Windows:

Building uses cmake and git to receive the source. Dependencies (via kipod) are GLM, GLFW and GLEW, and are installed via a package manager (on Mac/Linux) or can be cloned as submodules ( git clone https://github.com/reneruhr/quacry.git --recursive )

Ubuntu

Step 1:

Install necessary packages:

~$ sudo apt install build-essential libgl1-mesa-dev cmake git 
~$ sudo apt install libglfw3-dev glew-utils libglm-dev libglew-dev

Step 2:

Clone and Building Instruction:

~$ git clone https://github.com/reneruhr/quacry.git
~$ cd quacry
~$ git clone https://github.com/reneruhr/kipod.git
~$ git clone https://github.com/akuukka/quickhull.git external_libs/quickhull/
~$ mkdir build
~$ cd build
~$ cmake ..
~$ make
~$ ./quacry

(If you use 'git clone --recursive https://github.com/reneruhr/quacry.git', then cloning kipod and quickhull is not necessary).

MacOS (Intel/ARM)

Step 1

Install homebrew (https://brew.sh/) and xcode command line developer tools:

~$ xcode-select --install
~$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Step 2

Then install cmake, git and the necessary libraries glew, glfw3, glm:

~$ brew install git cmake glew glfw3 glm

Step 3:

See Step 2 Ubuntu.

Windows (Visual Studio 2019)

Step 1

Get git e.g. via https://gitforwindows.org/. The required libraries are included as git submodules. Use the tag --recursive to add these when cloning:

~$ git clone --recursive https://github.com/reneruhr/quacry.git

Step 2

It is convenient to use the Visual Studio 2019 "C++ CMake tools for Windows" component. It is already installed with the "Desktop development with C++" and "Linux Development with C++" workload. Opening the folder will detect the cmake file automatically.

About

Quasicrystal visualization via cut and project construction.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published