IMPROVED ALGORITHMS FOR GRID-UNFOLDING...

25
February 7, 2017 9:37 WSPC/Guidelines paper International Journal of Computational Geometry & Applications c World Scientific Publishing Company IMPROVED ALGORITHMS FOR GRID-UNFOLDING ORTHOGONAL POLYHEDRA * YI-JUN CHANG Department of EECS, University of Michigan Ann Arbor, MI, USA [email protected] HSU-CHUN YEN Department of Electrical Engineering, National Taiwan University Taipei, Taiwan, ROC [email protected] Received 23 February 2016 Revised 31 August 2016 Communicated by Mark de Berg, Adrian Dumitrescu, Khaled Elbassioni, Guest Editors ABSTRACT An unfolding of a polyhedron is a single connected planar piece without overlap resulting from cutting and flattening the surface of the polyhedron. Even for orthogonal polyhe- dra, it is known that edge-unfolding, i.e., cuts are performed only along the edges of a polyhedron, is not sufficient to guarantee a successful unfolding in general. However, if additional cuts parallel to polyhedron edges are allowed, it has been shown that every orthogonal polyhedron of genus zero admits a grid-unfolding with quadratic refinement. Using a new unfolding technique developed in this paper, we improve upon the previous result by showing that linear refinement suffices. For 1-layer orthogonal polyhedra of genus g, we show a grid-unfolding algorithm using only 2(g - 1) additional cuts, affirma- tively answering an open problem raised in a recent literature. Our approach not only requires fewer cuts but yields much simpler algorithms. Keywords : Grid-unfolding; refinement; orthogonal polyhedra; genus. 1. Introduction The study of folding and unfolding in computational geometry can be traced back to several hundred years ago, 1 reflecting the fact that it is natural for human to con- struct a polyhedron by folding from its unfolding. From a recreational point of view, * A preliminary version of this paper was presented at the 26th International Symposium on Algorithms and Computation (ISAAC 2015), Nagoya, Japan, December 9-11, 2015. Supported by NSF grant CCF-1514383. Corresponding Author. Supported in part by Ministry of Science and Technology, Taiwan, under grant MOST 103-2221-E-002-154-MY3. 1

Transcript of IMPROVED ALGORITHMS FOR GRID-UNFOLDING...

Page 1: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

International Journal of Computational Geometry & Applicationsc© World Scientific Publishing Company

IMPROVED ALGORITHMS FOR GRID-UNFOLDING

ORTHOGONAL POLYHEDRA∗

YI-JUN CHANG†

Department of EECS, University of Michigan

Ann Arbor, MI, [email protected]

HSU-CHUN YEN‡

Department of Electrical Engineering, National Taiwan University

Taipei, Taiwan, [email protected]

Received 23 February 2016

Revised 31 August 2016Communicated by Mark de Berg, Adrian Dumitrescu, Khaled Elbassioni, Guest Editors

ABSTRACT

An unfolding of a polyhedron is a single connected planar piece without overlap resultingfrom cutting and flattening the surface of the polyhedron. Even for orthogonal polyhe-

dra, it is known that edge-unfolding, i.e., cuts are performed only along the edges of a

polyhedron, is not sufficient to guarantee a successful unfolding in general. However, ifadditional cuts parallel to polyhedron edges are allowed, it has been shown that every

orthogonal polyhedron of genus zero admits a grid-unfolding with quadratic refinement.

Using a new unfolding technique developed in this paper, we improve upon the previousresult by showing that linear refinement suffices. For 1-layer orthogonal polyhedra of

genus g, we show a grid-unfolding algorithm using only 2(g−1) additional cuts, affirma-

tively answering an open problem raised in a recent literature. Our approach not onlyrequires fewer cuts but yields much simpler algorithms.

Keywords: Grid-unfolding; refinement; orthogonal polyhedra; genus.

1. Introduction

The study of folding and unfolding in computational geometry can be traced back

to several hundred years ago,1 reflecting the fact that it is natural for human to con-

struct a polyhedron by folding from its unfolding. From a recreational point of view,

∗A preliminary version of this paper was presented at the 26th International Symposium onAlgorithms and Computation (ISAAC 2015), Nagoya, Japan, December 9-11, 2015.†Supported by NSF grant CCF-1514383.‡Corresponding Author. Supported in part by Ministry of Science and Technology, Taiwan, undergrant MOST 103-2221-E-002-154-MY3.

1

Page 2: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

2 Yi-Jun Chang and Hsu-Chun Yen

unfolding has been used for making 3D paper crafts2 and designing puzzles.3 From

a practical point of view, unfolding techniques can be applied to manufacturing4,5

and cartography.6 The interested reader is referred to Ref. 7 for a comprehensive

introduction to this field.

Specifically, an unfolding of a polyhedron is a single connected planar piece

resulting from cutting and flattening its surface. Ideally, we hope to only cut along

a subset of edges of a polyhedron when producing an unfolding. In reality, however,

even for orthogonal polyhedra it is known that cutting along edges is not sufficient

to guarantee an unfolding in general. Such a negative result gives rise to the so-

called grid-unfolding, in which new edges, which are allowed to be cut, are added

by intersecting the polyhedron with all coordinate planes passing through a vertex.

Even with such a relaxation, it remains a major open problem to decide whether

every orthogonal polyhedron admits a grid-unfolding.8 Up to this point, only a few

restricted classes of orthogonal polyhedra, such as orthotubes, are known to admit

grid-unfoldings.8

The notion of a refinement under grid-unfolding was defined in Ref. 9: each rect-

angular face of a polyhedron under grid-unfolding is further refined to an a×b grid,

where all grid lines are allowed to be cut. Such an unfolding style is called (a× b)-

grid-unfolding. Allowing a constant amount of refinements, more special classes

of orthogonal polyhedra can be grid-unfolded (e.g., well-separated orthotrees,10

orthostacks,8 Manhattan towers11). Moreover, all orthogonal polyhedra of genus

zero can be grid-unfolded with exponential refinement, i.e., (O(2n) × O(2n))-grid-

unfolded, using the epsilon-unfolding algorithm.9

Recently, an (O(n2)×O(n2))-grid-unfolding algorithm for orthogonal polyhedra

of genus zero, called delta-unfolding, was proposed.12 The algorithm adapts the

heavy-path decomposition technique for balancing trees in data structure design in

conjunction with the strategy of Ref. 9.

In contrast to the large amount of efforts in algorithm design for unfolding

orthogonal polyhedra of genus zero, only a scarcity of results are available for tack-

ling the case of orthogonal polyhedra whose genus is greater than zero. To our best

knowledge, Ref. 13 was the only attempt along this direction of research. They are

able to edge-unfold some special classes of 1-layer orthogonal polyhedra whose faces

are all unit grid squares and may contain some holes that are unit cubes. Finding

an algorithm to grid-unfold, possibly with refinements, general 1-layer orthogonal

polyhedra was posed as an open problem in Ref. 13.

Our contributions.

For orthogonal polyhedra of genus zero, we present a new grid-unfolding al-

gorithm that only requires linear refinement (i.e., (O(n) × O(n))-grid-unfolding),

yielding an improvement over the delta-unfolding method which needs quadratic

