Skip to content
Source code for Senior Research Project - An Approximate Solution to the Packing Problem. Mirror of
C++ Shell Makefile
Branch: master
Clone or download
Latest commit 8147f25 Jun 12, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
paper Much better low count example May 17, 2017
program Much better low count example May 17, 2017
.gitattributes Fix git attributes Jun 12, 2018
.gitignore Hopefully final commit May 16, 2017 Add README Jan 19, 2018

An Approximate Solution to the Packing Problem


This project attempts to use an approximate solution to the Bin-Packing Problem for Knolling, a popular photography style. The first-fit algorithm is used.

For more information, please read the paper located in the paper/paper.pdf.


  • ImageMagick
  • feh
  • pwgen (optional for random name generation)

How to use

The program is located in the program directory. The rest of the instructions assume you are acting from within this directory.

There is already a pre-compiled binary of the main program in the repo. To recompile, run make.

To run the program, run ./ It will prompt you for the number of boxes to randomly generate. Type a number for a "demo" of the program. If you wish to use pre-defined box sizes in the config file, type 0.


Main language: C++

Helper language: Shell scripting

Example Result


The result of running the program on a set of 12 randomly generated rectangles. The rectangles represent real-life objects that may be used for knolling.

You can’t perform that action at this time.