Fold and Cut

The motivation of this project stems from the “Fold-and-Cut” problem, introduced to us by Erik Demaine [D07], and proven by Erik Demaine, Martin Demaine, and Anna Lubiw [DDL99]. We were motivated by the disjunctive relationship of by our personal experiences of making “Fold-and-Cut” models from paper by hand, and the difficulty of writing an algorithm for what we were doing when we visually “computed” this solution. In other words, the “Fold-and-Cut” problem was easy to solve and implement through visual computations (evaluations) and by making drawings on paper, but difficult to write as an algorithm that could run in our CAD software of choice.

polygon2d

Implementation

The algorithm was implemented in Rhinoceros (Version 5.0 – Beta on Windows), using the Python language. This allowed us to create a robust tool that can handle many large polygon input graphs, and collisions between many polygons input graphs. Additionally, we represent the straight skeleton graph with a height (in the z axis), that is equivalent to the collision distance for each node (see above figure).

graph

This project was conducted as part of the Geometric Folding Algorithms class, taught by Professor Erik Demaine at MIT. This work was done in collaboration with Moritz Kassner.