refinement. Our algorithm is based on the following ideas.

• In our method, we first identify a subset of faces of the polyhedron called

Page 3: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 3

the backbone, which naturally indicates a traversal on the surface of the

polyhedron. Our algorithm unfolds these faces into a y-convex polygon on

the plane; and the remaining faces are stitched to the unfolded backbone

afterward to form the final unfolding.

• The algorithms in Ref. 9,12 construct the unfolding by routing one strip on

the surface of a polyhedron. In this paper, we allow the presence of many (up

to O(n)) strips during the process, and they are ultimately merged together

at the end of the procedure. This new strategy prevents the complicated

back and forth routing in Ref. 9,12 and leads to a much simpler algorithm.

For unfolding orthogonal polyhedra of genus greater than zero, we present an

algorithm to grid-unfold arbitrary 1-layer polyhedra using only (2 × 1)-refinement

on only 2(g− 1) faces, where g is the genus of the input polyhedron. At the cost of

allowing few additional cuts, our algorithm can unfold a much wider class of poly-

hedra than those reported in Ref. 13, affirmatively answering the aforementioned

open problem.

2. Preliminaries

In this section we present some terminologies that are required for our subsequent

discussions. To make our definitions consistent with previous works, we adapt some

terminologies and naming conventions in Ref. 9.

An orthogonal polyhedron is a polyhedron with all edges parallel to axes of the

Cartesian coordinate system in 3D. Throughout the paper, we write O to denote

an orthogonal polyhedron. We let Y0, Y1, . . . be the planes orthogonal to the y-axis

containing some vertex in O. These planes are linearly ordered in such a way that

if we write y = yi to denote the plane for Yi, then we have ya > yb, for any a > b.

We also call Yi the layer i.

The portion of O within the two adjacent layers Yi−1 and Yi consists of some

disjoint connected parts, each of which is called a component of layer i.

The part of the surface of C not located in Yi−1 or Yi consists of possibly several

connected pieces, which are called bands. In particular, bands that surround holes

of C are called dents. However, as observed in Ref. 9, when O is of genus zero, all

the dents can be “popped out” to become bands of other components. As a result,

we can assume that there is no dent when O is of genus zero. The band of C is

denoted as band(C).

A rim of a band is a cycle consisting of edges of a band (of a component C of

layer i) that lie in Yi−1 or Yi. Each band has two rims. The back rim of a component

C (resp., front rim) is defined as the rim of band(C) that lies in Yi (resp., Yi−1).

Recall that an edge-unfolding8 only cuts a polyhedron along a subset of the

edges. Such an unfolding style is too restrictive, and there exist orthogonal polyhedra

that cannot be edge-unfolded. In the setting of grid-unfolding,8 we are allowed to

cut along additional edges formed by intersecting the polyhedron with coordinate

planes passing through vertices of the polyhedron. Since grid-unfolding is the only

Page 4: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

4 Yi-Jun Chang and Hsu-Chun Yen

Y0Y1

Y3Y2

𝑥

𝑧𝑦

C3

C1

C0

Y2

C2

1 3

𝑓1𝑓2𝑓3

𝑓4

𝑓0𝑢 𝑣

𝑤

2

(1) (2)

(4)(3)

Fig. 1. Illustrations of some basic concepts.

unfolding style considered in the paper, unless stated otherwise, a polyhedron is

referred to one with such additional edges in the subsequent discussion. With this

assumption in mind, it is straightforward to see that all the faces in a polyhedron

are axis-parallel rectangles (see Fig. 1(4)).

Let G be the graph formed by the vertices and the edges of a polyhedron. The

set of vertices, edges, and faces in the polyhedron are denoted as V (G), E(G), and

F (G), respectively. Let G∗ be the dual graph of G in which each node corresponds

to a face in the polyhedron such that {f1, f2} ∈ E(G∗) if f1 and f2 are neighboring

faces. As there is a natural isomorphism between E(G) and E(G∗), with a slight

abuse of notation we simply write {v1, v2} = {f1, f2}, where v1, v2 ∈ V (G) and

f1, f2 ∈ V (G∗), if {v1, v2} is the edge shared between two rectangular faces f1 and

f2. A set of faces P = {f1, f2, ..., fk} in G∗ is called a straight path if faces in P can

be unfolded to a rectangle that is an 1× k grid, where k is the number of faces in

P . We also write P = (f1, f2, ..., fk) to denote the sequence of faces along a straight

path.

An (a × b)-refinement of a grid-unfolding (also called (a × b)-grid-unfolding),

where a, b ∈ Z+, is to refine each face (which is a rectangle) into an a× b grid, and

in the unfolding process, all grid lines are allowed to be cut.8

The terms described so far can be better understood using Fig. 1. Fig. 1(1) is

a polyhedron (of genus zero) having layers Y0, Y1, Y2 and Y3. Fig. 1(2) shows its

four components. The dotted and the dashed portions of the surface of C1 are its

dent and band, respectively. Fig. 1(3) shows the portion of the surface of O that

belongs to Y2. The closed regions labeled 1, 2, and 3 are the back rim of C1, the

Page 5: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 5

𝑁

𝐶

𝐶 𝐵

𝐴 𝐸

𝐺

𝐹

𝐷

𝐶

𝐵 𝐴

𝐺

𝑁

𝑀 𝐿

𝐹 𝐸 𝐷 𝐻 𝐼 𝐽 𝐾

𝐺 𝐹 𝐸 𝐷 𝐻 𝐼 𝐽 𝐾 𝐹 𝐸 𝐷 𝐺 𝐹 𝐻 𝐼 𝐽 𝐾

𝑁

𝐶 𝐵

𝐴

𝑀

𝐿

(1) (3)

(4) (2)

𝑥

𝑦

Fig. 2. Examples of grid-unfolding.

back rim of C2, and the front rim of C3, respectively. Fig. 1(4) shows the vertices,

edges, and faces of the polyhedron. Notice that (f1, f2, f3, f4) is a straight path,

while (f0, f1, f2, f3) is not. We have {u, v}, {v, w} ∈ E(G) and {v, w} = {f1, f2}.The components of a polyhedron naturally form a tree structure. Given a genus

zero orthogonal polyhedron O, the component tree T0 is defined as follows.

Definition 1. Given an orthogonal polyhedron O of genus zero, the component

tree T0 is the tree of components such that {C,C ′} ∈ E(T0) iff there are some faces

f ∈ C and f ′ ∈ C ′ such that {f, f ′} ∈ E(G∗).

For the polyhedron in Fig. 1(1), its component tree is the path (C0, C1, C3, C2).

An orthogonal polygon is a polygon with edges parallel to either the x-axis or

the y-axis of the Cartesian coordinate system in 2D. A polygon Q is called y-convex

if the intersection of any straight line parallel to the y-axis and the interior of Q is

a single connected line segment.

Fig. 2(2) shows a (1×1)-grid unfolding for the polyhedron depicted in Fig. 2(1).

The y-convex polygon in Fig. 2(4) is a (2× 3)-grid unfolding resulting from cutting

along the solid lines on the polyhedron in Fig. 2(1).

3. The Unfolding Tree

Our linear refinement unfolding algorithm for orthogonal polyhedra of genus zero is

