Throwing a Sofa Through the Window

We study several variants of the problem of moving a convex polytope $K$, with $n$ edges, in three dimensions through a flat rectangular (and sometimes more general) window. Specifically: $\bullet$ We study variants where the motion is restricted to translations only, discuss situations where such a motion can be reduced to sliding (translation in a fixed direction), and present efficient algorithms for those variants, which run in time close to $O(n^{8/3})$. $\bullet$ We consider the case of a `gate' (an unbounded window with two parallel infinite edges), and show that $K$ can pass through such a window, by any collision-free rigid motion, if and only if it can slide through it. $\bullet$ We consider arbitrary compact convex windows, and show that if $K$ can pass through such a window $W$ (by any motion) then $K$ can slide through a gate of width equal to the diameter of $W$. $\bullet$ We study the case of a circular window $W$, and show that, for the regular tetrahedron $K$ of edge length $1$, there are two thresholds $1>\delta_1\approx 0.901388>\delta_2\approx 0.895611$, such that (a) $K$ can slide through $W$ if the diameter $d$ of $W$ is $\ge 1$, (b) $K$ cannot slide through $W$ but can pass through it by a purely translational motion when $\delta_1\le d<1$, (c) $K$ cannot pass through $W$ by a purely translational motion but can do it when rotations are allowed when $\delta_2 \le d<\delta_1$, and (d) $K$ cannot pass through $W$ at all when $d<\delta_2$. $\bullet$ Finally, we explore the general setup, where we want to plan a general motion (with all six degrees of freedom) for $K$ through a rectangular window $W$, and present an efficient algorithm for this problem, with running time close to $O(n^4)$.


Introduction
Let K be a convex polytope (a "sofa") in R 3 with n edges, and let W be a rectangular window, placed in the xy-plane in the axis-parallel position [0, a] × [0, b], where a and b are the respective width and height of W . We assume that the complement of W in the xy-plane is a solid wall that K must avoid. The problem is to determine whether K can be moved, in a collision-free manner, from any position that is fully contained in the upper halfspace z > 0, through W , to any position that is fully contained in the lower halfspace z < 0, and, if so, to plan such a motion (see Figure 1).

Figure 1
Moving a convex polytope K through a window W .
A continuous motion of a rigid body in three dimensions has six degrees of freedom, three of translation and three of rotation, and in the general form of the problem, studied in Section 8, we allow all six degrees. On the way, we will study simpler versions where only restricted types of motion are allowed, such as purely translational motion (that has only three degrees of freedom), a translational motion in a fixed direction, which we refer to as sliding (one degree of freedom), or a translational motion combined with rotations around the vertical axis only (four degrees of freedom), etc. Some of our main results show that, in certain favorable situations, the existence of a general collision-free motion of K through W implies the existence of a restricted motion of one of these types. This allows us to solve the problem in a significantly more efficient manner.
In terms of the free configuration space F of K, all the placements of K that are fully contained in the upper (resp., lower) halfspace are free, and form a connected subset F + (resp., F − ) of F. Our problem, in general, is to determine whether both F + and F − are contained in the same connected component of F. This interpretation applies to the general setup, with six degrees of freedom, as well as to any other subclass of motions, with fewer degrees of freedom.
Motion planning is an intensively studied problem in computational geometry and robotics. A systematic and general way to describe the free space F is by using constraint surfaces, namely surfaces describing all the configurations where some feature on the boundary of the moving object (K in our case) touches a feature on the boundary of the free workspace (W in our case); see, e.g., [12,18,19]. These surfaces partition the configuration space into cells, each of which is either fully contained in F or fully contained in the forbidden portion of the configuration space. This representation is based on the arrangement A of the constraint surfaces, whose number in our case is O(n), one surface for each feature (edge or vertex) of W and each feature (edge, vertex or face) of K. Each cell of A is fully contained either in F or in its complement. Hence the complexity of F is O(n d ), where d is the number of degrees of freedom (namely, the dimension of the configuration space) [12]. To exploit this representation, we construct and transform it into a so-called discrete connectivity graph, which can be searched for the existence of a motion of the desired kind.
One common way of doing this is to further decompose the arrangement into subcells of constant complexity, using vertical decomposition [4]. Such constructions are easily implementable for motion planning with two degrees of freedom [8], but become significantly more involved for problems with three or more degrees of freedom. This has lead to the development of alternative methods, such as sampling-based techniques (see [5,Chapter 7] and [10]), the best known of which are PRM [16] and RRT [17], which have dozens of variants. While extremely successful in solving practical problems, they trade-off the completeness of the arrangement approach with efficiency, and may fail when the setting contains tight passages [21,22], a situation that can arise in the problems that we study in this paper.
Toussaint [25] studied movable separability of sets, where he collected a variety of tightsetting motion planning problems, similar in nature to the problems studied here. These problems are interesting theoretically (see, e.g., [24] for such a problem and its intriguing solution), but also from an applied perspective, since motion in tight settings often arises in manufacturing processes such as assembly planning [11] or casting and molding [3].
It was in Toussaint's review [25] that we encountered the problem of "throwing" a polytope through a window. Although Toussaint's paper was published 35 years ago, we are not aware of any previous progress on this specific problem. We remark that the word sofa in the title of the paper is borrowed from the classical two-dimensional moving sofa problem (see, e.g., [6,9]), which is to find the shape of largest area that can be moved through a corner in an L-shaped corridor whose legs have width 1.
Our results. We first consider, in Section 2, sliding motions (translations in a fixed direction) of K. We characterize situations in which such a sliding motion exists, and present efficient algorithms, with runtime close to O(n 8/3 ), for finding such a motion when one exists.
We next consider, in Section 3, the case where W is an unbounded slab, enclosed between two parallel unbounded lines (we call it a gate). We show that if K can pass through such a gate W , by any collision-free rigid motion, it can also slide throgh W , making the general motion planning problem through a gate particularly easy to solve.
In Section 4, we consider arbitrary compact convex windows, and show that if K can move through such a winodw W , by an arbitrary collision-free motion, then K can slide through a gate of width equal to the diameter of W , and this holds in any sliding direction. This requires nontrivial topological arguments, presented in Section 4 and in the full version of the paper [14].
We then consider, in Section 5, purely translational motions of K through a rectangular window W , and prove that the existence of such a purely-translational collision-free motion implies the existence of a collision-free sliding motion keeping the same orientation as in the translational motion. For a given fixed orientation of K we can determine in linear time whether K can translate (and hence slide) through W keeping the given orientation, and if so plan the motion, also in linear time. We also give a near-linear time algorithm for planning the motion of K through an arbitrary (flat) polygonal window of fixed (constant) complexity.

41:4 Throwing a Sofa Through the Window
In Section 6, we show that rotations are sometimes needed, by giving an example of a convex polytope K (actually a tetrahedron) that can move through a square window W by a collision-free motion that includes rotation (only around an axis orthogonal to W ), but there is no purely translational motion of K through W .
In Section 7, we consider the problem of passing through a circular window W , and show that, for the regular tetrahedron K of edge length 1, there are two thresholds 1 > δ 1 ≈ 0.901388 > δ 2 ≈ 0.895611, such that (i) K can slide through the window W if the diameter d of W is ≥ 1, (ii) K cannot slide through W but can pass through it by a purely translational motion when δ 1 ≤ d < 1, (iii) K cannot pass through W by a purely translational motion but can do it with rotations when δ 2 ≤ d < δ 1 , and (iv) K cannot pass through W at all when d < δ 2 .
We finally consider, in Section 8, the general problem, with all six degrees of freedom. We present an efficient algorithm, which runs in time close to O(n 4 ), for constructing the free configuration space, from which one can construct, within a comparable time bound, a valid motion through W if one exists.

Translation in a fixed direction
In this section we address the case in which the movement is purely translational in a single fixed direction. Such a motion, to which we refer as a sliding motion, has only one degree of freedom. In the most restricted version (which is very easy to solve), we are given a fixed orientation of K at a fixed initial placement, and also the direction of motion. In this section we study a more general setting, in which we seek values for these parameters -orientation, initial placement, and direction of motion, for which such a sliding motion of K through W is possible (or determine that no such motion is possible). In Section 2.1 we observe that if a sliding motion for K exists, then K can also slide in a direction orthogonal to the plane of the window. Using this and other structural properties of the problem, we transform the problem at hand into a certain range searching problem. We present an efficient novel solution to the latter problem, which yields an algorithm for solving our original problem, whose running time is close to O(n 8/3 ).

The existence of an orthogonal sliding motion
For the most general version of the sliding motion, in which none of the parameters (orientation, initial placement, and direction of motion) is prespecified, we have: ▶ Lemma 1. If K can slide through W from some starting placement in some direction, then K can slide through W , possibly from some other starting placement (and at another orientation), by translating it in the negative z-direction.
Proof. Let K 0 be the starting placement of K and let ⃗ v be the direction of motion through W , for which the resulting sliding motion is collision-free. Form the infinite prism Π 0 := The premise of the lemma implies that the intersection of Π 0 with the xy-plane is contained in W .
Let W 0 be the orthogonal projection of W onto some plane orthogonal to ⃗ v. Note that W 0 is a parallelogram, and that, by construction, K 0 can pass through W 0 when translated in direction ⃗ v. By an old result, reviewed and proved by Debrunner and Mani-Levitska [7], it follows that, when mapped rigidly into the xy-plane, W 0 (the "shadow" of W in direction ⃗ v) can be placed fully within W (see Figure 2). 1 Figure 2 The projection of W (green) can be located in a congruent copy of W (blue). Now rotate and translate R 3 so that ⃗ v becomes the (negative) z-direction, and the image of W 0 is fully contained in (the former, untransformed copy of) W . Then the image of K under this transformation can be moved vertically down through W , in a collision-free manner, as asserted. ◀ Debrunner and Mani-Levitska's proof is involved, and applies to an arbitrary planar convex shape (showing that it contains its projection in any direction). In the full version of the paper [14] we give a simple alternative proof for the case of a rectangle.

Finding a sliding motion
The following discussion is with respect to a fixed initial placement The silhouette itself is the cyclic sequence of vertices and edges of K, whose projections form the projected silhouette. 2 The silhouette and its projection do not change combinatorially, that is, when represented as a cyclic sequence of vertices and edges of K (or of their projections), as long as ⃗ v is not parallel to any face of K 0 . We thus form the set of the O(n) great circles on S 2 that are parallel to the faces of K 0 , and construct their arrangement A 0 on S 2 , which is also known as the aspect graph of K 0 [20]. In each face φ of A 0 the combinatorial structure of the silhouette is fixed, but the projected silhouette varies continuously as ⃗ v moves in φ.
A view of K 0 is a pair (⃗ v, θ), where ⃗ v is a direction, and θ is the angle of rotation of the projected silhouette within h ⃗ v (translations within that plane are ignored). The space of views is thus three-dimensional. A fixed view (⃗ v, θ) fixes the uppermost, leftmost, bottommost and rightmost vertices w t , w l , w b and w r of the projected silhouette. The view is valid if When ⃗ v is fixed and θ varies, we get O(n) quadruples (w t , w l , w b , w r ) of the projected silhouette. The view is valid if the inequalities in (1) (which depend on (⃗ v, θ)) have a solution for one such quadruple, which lies in the appropriate portion of the view space (in which w t , w l , w b , w r are indeed the four extreme vertices). The existence of a valid view is equivalent to the existence of a sliding motion of K 0 through W , after suitably shifting K 0 and rotating it around ⃗ v by θ. We give more details in the full version [14], where we show that the total number of quadruples of vertices is O(n 3 ), from which we obtain an algorithm for finding a valid view, with near-cubic running time.

41:6
Throwing a Sofa Through the Window

An improved algorithm
We next present an improved, albeit more involved algorithm that solves the problem of finding a sliding motion of K, if one exists, in time O(n 8/3 polylog(n)). The problem of finding a direction ⃗ v in which we can slide K through W is equivalent to the problem of finding a placement of W in some plane h, such that the projected silhouette of K on h is contained in W , which in turn is equivalent to verifying that all the projected vertices of K fit into that placement of W .
An equivalent way of checking for the latter characterization is to look for two unit vectors x and y in R 3 (which will be the directions of the axes of W in the desired placement; note that h is spanned by x and y) that satisfy: (Note that since we go over all ordered pairs of vertices of K in (ii), (iii), we actually require that |⟨x, e⟩| ≤ a and |⟨y, e⟩| ≤ b for each such segment e.) Every inequality in (ii) defines a halfspace that has to contain x. We intersect those O(n 2 ) halfspaces, to obtain a convex polytope Q of complexity O(n 2 ), and intersect Q with the unit sphere S 2 to obtain the admissible region A of the vectors x that satisfy (ii), in O(n 2 log n) time. The region A is bounded by circular arcs (not necessarily arcs of great circles), which meet at the vertices of A. We apply the same procedure for y using the suitable collection of halfspaces in (iii), and obtain the admissible region B for the vectors y that satisfy (iii), also in O(n 2 log n) time.
To satisfy (i) too, we need to check whether there exist an orthogonal pair of vectors x ∈ A, y ∈ B. We use the following lemma, whose proof is given in the full version [14].
We iterate over the points of S A ∪ T A . For each such point v let C v be the great circle orthogonal to v, and let C denote the collection of these O(n 2 ) great circles. We face the problem of determining whether any great circle in C crosses B, which is essentially the problem of determining whether any great circle in C crosses an arc of ∂B. By centrally projecting the setup onto two parallel planes, the problem is further reduced to the problem where we have a set of M = O(n 2 ) lines and a set of N = O(n 2 ) arcs of conic sections in the plane, and the goal is to determine whether there is a line-arc intersection. The important role of Lemma 2 is that it enables us to reduce the quest for an orthogonal pair (x, y) into a finite number (O(n 2 )) of range-searching queries, by asserting that if an orthogonal pair exists, then there exists an orthogonal pair where at least one of x, y is from a prescribed discrete set of points.
In the full version [14] we give full details of our solution. Here is a brief sketch. With no loss of generality, assume that each input arc is x-monotone and convex. Then a rightwardoriented line ℓ intersects an arc γ if and only if one of the following conditions holds: (i) The two endpoints of γ lie on different sides of ℓ. See Figure 3(i).
(ii) The two endpoints of γ lie to the left of ℓ, γ has a tangent that is parallel to ℓ (that is, the slope a of ℓ lies between the slopes of the tangents to γ at its endpoints), and ℓ lies to the left of the tangent to γ with slope a. See Figure 3(ii).
Using carefully designed multi-level range-searching data structures, we can test whether some pair of an input line and an input arc satisfy (i) or (ii), in time O(M 2/3 N 2/3 polylog(M + N )) = O(n 8/3 polylog(n)). 3 Hence, within the same time bound, we can find a valid view of K, and thus a collision-free sliding motion of K through W , if one exists. That is, we have: ▶ Theorem 3. Given K and W as above, we can determine whether K can slide through W in a collision-free manner, and, if so, find such a sliding motion, in time O(n 8/3 polylog(n)).

Unbounded windows
In this section we consider the variant in which W is an infinite slab in the xy-plane, bounded by, say, two vertical lines x = 0 and x = a. We refer to such a window as a gate. We show: ▶ Theorem 4. Let K be a convex polytope that can be moved by some collision-free rigid motion through a gate W . Then there exists a sliding collision-free motion of K through W .
We can therefore apply the machinery of Theorem 3, and conclude that we can determine whether K can be moved through W by a collision-free motion, in time O(n 8/3 polylog(n)). The full details of the proof of the theorem are given in the full version [14]. Here is brief sketch. By projecting the moving polytope K and W onto the xz-plane, W projects to the interval g := [0, a] × {0}, and K projects to a time-varying convex polygon that starts from a placement that lies in the upper halfplane z > 0 and reaches a placement that lies in the lower halfplane z < 0. For technical reasons, we approximate K by a smooth convex body, and reduce the problem to the case where K is smooth and convex.

41:8 Throwing a Sofa Through the Window
At any time t during the motion, the projected planar region π(K(t)) (where K(t) is the placement of K at time t) meets g at some interval I(t) (we ignore the prefix and suffix of the motion where K(t) does not yet meet, or no longer meets W ). We consider the two tangents to π(K(t)) at the endpoints κ − (t), κ + (t) of I(t), and note that, at the beginning of the motion, the wedge that these tangents form and that contains K(t) points upwards, and at the end of the motion it points downwards; see Figure 4. Since the tangents vary continuously (because K(t) is always smooth), there must be a time t 0 at which the two tangents are parallel to each other, and thus span a slab σ (in the xz-plane) whose width is clearly ≤ a. See Figure 5. The Cartesian product of σ and the y-axis yields a slab σ * in R 3 , whose cross-section with the xy-plane is contained in W . This in turn implies that K can slide through W , and completes the proof. □ Figure 5 The critical instance t0 where the tangents at κ − (t0) and at κ + (t0) become (anti-) parallel.

From passing through an arbitrary convex window to sliding through a gate
In this section we prove a similar yet different property of a convex polytope passing through an arbitrary compact planar convex window, not necessarily rectangular. We provide two different topology-based proofs of Theorem 5, both presented in full detail in the full version [14]. We sketch here one of these proofs. But first here is an interesting corollary of the theorem, also proved in [14].
▶ Corollary 6. If K can be moved through a rectangular window W of dimensions a×b by some collision-free motion, then K can slide through a rectangle of dimensions min (a, b)× √ a 2 + b 2 .
Sketch of a proof of Theorem 5. Similar to the previous section, we first prove the theorem for smooth strongly convex compact bodies, and then extend the result to polytopes (see [14]). Consider the motion of K, now assumed to be a smooth, strongly convex, and compact body, during the time interval [0, 1]. Assume that at t = 0 (resp., at time t = 1), K lies fully above (resp., below) the xy-plane. Fix some direction ⃗ v, and let C = C(⃗ v) denote the silhouette of K when viewed in direction ⃗ v. Let h be some plane orthogonal to ⃗ v, and let π h denote the orthogonal projection onto h. Parameterize a point u ∈ C by the orientation θ of the tangent at π h (u) to K h := π h (K), which is well defined since K is smooth and strongly convex, and let γ = γ h be the inverse of π h , that is, γ(θ) is the unique point u ∈ C such that π h (u) = θ. Since K is assumed to be strongly convex, K h is also strongly convex, and γ is a well-defined and continuous function on S 1 . We extend γ to a bivariate function γ * : S 1 × [0, 1] → R 3 , so that γ * (θ, t) is the position (in the ambient 3-space) of γ(θ) at time t during the motion of K.
The functions δ 0 (θ) = δ(θ, 0) and δ 1 (θ) = δ(θ, 1) are defined and continuous on S 1 , and we extend each of them to the closed unit disk B 1 bounded by S 1 , in polar coordinates, which, for technical reasons, we write in reverse order as (θ, r), by It is easily checked that these extensions are well defined and continuous over B 1 . Moreover, δ * 0 (θ, r) > 0 and δ * 1 (θ, r) < 0 for every θ. We now take our function δ, which is so far defined on the side surface S of the cylinder S 1 × [0, 1], and extend it to the entire boundary S * := S ∪ B 0 ∪ B 1 of the cylinder, so that δ coincides with δ * 0 on the base B 0 of the cylinder at t = 0, and with δ * 1 on the base B 1 at t = 1. Clearly, the extended δ is well defined and continuous over S * .
To simplify the forthcoming analysis, we identify S * with the unit sphere S 2 , which we parameterize by (θ, z), where θ ∈ S 1 is the horizontal orientation of the point on S 2 and z is its z-coordinate (so θ is not well defined at the north and south poles of S 2 ). We use the simple homeomorphism f that maps a point (θ, t) ∈ S to (θ, t − 1/2) ∈ S 2 , maps a point (θ, r) ∈ B 0 to (θ, −1 + r/2) ∈ S 2 , and maps a point (θ, r) ∈ B 1 to (θ, 1 − r/2) ∈ S 2 . See Figure 6 for an illustration.
Define a function G from S 2 to R 2 by G(θ, z) = (δ(θ, z), δ(θ + π, z)) , for (δ, z) ∈ S 2 . Our goal is to show that G(S 2 ) contains the origin. Note that, by construction, G(f (B 0 )) is fully contained in the positive quadrant Q 1 := {(x, y) | x, y > 0}, and G(f (B 1 )) is fully contained S o C G 2 0 2 1 Figure 6 Identifying S * with the unit sphere S 2 . B0 is shown in green, B1 in orange, and S in light blue. In (i) S * is depicted, in (ii) an intermediate snapshot of the deformation is shown, for visual convenience, and in (iii) the final unit ball is shown, divided into the three parts that correspond to B0, S and B1.
in the negative quadrant Q 3 := {(x, y) | x, y < 0}. Thus, if G(S 2 ) contains the origin then so does G(f (S)). Once this property is established, it provides us with a pair (θ, z) such that δ(θ, z) = δ(θ + π, z) = 0, which means that there are two antipodal points u, v ∈ C that pass through W simultaneously. Therefore their distance must be at most the diameter of W , and hence also the distance between the parallel tangent planes through them, which is a slab parallel to ⃗ v of width at most d that contains K, as asserted.
Assume to the contrary that G(S 2 ) does not contain the origin. Then we can normalize G to the function which maps S 2 continuously to the unit circle S 1 . The function G, and thus also the function H, are symmetric with respect to the line y = x in R 2 , meaning that G(θ + π, z) = Σ(G(θ, z)), for (θ, z) ∈ S 2 , and thus also H(θ + π, z) = Σ (H(θ, z)), where Σ is the reflection about y = x, that is, Σ(x, y) = (y, x). We now use the property that the real line is a covering space of S 1 , in the specific (and easily verified) sense that the continuous map p : R → S 1 , given by p(x) = e 2πix , for x ∈ R, is surjective, and, for each w ∈ S 1 , there exists an open neighborhood U of w such that p −1 (U ) is the disjoint union of open sets in R, each of which is mapped homeomorphically to U by p. The map p is called the covering map.
A well known property of covering spaces is the lifting property (reviewed, e.g., in [1]; see also [15]), a special case of which asserts, in the specific context used here, that, if φ is any continuous map from S 2 to S 1 then φ can be lifted to a map ψ : Applying the lifting property to the function H, we get a continuous mapping T : S 2 → R, such that p • T = H, so we have the property that p(T (θ + π, z)) = Σ(p (T (θ, z))), for (θ, z) ∈ S 2 .
As is easily checked, we have Σ e iy = e i(π/2−y) , and therefore, for a point x ∈ R, we have Σ(p(x)) = Σ e 2πix = e πi/2−2πix = p(1/4 − x), so p(T (θ + π, z)) = p(1/4 − T (θ, z)), This in turn implies, by the definition of p, that T (θ + π, z) = 1/4 + k θ,z − T (θ, z), for some integer k θ,z . However, since T is continuous, there must be a single integer k such that k θ,z ≡ k for all θ and z. That is, we have By an easy application of the mean-value theorem (which is also a special case of the Borsuk-Ulam theorem in dimension 1), there exist θ 0 and θ 1 such that, recalling that the value z = −1/2 (resp., z = 1/2) corresponds to points on the lower (resp., upper) circle bounding S, Substituting in (2), we get However, by construction, H(θ 0 , −1/2) lies in the first quadrant Q 1 , and H(θ 1 , 1/2) lies in the third quadrant Q 3 . Hence we have T (θ 0 , −1/2) ∈ (0, 1/4) + Z and T (θ 1 , 1/2) ∈ (1/2, 3/4) + Z, but 1/8 + k/2 can belong to only one of these sets (depending on whether k is even or odd). This contradiction shows that G(S 2 ), and thus also G(f (S)), contains the origin, as asserted. So far the proof was for a smooth strongly convex compact bodies. The extension to the case of a convex polytope K is done exactly as in the analysis in the preceding section (which is spelled out in the full version [14]). ◀

Purely translational motions
In this section we show that purely translational motions of K through a rectangular window W are not more powerful than sliding. Specifically, we have the following theorem, which is, in a sense, a strengthening of Lemma 1. The proofs of the theorems in this section are given in [14].
▶ Theorem 7. If K can be moved through a rectangular window W by a purely translational collision-free motion in some fixed orientation Θ, then K can be moved through W , possibly from some other starting position, by sliding while keeping the same orientation Θ.
We also address a more restricted case where we are given a prescribed orientation Θ and we wish to find a purely translational motion for K with this orientation. We denote the polytope K at orientation Θ (ignoring translations) by K Θ . We obtain the following results. Rotations are needed So far we have considered versions of the problem in which we were able to show that the existence of an arbitrary collision-free motion of K through W implies that K can also slide through W (or, in one instance, through another window related to W ). However, perhaps not very surprisingly, this is not the case in general. We show in this and the following section that in general rotations are needed to obtain a collision-free motion of the polytope through the window.  Figure 7). Then 1. K cannot pass through W by any purely translational collision-free motion (for sufficiently large h ≫ 1).

K can pass through W by a collision-free motion with only two degrees of freedom:
translating in the z-direction combined with rotation around a z-vertical axis (for any value of h > 0).
The proof is given in the full version [14].

Figure 7
The tetrahedron K = ABCD of Lemma 10.

The case of a circular window
In this section we study the case where W is a circular window. There are (at least) three possible types of motion of K through W : sliding, purely translational motion, and general motion with all six degrees of freedom. In this section we show that these types are not equivalent, as spelled out in the following theorem. Proof sketch; the full proof is in [14].
(i) If d ≥ 1 then, as is easy to show, K can slide through W , because K can be enclosed in a cylinder of diameter 1, whose axis is orthogonal to two opposite edges of K. (ii) We need to show that, for this range of d, (a) K cannot slide through W at any fixed orientation and direction of sliding, but (b) K can pass through W by a collision-free purely translational motion. For (a), a suitable adaptation of Lemma 1 shows that if K can slide through W in some direction then it can also slide in the vertical z-direction. It therefore suffices to show that K cannot be contained in a cylinder of diameter smaller than 1. A proof of this fact can be found in [2]. For the sake of completeness, we reproduce the proof in the full version [14], where we also provide the full details of the proof of (b). (iii) We construct a simple five-step motion of K through W , or rather of W through K.
The details are given in the full version [14], and are illustrated in Figure 8. For this five-step motion to work, there has to exist a cross section through B (BU V in Figure 8(ii)) that can be enclosed by a disc of diameter d (and we show, in the full version [14], that this ensures that the entire motion is collision-free). A numerical calculation shows that the cross section through a vertex with the smallest enclosing disc is such that the diameter of this disc is δ 2 ≈ 0.895611. This establishes (iii). (iv) When d < δ 2 no motion is possible because no cross section through a vertex can be enclosed by a disc of diameter d, as just argued. ◀

Planning general rigid collision-free motion of a convex polytope through a rectangular window
Finally we deal with the general case, in which the motion of K has all six degrees of freedom. By standard (and general) arguments in algorithmic motion planning the free configuration space for this problem has complexity O(n 6 ), and it can be computed in O(n 8+ε ) time [13], from which we can easily extract a solution path, when one exists, within the same time bound. We show here that we can exploit the special structure of the problem at hand to find a solution, or detect and notify that none exists, in time close to O(n 4 ). We sketch below the main ideas; the full details are given in the full version [14]. If there is a solution path for K to move through W with all six degrees of freedom, then there is also a canonical solution path where at all times at which K intersects the plane of W (namely the xy-plane), K touches the bottom and left edges of W with two edges e b and e ℓ (possibly with the closure of these edges, namely with vertices of K, and possibly with more than one edge touching a side of W ). During this motion, for every point on the path define e t to be the edge of K whose intersection with the xy-plane has the largest y-coordinate, and e r to be the edge of K whose intersection with the xy-plane has the largest x-coordinate.
We now split the canonical solution path into maximal open segments, along which the open edges e b , e ℓ , e t , and e r are fixed. We construct a collection of four-dimensional subspaces of the full-dimensional configuration space, one for each such quadruple e b , e ℓ , e t , e r of four edges, consisting of those free placements that have those four edges as the extreme edges in the x-and y-directions within the xy-plane. This can be done in total O(n 4 ) time since each of these subspaces has constant descriptive complexity.
The major remaining problem is to economically detect the free connections among these O(n 4 ) subspaces. The efficiency of our approach relies on the following lemma (proved in [14]), which asserts that the total number of certain quintuplets of edges of K that encode these connections is only O(n 4 ), rather than O(n 5 ), and that they can be computed efficiently: ▶ Lemma 12. The maximum number of quintuplets (e r , e t , e ℓ , e b , e ξ ), where e r , e t , e ℓ , e b are as defined above, and e ξ is another edge of K whose intersection with the xy-plane h xy has the same x-(respectively, y-) coordinate as the intersection with h xy of e ℓ or e r (respectively, e b or e t ), is O(n 4 ). All these quintuplets can be computed in O(n 3 λ q (n) log n) time 4 for some small constant q.
This in turn leads to the following summary result.
▶ Theorem 13. Given a convex polytope K with n edges and a rectangular window W , we can construct a collision-free motion of K through W , if one exists, or determine that no such motion exists, in time O(n 3 λ q (n) log n), for some small constant q. The algorithm requires O(n 4 ) storage.
The proofs and the algorithm are given in the full version [14].

Conclusion and further research
In this paper we have studied a variety of problems concerning collision-free motion of a convex polytope through a planar window, under several kinds of allowed motion -sliding (translating in a fixed direction), purely translational motion, and general motion. We have presented several structural properties and characterizations of such motions, and obtained efficient algorithms for several special cases, as well as for the general case.
There are several open problems and directions for further research. One such direction is to show that the near-quartic upper bound, established in Section 8, on the cost of the general motion planning problem for K and a rectangular window W is almost tight in the worst case, in the specific sense of establishing a lower bound Ω(n 4 ) on the worst-case complexity of the resulting free configuration space, a property that we conjecture to hold, and have in fact an initial plan for establishing this bound.
In addition, in Section 6, we presented an example in which a rotation is needed to pass a polytope through a rectangular window. However, in this construction we only used rotation about the line perpendicular to the plane that contains the window. This suggests the conjecture that every convex polytope that can pass through a rectangular window W can also pass through W by a motion consisting of arbitrary translations and rotations only about the line perpendicular to the plane of W . The results of Section 7 show that for circular windows this claim is false in general, but the status of the conjecture is still open for a rectangular window.
It is also not clear what can be said about the motion of a general non-convex polytope through a rectangular, general convex, or even non-convex window. There are several variants of this question, depending on the type of motion that we allow, both in terms of structural properties of the motion, and of the efficiency of algorithms for performing it.