Efficient generation of k-directional assembly sequences

Let S be a collection of n rigid bodies in 3-space, and let D be a set of k directions in 3-space, where k is a small constant. A k-directional assembly sequence for S, with respect to D, is a linear ordering (s{sub 1},...., s{sub n}) of the bodies in S, such that each si can be moved to infinity by translating it in one of the directions of D and without intersecting any s{sub j}, for j > i. We present an algorithm that computes a k-directional assembly sequence, or decides that no such sequence exists, for a set of polyhedra. The algorithm runs in O(km{sup 4/3+{epsilon}}) time, where m is the total number of vertices of the polyhedra. We also give an algorithm for {open_quote}k-directional{close_quote} rotational motions.