built upon a tree structure called an unfolding tree, which was originally introduced

in Ref. 9, 12. All polyhedra in Sections 3 and 4 are always assumed to have zero

genus.

Before proceeding further, we require the definition of a bridge (which is also

known as a z-beam in Ref. 9, 12).

Page 6: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

6 Yi-Jun Chang and Hsu-Chun Yen

Definition 2. A bridge between components C and C ′ is a straight path P =

(f0, f1, . . . , fk) such that

• f0 (resp., fk) belongs to the band of C (resp.,C ′), and f0 and fk are normal

to the z+ or z− directions.

• f1, . . . , fk−1 belong to the same layer, and hence they are all normal to

either y+ or y−.

In addition, a bridge is said to be in layer Yi if f1, . . . , fk−1 above are in layer Yi.

Given an orthogonal polyhedron O of genus zero, an unfolding tree TU is a tree

(which is not unique) of components of O defined as follows.

Definition 3. An unfolding tree TU is a tree of components of the orthogonal

polyhedron O returned by the following procedure.

(1) Initially V (TU ) = the set of all components, and E(TU ) = ∅.(2) While there exists a pair of components {C,C ′}, C 6= C ′, such that

• there is a bridge between C and C ′, and

• adding the edge e = {C,C ′} to E(TU ) does not create a cycle in TU ,

we add the edge e = {C,C ′} to E(TU ).

(3) The procedure ends when no more edges can be added.

The bridge between C and C ′ under consideration when adding the edge {C,C ′}in the procedure is denoted as br(C,C ′). Given a fixed unfolding tree TU , we also

call br(C,C ′) the bridge associated with {C,C ′}.Using the bridges br(C0, C1) = (f0, f1, f2), br(C1, C2) = (f2, f3, f4), br(C2, C3)

= (f4, f5, f6), br(C2, C4) = (f10, f11, f12), br(C4, C5) = (f14, f15, f16), the unfolding

tree of Fig. 3(1) is shown in Fig. 3(4).

With respect to an unfolding tree, we have the following two lemmas. These

lemmas have been proved in Ref. 9. For the sake of the completeness, the proofs

are reproduced in our terminologies.

Lemma 1 (Ref. 9). The graph TU is a tree.

Proof. We let G be the graph of components such that {C,C ′} ∈ E(G) iff they are

linked by a bridge. The procedure for computing TU is exactly Kruskal’s algorithm

for computing a spanning tree of G. Therefore, all we need to do is to show that G

is connected.

To show that G is connected, it suffices to show that for any {C,C ′} ∈ E(T0),

where T0 is the component tree, there is a path in G linking C and C ′. As they are

adjacent in the component tree, there must be two faces f ∈ C, f ′ ∈ C ′ such that

both of them have the same x-coordinate value and are normal to either the z+ or

the z- direction.

If we walk along a straight path starting from f in either its y+ or y- direction,

we must reach f ′. Such a path P = (h0 = f0, h1, . . . , hk = f ′) can be divided into

Page 7: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 7

f0 (𝑧+)

f1 (𝑦−)

f2 (𝑧+)

f6 (𝑧+) f7 (𝑦−) f8 (𝑧−)

f3 (𝑦−)

f4 (𝑧+)

f5 (𝑦−)

f10 (𝑧−) f9 (𝑦−)

h0 (𝑧+)

h1 (𝑦+)

f11 (𝑦−)

f12 (𝑧+)

f16 (𝑧+) g0 (𝑧+) g1 (𝑦−)

g2 (𝑧−)

f13 (𝑦−)

f14 (𝑧−)

h2 (𝑧−)

𝑥

𝑧

𝑦

C0 C1

C2 C3

C4

C5

C0

C1

C2 C3

C4 C5

C0

C1

C2 C3

C4 C5

f15 (𝑦−)

(1) (2)

(3) (4)

T0 T𝑈

Fig. 3. Illustrations of an unfolding tree, bridges, and connectors. Here f(d+) (resp., f(d−))indicates that face f is normal to the d+ (resp., d−) direction, where d ∈ {x, y, z}.

several subpaths of the form: P0 = (h0 = hi0 , h1, . . . , hi1), P1 = (hi1 , . . . , hi2), . . . ,

Ps = (his , . . . , hk = his+1) such that the two end faces of each Pi are normal to

either the z+ or the z- direction, and all other faces are normal to either y+ or y-.

If we let Cij denote the component containing hij , this clearly implies the existence

of a path (Ci0 , . . . , Cis+1) in G which links C = Ci0 and C ′ = Cis+1 .

As an example for the above proof, consider Fig. 3. For components C = C1

and C ′ = C4, we may set f = f2 and f ′ = f12. The path (starting from f in

its y- direction) P = (f2, f3, . . . , f12) can be divided into (f2, f3, f4), (f4, f5, f6),

(f6, f7, f8), (f8, f9, f10), and (f10, f11, f12), which implies that adjacent components

in (C1, C2, C3, C3, C2, C4) are linked by bridges. Hence we may reach C4 from C1

through bridges.

Lemma 2 (Ref. 9). For each leaf C of TU , there must be one rim RC of C such

that all faces in C that reside in the rim are not adjacent to any face in any other

component C ′ 6= C.

Proof. From the definition of TU , if P ′ = (C0, C1, . . . , Ck) is a path in TU such

that C 6∈ P ′, then there is a path in G∗ starting in a face in the band of C0, ending

in a face in the band of Ck, and without passing through any face in the band of C

(such a path can be formed using faces in br(Ci, Ci+1), 0 ≤ i < k, and the bands of

all Ci).

Let C ′ be the unique component adjacent to C in the unfolding tree TU , and

let P = (C,C∗, . . . , C ′) be the unique path linking C and C ′ in the component

Page 8: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

8 Yi-Jun Chang and Hsu-Chun Yen

tree T0. Suppose that the statement of the lemma is false, then there exists another

component C ′′ 6∈ P such that C∗ and C ′′ touch C from opposite directions. This

implies that all paths (in G∗) starting from any face in C ′′ to any face in C ′ must

pass through some face in the band of C.

However, as C is a leaf in TU , there is a subpath P ′ of TU linking C ′ and C ′′

without passing C. As a result, there is a path in G∗ starting at a face in C ′, ending

at a face in C ′′, and without passing through any face in the band of C, which is a

contradiction.

We associate each leaf C of an unfolding tree TU with a connector (denoted

as con(C)), which is a straight path P = (f0, f1, . . . , fk) such that f0 and fk are

normal to either the z+ or the z- direction, and all of f1, . . . , fk−1 reside in the

region surrounded by the rim RC guaranteed by Lemma 2.

An intermediate component C (in layer i) of an unfolding tree TU is of type-

1 if there exist a component that touches C in layer Yi and another component

that touches C in layer Yi−1; otherwise, the component is of type-2. For any type-2

intermediate component C, by definition there is a rim RC of C such that all faces

in C that reside in the rim are not adjacent to any face in any other component

C ′ 6= C. Similar to the leaves, we associate each type-2 intermediate component C

with a connector con(C).

For example, in Fig. 3, we can set (h0, h1, h2), (f6, f7, f8), and (g0, g1, g2) as the

