  We define a plane curve to be threadable if it can rigidly pass through a
point-hole in a line L without otherwise touching L. Threadable curves are in a
sense generalizations of monotone curves. We have two main results. The first
is a linear-time algorithm for deciding whether a polygonal curve is
threadable---O(n) for a curve of n vertices---and if threadable, finding a
sequence of rigid motions to thread it through a hole. We also sketch an
argument that shows that the threadability of algebraic curves can be decided
in time polynomial in the degree of the curve. The second main result is an O(n
polylog n)-time algorithm for deciding whether a 3D polygonal curve can thread
through hole in a plane in R^3, and if so, providing a description of the rigid
motions that achieve the threading.
