Abstract

We develop an algorithm to fold a square of paper into an orthogonal maze of ridges protruding out of a square base. More precisely, given an orthogonal graph drawn on a square, we fold a constant-factor larger square of paper into the square with the orthogonal graph extruded orthogonally to a specified (uniform) height. The zero-thickness ridges could form a path like the Hilbert curve, a maze or labyrinth, or troughs for liquid distribution. Our foldings are efficient. If the specified orthogonal graph lies on an n × n grid of unit squares, and we wish to fold ridges of specified height h, then we use a paper square of side length (2h + 1)(n − 1). We argue that this paper usage is always within a factor of 2h + 1 of optimal, and optimal in the case of extruding a full n× n grid graph. Our foldings are also watertight [DT09]: the boundary of the paper maps to the boundary of the model. In contrast, the original algorithm for folding any polyhedral surface [DDM00] is inefficient and not watertight. Origamizer [DT09] provides a family of foldings that may include similarly efficient (and watertight) foldings, but does not provide an efficient algorithm to find such a good folding. The box-pleating techniques of [BDDO09] are most closely related, but applied in a straightforward matter, would use a square of side length Θ(n2). Our algorithm uses an appropriate folding gadget at each grid point, depending on which of the four incident edges should be extruded. In all, there are six gadgets up to rotation. Figure 1 shows one such gadget: the 90◦ corner. All gadgets have a consistent interface on their four sides, allowing gadgets be combined in an arbitrary combination. Extrusion heights larger than the orthogonal distance between gadgets require thinning of the gadgets by sink folds (Figure 1, right).

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call