connectors of the leaves C0, C3, and C5, respectively; and we can set (f12, f13, f14)

as the connector of the type-2 intermediate component C4. Notice that h1, which

is normal to the y+ direction, belongs to the region surrounded by the back rim of

component C0.

Suppose TU is an unfolding tree of an orthogonal polyhedron O, we consider

the following set Fbb of faces (called the backbone) which plays a critical role in our

subsequent unfolding process.

Fbb = Fp ∪ Fb ∪ Fc, where

• Fp = {band(C) | C ∈ V (TU )}, i.e., the set of faces belonging to the band of a

component of O,

• Fb =⋃{C,C′}∈E(TU ){f0, .., fk | (f0, .., fk) = br(C,C ′)}, i.e., the set of faces

belonging to the bridge associated with an edge in TU ,

• Fc =⋃

C∈V (TU ),C has a connector{f0, .., fk | (f0, .., fk) = con(C)}, i.e., the set of

faces belonging to the connector of a leaf component or a type-2 intermediate

component of O.

In words, Fbb contains all bands, bridges, and connectors. The following lemma

shows that an unfolding for Fbb meeting some requirements implies an unfolding of

the whole polyhedron.

Lemma 3. Let Fbb be the backbone associated with an unfolding tree of a polyhe-

dron O. Suppose that the surface of Fbb can be (a × b)-grid-unfolded to a y-convex

Page 9: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 9

Connector

Bridge to Parent

Band

Bridges to children

Connector

(1) Leaf component (2) Type-1 intermediate

component

(4) Root component(3) Type-2 intermediate

component

Connector

Fig. 4. An overview of the unfolding algorithm.

orthogonal polygon Q in which each edge between a face in F (G) \ Fbb and a face

in a band is parallel to the x-axis (of the 2D Cartesian system). Then, the entire

surface of O can be (a× b)-grid-unfolded.

Proof. Stitching each face F in F (G)\Fbb to the neighboring face in its z+ direction

(of the 3D Cartesian system) suffices to yield the desired unfolding of O. All faces

in F (G)\Fbb will be connected to either the upper side (the y+ direction of the 2D

Cartesian system) or the lower side (the y- direction of the 2D Cartesian system)

of the partial unfolding along some straight paths.

Intuitively, to apply Lemma 3, we first unfold Fbb into a long y-convex strip (like

peeling an apple), and then for each remaining face f ∈ F (G)\Fbb, we glue it to the

strip along some straight path Pf . As an example of Lemma 3, suppose Fig. 2(1)

represents a component whose band is {D,E, F,G,H, I, J,K}. If A,B, and C are

not in any bridge or connector, these faces can be stitched to the partial unfolding

in Fig. 2(3) along the paths PA = (A,D), PB = (B,A,D), and PC = (C,F ) (see

Fig. 2(4)).

4. The Linear Refinement Unfolding Algorithm

In this section we present a grid-unfolding algorithm that only requires linear re-

finement for orthogonal polyhedra of genus zero. Specifically, the required amount

of refinements is (2r × 4r), where r is the total number of connectors in TU , which

equals the number of leaves plus the number of type-2 intermediate components.

Notice that |F (G)|, |E(G)|, and |V (G)| are equivalent asymptotically under the

big-O notation, and r is bounded by |V (G)|. In the subsequent discussion, Lemmas

1 and 2 are applied implicitly.

We designate a leaf of TU as the root to make the tree directed. For each com-

ponent C ∈ V (TU ), we write TC to denote the subtree rooted at C. Our approach

is based on a bottom-up procedure operating on the unfolding tree TU . A high-level

Page 10: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

10 Yi-Jun Chang and Hsu-Chun Yen

𝑥

𝑦

Orientation: ccw Orientation: cw

𝑙𝑢

𝑙𝑑

𝑟𝑢

𝑟𝑑

(1) (2) (3)

𝑡𝑗

𝑡𝑗

𝑠𝑗

𝑠𝑗

Bridge

𝑓0

𝑓′ 𝐶

Parent(𝐶)

s1 t1 s2 s3 t2 t3

Bridge

𝑓0

𝑓′ 𝐶

Parent(𝐶)

s1 t1 s2 s3 t2 t3

𝑓0

𝑓0 𝑓0

𝑓0 𝑄𝑗 𝑄𝑗 𝑄𝑗

Fig. 5. Requirement for each Qj .

overview of our algorithm is illustrated in Fig. 4, which involves the following four

types of operations.

• For each leaf component, a strip is created by unfolding its connector and its

band (Fig. 4(1)).

• For each type-1 intermediate component, all the strips from the children sub-

trees are gathered, extended to cover the entire band, and passed to the parent

(Fig. 4(2)).

• For each type-2 intermediate component, a strip is created by unfolding its

connector; the newly created strip and all the strips from the children subtrees

are extended to cover the entire band, and passed to the parent (Fig. 4(3)).

• Finally, at the root, all strips are concatenated to form a desired partial unfold-

ing meeting the condition of Lemma 3 (Fig. 4(4)).

Notice that bridges and connectors play important roles in our algorithm.

Bridges allow us to extend strips from one component to another, and connectors

allow us to create and concatenate the strips.

For each C which is not a root, let Fbb(C) be the part of the backbone containing

only the bands and connectors of components in TC , and the bridges associated with

each link in E(TC). Suppose (f0, f′, ...) is the bridge linking C to its parent, where

f0 is in (the band of) C. We define an invariant I as follows.

Invariant I. Given a component C, let r be the total number of connectors in TC .

Given an orientation of either clockwise (cw, for short) or counter-clockwise (ccw,

for short), the surface of Fbb(C) can be (2r × 4r)-grid-unfolded into Q1, Q2, . . . , Qr

y-convex orthogonal polygons such that the following conditions are met.

(1) The edge between f0 and f ′ is divided into 2r segments: {f0, f ′} = (s1, t1, s2,

t2, . . ., sr, tr). Both sj and tj , 1 ≤ j ≤ r, are parallel to the x-axis in polygon

Page 11: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 11

Connector

Bridge

1234

𝑠 𝑡

𝑓0𝑓𝑘

𝑓𝑖 𝑓𝑗

Band

𝑌𝑖

𝑌𝑖−1

𝑠

𝑡

Connector

Connector

Bridge

𝑓𝑗

𝑓𝑖𝑓0𝑓𝑘

𝐶

Parent(𝐶)

𝑓0

𝑓0

𝑓𝑖

𝑓𝑗

Fig. 6. Unfolding a leaf component.

Qj . See Fig. 5(2, 3).

(2) For each Qj , suppose that (lu, ld) and (ru, rd) are the left-most side and the

right most side of Qj , respectively, as depicted in Fig. 5(1). Then we have:

• If the given orientation is ccw, the left (resp., right) endpoint of sj (resp.,

tj) is ld (resp.,ru). See Fig. 5(2) for an illustration for both the 2D and the

3D views of Qj .

• If the given orientation is cw, the left (resp., right) endpoint of sj (resp.,

tj) is lu (resp.,rd). See Fig. 5(3) for an illustration for both the 2D and the

3D views of Qj .

Notice that the orientation cw/ccw refers to the orientation of the strips on the face

