jcpaik / sofa-designer-box

Repository from Github https://github.comjcpaik/sofa-designer-boxRepository from Github https://github.comjcpaik/sofa-designer-box

sofa-designer-box

Note

This project is superseded by a new version hosted here.

Description

Calculates bounds on the moving sofa problem

On either linux or Mac OS X, run make to produce the binary. Compilation requires GMP 6.1.2 library and -pthread compilation option enabled.

make

The binary named exec will appear in the same directory. Also, the object files are produced in the build directory.

To use the binary, run exec as the following.

./exec < init.sofa

The binary takes input from stdin as the format of file init.sofa. Although one can provide the same format in stdin, I encourage you to have the formatted file pipelined to exec.

Number of angles: 5
24 7 25
56 33 65
120 119 169
33 56 65
7 24 25

Index to fix mu: 2

Number of initial sofas: 4

Target: 237/100

The index to fix mu can be from zero to any number less than the number of angles. This is the index of L-shape with one fixed degree of freedom. The number of initial sofas can by any positive integer. Target is the bound we want to show. Instead of using priority queue, this software branches out bounding boxes in a DFS sense until the sofa reaches an area lower than the specified target. Also, one can controll the number of threads and other options by modifying the constants in src/exec/main.cpp.

Type the following to remove all object and binary files (and possibly recompile from scratch).

make clean

About


Languages

Language:C++ 99.6%Language:Makefile 0.4%