f0 with respect to the direction normal to the face f0. See Fig. 5(2, 3).

We call each Qj a strip in the subsequent discussion. In words, Invariant Isays that for a component C and a chosen orientation (ccw or cw), Fbb(C) can be

unfolded into r strips (i.e., y-convex orthogonal polygons), all of which respect the

same orientation associated with C. Furthermore, the r strips meet at the beginning

of the bridge linking C to its parent.

Lemma 4. For each orientation (cw or ccw), and for each leaf C in the unfolding

tree TU , Invariant I holds.

Proof. Let C be a leaf in layer i (i.e., C is between Yi−1 and Yi, i ≥ 1). We only

show the case where the bridge linking C to its parent belongs to Yi−1, and the

chosen orientation is ccw as the other cases are similar.

Now, our task is to unfold the band and the connector of C into a strip Q1 sat-

isfying the invariant I. The solution is essentially the same as the Single Box Spiral

Path described in Ref. 9. However, for the sake of completeness, we still describe a

solution using our terminologies. Note that in Fig. 6, the top-left illustration shows

the flattened band(C).

Let (f0, f1, . . . , fk) be the faces in the band in a counter-clockwise ordering with

respect to the y+ direction, where f0 belongs to the bridge linking C to its parent,

Page 12: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

12 Yi-Jun Chang and Hsu-Chun Yen

and fi and fj belong to the connector.

We divide the front edge of f0 (i.e., the edge of f0 that belongs to layer Yi−1)

into two segments s and t. The band is refined into four levels. The strip Q1 starting

at s ending at t is formed by the following procedure (see the top-left illustration

in Fig. 6).

(1) Starting at s, moving vertically to level 2, turning right, and going straight until

passing both of fi and fj .

(2) Occupying the levels 2, 3, and 4, and then going straight again until reaching

fk.

(3) Continuing going straight at only level 4 until meeting any of fi and fj again

(let it be fi).

(4) Walking along the connector from fi to fj .

(5) Finally, finishing the rest of the unfolding to get a strip which ends at t.

The middle illustration in Fig. 6 shows a strip Q1, an unfolding of Fbb(C) con-

structed by the algorithm, meeting the invariant with a ccw orientation. Notice

that the amount of refinements used is (2× 4).

Lemma 5. For each orientation (cw or ccw), and for each type-1 intermediate

component C (i.e., neither the root nor a leaf) in the unfolding tree TU , Invariant

I holds.

Proof. The proof is done by induction on |V (TC)|. The desired unfolding of Fbb(C)

is constructed by extending the strips of Fbb(C′) for each child C ′ of C. We assume

that C is in layer i, and we only deal with the case where the bridge linking C to its

parent is in Yi−1 and the chosen orientation is ccw, as the other cases are similar.

We denote B0 as the bridge linking C to its parent, and B1, B2, . . . , Bd the bridges

linking the d children of C to C.

By Lemma 4 and by the induction hypothesis, for each child C ′ of C, we as-

sume that Fbb(C′) is already unfolded into r strips meeting Invariant I. If br(C ′, C)

is in Yi−1 (resp., Yi), we assume that Fbb(C′) is unfolded in the cw (resp., ccw)

orientation.

We let (f0, f1, . . . , fk) be the faces in the band of C in a counter-clockwise

ordering with respect to the y+ direction, where f0 belongs to B0. Bj , 1 ≤ j ≤ d,

can be divided into two groups, B1 and B2, such that B1 = {Bj | Bj is in Yi−1}and B2 = {Bj | Bj is in Yi}.

Let {g1, . . . , g|B1|} be the set of faces of the band of C contained in bridges in

B1. The faces g1, . . . , g|B1| are listed in increasing order with respect to the indices

of the faces in the band (i.e., for gi = fmiand gj = fmj

, i < j, we have mi < mj).

Similarly, let {h1, . . . , h|B2|} be the set of faces of the band of C contained in bridges

in B2, and they are listed in decreasing order with respect to (mj − k) mod k, for

fmj = hj .

The band of C is partitioned into three regions, a, b and c. Region a is divided

Page 13: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 13

The bridge to parent

𝑎. 1

𝑎. 2

𝑓0 𝑓𝑘

𝑔1

Band

𝑌𝑖

𝑌𝑖−1

𝑔2 𝑔3

ℎ1 ℎ2

𝑎. 3

𝑏. 1

𝑏. 2

𝑐. 1

𝑐. 2

𝑎. 1

𝑎. 2

𝑓0 𝑓𝑘

𝑔1 𝑔2 𝑔3

ℎ1 ℎ2

𝑎. 3

𝑏. 1

𝑏. 2

𝑐. 1

𝑐. 2

Band

𝑌𝑖

𝑌𝑖−1

The bridge to parent

The unfoldings for a child subtree

(2)

(1)

Bridge

𝑔2

𝐶

A child of 𝐶

𝑔2

𝑔′

𝑔′

𝑠1 𝑡1 𝑡2 𝑡3 𝑠2 𝑠3

Fig. 7. Unfolding a type-1 intermediate component.

into |B1| levels; and both of region b and region c are divided into |B2| levels. See

Fig. 7.

Next, we show how to extend the strips (associated with Fbb(C′)) along br(C ′, C)

and band(C) to the face f0, the beginning of B0 (the bridge linking C and its parent).

We have the following two cases (see Fig. 7(1)).

• (Case 1: br(C ′, C) = (. . . , gj) ∈ B1) Extend the strips coming from each bridge

(. . . , gj) ∈ B1, 1 ≤ j ≤ |B1|, by moving vertically along the bridge to level a.j,

and turning left until reaching f0.

• (Case 2: br(C ′, C) = (. . . , hj) ∈ B2) Extend the strips coming from the bridge

(. . . , hj) ∈ B2, 1 ≤ j ≤ |B2|, by moving vertically along the bridge to level c.j,

turning right until reaching fk, moving vertically to level b.j, turning right, and

then going straight until reaching f0.

See Fig. 11 and Fig. 12 for a 3D illustration, where two strips are extended along

the intermediate component C2. The strip coming from C3 (resp., C1) is extended

by applying the procedure of Case 1 (resp., Case 2).

In order to unfold the entire band of C, it remains to stich the part of the band

that has not been unfolded yet to the existing strips (Fig. 7(2)).

To see that each Qj is unfolded in the ccw orientation, consider Fig. 8. Notice

that the circled region indicates the portion of Qj before applying the above pro-

cedure. Let C ′ be the child component associated with Qj . For the case br(C ′, C)

is in Yi (which ends at a face hm, for some m), then according to our choice of the

orientation, Qj was previously unfolded in a ccw orientation at component C ′. After

the procedure of strip extension at component C, the ccw orientation is preserved

since the procedure only adds some zig-zag turns at its two ends. For the case Qj

Page 14: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

14 Yi-Jun Chang and Hsu-Chun Yen

ℎ𝑗

𝑓0

ℎ𝑗

𝑓0

Bridge to parent

Bridge to parent

Bridge to children

ccw: bridge coming from 𝑌𝑖

𝑔𝑗 𝑓0

𝑔𝑗 𝑓0

Bridge to parent

Bridge to parent

Bridge to children

cw: bridge coming from 𝑌𝑖−1

Fig. 8. Extending strips at a type-1 intermediate component.

was previously unfolded in a cw orientation at component C ′ (i.e., br(C ′, C) is in

Yi−1), a U-turn made during the strip extension procedure at component C changes

the orientation from cw to ccw.

The amount of refinements is at most (2r×4r), and such an amount can indeed

be reached at the face f0 when a = 0 (i.e., when there is no gj).

Fig. 7(1) shows the result after carrying out the procedure described in Cases 1

and Case 2 for each child in the proof of Theorem 5; and Fig. 7(2) shows the final

result after extending some strips to “fill” the entire band.

If the algorithm of Lemma 5 is applied to a type-2 intermediate component C,

then it is possible that no strip makes a complete cycle around band(C). Without

such a complete cycle, the band cannot be entirely unfolded. See Fig. 9(1) for an

illustration. Recall that all components that are adjacent to a type-2 component C

touch C at the same layer. To guarantee a strip that makes a complete cycle around

band(C) in the algorithm of Lemma 5, we need a child component at an opposite

side to the parent component. A fix to this issue is to utilize the connector to create

a new strip. The two ends of the strip can be used to simulate strips coming from

two imaginary children components that touch C from the other layer. See Fig. 9(2)

for an illustration. Therefore, we have the following lemma.

Lemma 6. For each orientation (cw or ccw), and for each type-2 intermediate

component C (i.e., neither the root nor a leaf) in the unfolding tree TU , Invariant

I holds.

We are now in a position to prove the main theorem of the paper.

Theorem 1. Every orthogonal polyhedron O can be (2r× 4r)-grid-unfolded, where

TU is an unfolding tree of O, and r is the total number of connectors.

Proof. Let C be the root of TU , let C ′ be the (unique) child of C, and let br(C,C ′)

Page 15: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 15

The bridge to parent

𝑎. 1

𝑎. 2

𝑔1

Band

𝑌𝑖

𝑌𝑖−1

𝑔2 𝑔3

𝑎. 3

(1)

The bridge to parent

𝑎. 1

𝑎. 2

𝑓0 𝑓𝑘

𝑔1

Band

𝑌𝑖

𝑌𝑖−1

𝑔2 𝑔3

𝑎. 3

𝑏. 1

𝑏. 2

𝑐. 1

𝑐. 2

(2)

The portion that cannot be unfolded

𝑓0

Connector

Fig. 9. Handling a type-2 intermediate component.

end at the face f0 in the band of C. See Fig. 10(5). We only prove the theorem

for the case when C is in layer i, and br(C,C ′) is in Yi−1, since the other cases are

similar.

In view of Lemmas 4, 5, and 6 we assume that Fbb(C′) is already unfolded into

r strips in the ccw orientation.

Let (f0, f1, . . . , fk) be the faces in the band in a counter-clockwise ordering with

respect to the y+ direction, where fi and fj , i < j, are the two faces belonging to

the connector of C. We divide the band into two regions A and B.

Our task is to link these strips together to form a single piece of a partial

unfolding meeting the condition of Lemma 3 using br(C,C ′), band(C), and con(C):

(1) For each strip Qj , we extend its two ends by moving vertically along the bridge

to layer B, turning right until reaching f1, moving vertically to layer A, turning

right and going straight until reaching fj . See Fig. 10(1, 3).

(2) Now, the edge {fj , fj+1} in portion B is divided into 2r segments: L(Q1),

R(Q1), L(Q2), R(Q2), . . ., L(Qr), R(Qr), where L(Qj) (resp., R(Qj)) stands

for the left-most (resp., right-most) edge of the strip Qj . We connect all the

strips via the connector and the path (fi, . . . , fj) in the band as follows:

• link R(Q1) and R(Qr),

• link L(Q2) and L(Qr),

• link R(Q2) and R(Qr−1),

• link L(Q3) and L(Qr−1),

Page 16: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

16 Yi-Jun Chang and Hsu-Chun Yen

•...

• (if r is odd) link L(Q r+12

) and L(Q r+12 +1).

(if r is even) link L(Q r2) and L(Q r

2+1).

See Fig. 10(2, 4) for the case when r = 3.

(3) Finally, as in the intermediate case, we finish the rest of the unfolding for the

band by extending some strips along the vertical direction.

The required refinement is (2r × 4r). By Lemma 3, the theorem is concluded.

Connector

𝑓𝑖

Band

𝐵

𝑌𝑖−1 𝑓0

(1)

𝑓𝑗

𝑓𝑖 𝑓𝑗

Connector

(2)

𝑓0

𝑓0

Bridge to children

L(Q𝑗)

)

R(Q𝑗)

)

(3)

𝑓𝑗

Connector

𝑓𝑖

𝐶

𝑓0 𝑓1

𝐶′

𝑓1

s𝑗 t𝑗

s𝑗

t𝑗

𝐴

R(Q3)

L(Q3)

R(Q2)

1

L(Q2)

R(Q1)

L(Q1)

)

𝑄1

𝑄3

𝑄2

(4)

Connector

(5)

L(Q2)

)

R(Q2)

)

R(Q3)

)

L(Q3)

)

L(Q1)

)

R(Q1)

)

Fig. 10. Unfolding the root component.

Before ending the section, we give a complete example of our linear refinement

grid-unfolding algorithm. Fig. 11 shows an orthogonal polyhedron that consists of

4 components. Fig. 11 (a 3D view) and Fig. 12 (a 2D view) together illustrate an

unfolding constructed by our algorithm based on the unfolding tree rooted at C4.

The process of the unfolding algorithm is briefly described as follows.

(1) The two leaf nodes are C1 and C3. We unfold C1 in the ccw orientation and

unfold C3 in the cw orientation. They are unfolded in different orientations

because they are on the opposite side of C2. Notice that we want the output of

the algorithm of Lemma 5 on C2 to yield strips in the same orientation, which

is ccw in the example.

(2) The next step is to extend the two strips along the band of C2. After the process,

these strips are in the ccw orientation.

Page 17: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 17

a

b

c

d

e

f

g

h

i

j

k

l

m

n

o

p

C1

C2

C3

C4

Fig. 11. An example of our linear refinement unfolding algorithm - 3D view.

(3) Finally, the two strips are merged at the root C4. The algorithm connects the

two strips at the connector of C4.

5. Unfolding 1-layer Orthogonal Polyhedra of Genus Greater Than

Zero

In this section, we turn our focus to polyhedra of genus greater than 0. As mentioned

in Section 1, very few results are known for unfolding polyhedra of genus greater

than 0, and to our best knowledge the only non-trivial result available is the one

reported in Ref. 13. They showed that some classes of 1-layer orthogonal polyhedra

whose faces are all unit grid squares can be edge-unfolded. In this section, we show

that by applying (2× 1)-refinement to a small number (more precisely, 2(g− 1)) of

faces, we can grid-unfold any 1-layer orthogonal polyhedron of genus g.

Definition 4. A polyhedron is called 1-layer if there exist two planes Y0 and Y1

orthogonal to the y-axis such that all faces normal to either the y+ or the y-

direction are in these two planes.

Page 18: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

18 Yi-Jun Chang and Hsu-Chun Yen

a b

c d

e f

g

h

i

j k

l m

n o p

b

c

c

d

d

e

e

f

f

g

j k

k

l

l

m

m

n

n

o

con(C1) con(C

3)

br(C1,C

2)

br(C2,C

3)

br(C2,C

4)

con(C4)

Fig. 12. An example of our linear refinement unfolding algorithm - 2D view.

Alternatively, a 1-layer polyhedron can be defined as one that has only one

component.

The part of the surface of a 1-layer polyhedron not in Y0 and Y1 form some

disjoint connected pieces. Like in the general case, each of such connected pieces is

called a band. If the genus of the polyhedron is g, then clearly there are g+1 bands.

One of them is the outmost one surrounding the entire polyhedron. The other k

bands are the interior ones surrounding the g holes.

We define the bridges between bands in a way similar to Definition 2.

Definition 5. A bridge between bands B and B′ consists of two straight paths

P+ = (f+0 , f+

1 , . . . , f+k ) and P− = (f−0 , f−1 , . . . , f−k ) such that

Page 19: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 19

• f0 = f+0 = f−0 (resp., fk = f+

k = f−k ) belongs to band B (resp.,B′), and f0 and

fk are normal to z+ or z− directions.

• f+1 , . . . , f+

k−1 are all normal to y+, and f−1 , . . . , f−k−1 are all normal to y−.

The only difference between Definition 5 and Definition 2 is that we have two

straight paths in a bridge in Definition 5. This reflects a nature of 1-layer polyhedra:

if there is a straight path linking two faces in different bands via Y0, then there is

a straight path linking the same two faces via Y1.

For a 1-layer orthogonal polyhedron O, an unfolding tree TU is a tree (which is

not unique) of bands of O defined as follows.

Definition 6. An unfolding tree TU is a tree of bands of the orthogonal polyhedron

O returned by the following procedure.

(1) Initially V (TU ) = the set of all bands, and E(TU ) = ∅.(2) While there exists a pair of bands {B,B′} such that

• there is a bridge between B and B′, and

• adding e = {B,B′} to E(TU ) does not create a cycle in TU ,

we add e = {B,B′} to E(TU ).

(3) The procedure ends when no more edges can be added.

The bridge between B and B′ under consideration when adding the edge {B,B′}in the procedure is denoted as br(B,B′) (which is also called the bridge associated

with {B,B′}). We write br+(B,B′) to denote the straight path (f+0 , . . . , f+

k ) in

Definition 5 associated with the bridge br(B,B′). The straight path br−(B,B′) is

defined analogously.

See Fig. 13 for illustrations of the terminologies (1-layer orthogonal polyhedron,

band, bridge, and unfolding tree) defined so far in this section. For each edge in TU ,

we draw both two straight paths associated with the edge.

Lemma 7. An unfolding tree TU of bands in a 1-layer orthogonal polyhedron is a

tree.

Proof. From the definition of TU , we know that it does not contain a cycle. Hence it

suffices to show that it is connected. Suppose that there are more than one connected

component in TU . Let S be a connected component of TU that does not contain the

outmost band. We choose f as a face normal to z- satisfying the following condition:

there exists a real number z0 such that f is on the plane z = z0 such that all faces

in all bands in S are in the (closed) half space z ≤ z0.

If we walk along a straight path starting from f in either its y+ or y- direction,

we will eventually meet a face f ′ which is normal to z+ and belongs to the (open)

half space z > z0. Hence f ′ does not belong to any band in S.

We let B′ be the band f ′ belongs to, and let B be the band f belongs to. Then

the existence of the aforementioned straight path indicates a bridge linking B,B′,

Page 20: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

20 Yi-Jun Chang and Hsu-Chun Yen

br(B1,B

3)

B1

B2

B3

B4

br(B2,B

3)

br(B3,B

4)

B1

B2

B3

B4

Fig. 13. Illustrations of basic terminologies in Section 5.

and the algorithm constructing TU should have added the edge {B,B′} to E(TU ),

a contradiction.

We designate a leaf in TU as the root (denoted as r) to make TU rooted. The

unique child of r is denoted as r′. With respect to a 1-layer orthogonal polyhedron

O and a rooted unfolding tree TU , we define the backbone Fbb, which is a set of

faces, as follows.

Fbb = Fp ∪ Fb, where

• Fp = the set of all faces belonging to bands in O.

• Fb =⋃{B,B′}∈E(TU ){the faces in br+(B,B′), br−(B,B′)} \ {the faces in

br−(r, r′)}.

In words, the backbone consists of all faces in bands and bridges in TU excluding

the faces in br−(r, r′) not belonging to r and r′. The next lemma (which is analogous

to Lemma 3) shows that an unfolding for Fbb meeting some requirements implies

an unfolding for the entire polyhedron. Similar to Lemma 3, we have the following

lemma.

Lemma 8. Let Fbb be the backbone associated with an unfolding tree of a 1-layer

polyhedron O. Suppose that the surface of Fbb can be (2 × 1)-grid-unfolded to a y-

convex orthogonal polygon Q in which each edge between a face in F (G) \ Fbb and

a face in a band satisfies the following:

• the edge is parallel to the x-axis (of the 2D Cartesian system for the unfolding

Q), and

Page 21: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 21

• the edge is not divided into multiple parts (i.e., it remains as a connected seg-

ment in the unfolding).

Then, the entire surface of O can be (2 × 1)-grid-unfolded by extending the partial

unfolding of Fbb such that no refinement is needed for the faces in F (G) \ Fbb.

In view of the above, in order to show that a 1-layer polyhedron O can be (2×1)-

grid unfolded in such a way that (2×1)-refinement is applied on only 2(g−1) faces,

it suffices to prove that such a partial unfolding for Fbb meeting Lemma 8 exists. In

what follows, we present an algorithm computing such an unfolding.

Theorem 2. Any 1-layer orthogonal polyhedron O of genus g can be (2× 1)-grid-

unfolded in such a way that the (2× 1)-refinement is applied on only 2(g− 1) faces.

Proof. We describe an algorithm that produces a partial unfolding meeting

Lemma 8 by cutting the surface formed by the faces in Fbb.

(1) Let br+(r, r′) = (f+0 , f+

1 , . . . , f+k ), where f+

0 ∈ r, f+k ∈ r′. Without loss of

generality, we assume that f+0 is normal to z- direction, and f+

k is normal to

z+ direction.

(a) We define fS as the face in r adjacent to f+0 in the x+ direction, and we cut

the edge between fS and f+0 (see Fig. 14(1)).

(b) We define fT as the face in r′ adjacent to f+k in the x- direction, and we cut

the edge between fT and f+k (see Fig. 14(1)).

(2) For each face f ∈ Fp ∩ Fb (i.e., f is a face in both a band and a straight path

associated with a bridge for an edge in TU , and f is not the above f+0 , f+

k ), we

cut the face f into two halves as described in Fig. 14(2).

We make (2×1)-refinement on only 2(g−1) faces: TU has |V (TU )|−1 = g edges,

and for each edge in E(TU ) \ {{r, r′}}, we make two refinements.

We claim that the above cuts result in a connected strip starting at fS and

ending at fT . This can be proved via an induction on subtrees of TU : For the base

case, the band corresponding to a leaf node is cut into a strip where the two ends

are at the bridge to the parent. For each intermediate node, by connecting the strips

associated with the children subtrees to the band corresponding to the intermediate

node (via the straight paths of the bridges linking the node and the children), it

can be seen that the portion of Fbb in the subtree rooted at the intermediate node

forms a strip where the two ends are at the bridge to the parent.

To see that the strip can be flattened in such a way that Lemma 8 holds, we

observe that according to our cutting rules, whenever we walk into a bridge from a

band, we always make a right turn, and similarly a left turn is made whenever we

leave a bridge. Hence the strip is an orthogonally convex polygon with a staircase

shape such that the bands are displayed horizontally while the bridges are displayed

vertically.

Page 22: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

22 Yi-Jun Chang and Hsu-Chun Yen

r

r'

f0+

fk+

fS

fT

……

… …

f1+

f

band

Br+

Br-

(1) (2)

Fig. 14. Rules of cutting the surface Fbb (thick lines indicate cuts).

See Fig. 15 and Fig. 16 for a full example of the algorithm described in the proof

of Theorem 2. In this example, we apply our algorithm on the polyhedron and the

unfolding tree (rooted at B1) described in Fig. 13. The partial unfolding of Fbb is

shown in Fig. 15. The faces marked by a number i belong to the band Bi. The

faces with +/− signs are the ones normal to y+/y- in the polyhedron. In Fig. 16 a

complete unfolding (after stitching the remaining faces) is shown.

6. Conclusion

We have shown in this paper that (i) all orthogonal polyhedra of genus 0 can be

grid-unfolded with linear refinement, and (ii) all 1-layer orthogonal polyhedra of

genu g can be grid-unfolded with (2 × 1)-refinement on only 2(g − 1) faces. Some

open problems are listed below.

Problem 1. Can all orthogonal polyhedra be grid-unfolded with sublinear refine-

ment?

Our algorithm has been extended to unfolding all orthogonal polyhedra of genus

1 or 2,14 and it seems that unfolding orthogonal polyhedra of genus greater than

2 requires new techniques. Any solution to grid-unfolding orthogonal polyhedra of

arbitrary genus with refinement will be considered very interesting.

Problem 2. Can all orthogonal polyhedra of arbitrary genus be grid-unfolded with

refinement?

We have shown that 1-layer polyhedra can be unfolded very easily with only

(2×1)-refinement. But the difficulty increases significantly when one additional layer

is allowed. Knowing how to grid-unfold 2-layer orthogonal polyhedra is definitely a

good starting point to approach the general case.

Page 23: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 23

1 1 1 1

2 2 22

2

4 4 4 44

4

3 33

3

33 3

333

19 faces

+

+

+

-

-

fS

fT

Fig. 15. An example of the (2× 1)-refinement unfolding algorithm (before stitching the remaining

faces).

For unfolding 1-layer polyhedra, special cases have been studied to reduce the

number of cuts,13 and it is still a challenging task to design an algorithm that uses

no refinement at all. Solving the following problem might be a step toward the goal

of finding a grid-unfolding algorithm that uses no refinement, if at all possible.

Problem 3. Can all 1-layer orthogonal polyhedra of genus g be grid-unfolded with

(2× 1)-refinement on only o(g) faces?

Acknowledgement

The authors thank the anonymous referees for comments that improved the cor-

rectness and the presentation of this paper.

References

1. A. Durer, Underweysung der Messung, mit dem Zirckel und Richtscheyt, in Linien,Ebenen unnd gantzen corporen (Nurnberg, 1525).

2. S. Takahashi, H.-Y. Wu, S. H. Saw, C.-C. Lin and H.-C. Yen, Optimized topologicalsurgery for unfolding 3D meshes, Computer Graphics Forum 30(7) (2011), 2077–2086.

3. G. Aloupis, P. K. Bose, S. Collette, E. D. Demaine, M. L. Demaine, K. Douıeb, V.Dujmovic, J. Iacono, S. Langerman and P. Morin, Common unfoldings of polyomi-noes and polycubes, Proc. 9th International Conference on Computational Geometry,Graphs and Applications (CGGA), J. Akiyama et al. (Eds.), LNCS Vol. 7033, Springer,Heidelberg (2011) pp. 44–54.

Page 24: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

24 Yi-Jun Chang and Hsu-Chun Yen

1 1 1 1

2 2 22

2

4 4 4 44

4

3 33

3

33 3

333

+

+

+

-

--

Fig. 16. An example of the (2 × 1)-refinement unfolding algorithm (after stitching the remaining

faces).

4. S. Gupta, D. Bourne, K. Kim and S. Krishnan, Automated process planning for sheetmetal bending operations, Journal of Manufacturing Systems 17 (1998), 338–360.

5. C.-H. Wang, Manufacturability-driven decomposition of sheet metal products, Ph.D.thesis, Carnegie Mellon University, Pittsburgh, PA, 1997.

6. J. J. Van Wijk, Unfolding the earth: myriahedral projections, The Cartographic Journal45(1) (2008), 32–42.

7. E. D. Demaine and J. O’Rourke, Geometric folding algorithms, Cambridge universitypress, Cambridge (2007).

8. J. O’Rourke, Unfolding orthogonal polyhedra, Surveys on Discrete and ComputationalGeometry: Twenty Years Later, J. Goodman, J. Pach, and R. Pollack (Eds.), AmericanMathematical Society (2008), 231–255.

9. M. Damian, R. Flatland and J. O’Rourke, Epsilon-unfolding orthogonal polyhedra,Graphs and Combinatorics 23(1) (2007), 179–194.

10. M. Damian, R. Flatland, H. Meijer and J. O’Rourke, Unfolding well-separated or-thotrees, Proc. 15th Annual Fall Workshop on Computational Geometry (2005), pp.23–25.

11. M. Damian, R. Flatland and J. O’Rourke, Unfolding Manhattan towers, Computa-tional Geometry 40(2) (2008), 102–114.

12. M. Damian, E. D. Demaine and R. Flatland, Unfolding orthogonal polyhedra withquadratic refinement: the delta-unfolding algorithm, Graphs and Combinatorics 30(1)(2014), 125-140.

13. M.-H. Liou, S.-H. Poon and Y.-J. Wei, On edge-unfolding one-layer lattice polyhedrawith cubic holes, Proc. 20th International Computing and Combinatorics Conference(COCOON), Z. Cai et al. (Eds.), LNCS Vol. 8591, Springer, Heidelberg (2014), pp.251–262.

Page 25: IMPROVED ALGORITHMS FOR GRID-UNFOLDING ...pdfs.semanticscholar.org/3a19/985a44a6c34304751d3fb05485...February 7, 2017 9:37 WSPC/Guidelines paper 2 Yi-Jun Chang and Hsu-Chun Yen unfolding

February 7, 2017 9:37 WSPC/Guidelines paper

Improved Algorithms for Grid-unfolding Orthogonal Polyhedra 25

14. M. Damian, E. D. Demaine, R. Flatland and J. O’Rourke, Unfolding genus-2 orthog-onal polyhedra with linear refinement, CoRR, abs/1611.00106 (2016).