Abstract

We describe an algorithm for solving an important geometric problem arising in computer-aided manufacturing. When cutting away a region from a solid piece of material—such as steel, wood, ceramics, or plastic—using a rough tool in a milling machine, sharp convex corners of the region cannot be done properly, but have to be left for finer tools that are more expensive to use. We want to determine a toolpath that maximizes the use of the rough tool. In order to formulate the problem in mathematical terms, we introduce the notion of bounded convex curvature. A region of points in the plane \(Q\) has bounded convex curvature if for any point \(x\in \partial Q\), there is a unit disk U and \(\varepsilon >0\) such that \(x\in \partial U\) and all points in U within distance \(\varepsilon \) from x are in \(Q\). This translates to saying that as we traverse the boundary \(\partial Q\) with the interior of \(Q\) on the left side, then \(\partial Q\) turns to the left with curvature at most 1. There is no bound on the curvature where \(\partial Q\) turns to the right. Given a region of points \(P\) in the plane, we are now interested in computing the maximum subset \(Q\subseteq P\) of bounded convex curvature. The difference in the requirement to left- and right-curvature is a natural consequence of different conditions when machining convex and concave areas of \(Q\). We devise an algorithm to compute the unique maximum such set \(Q\), when the boundary of \(P\) consists of n line segments and circular arcs of arbitrary radii. In the general case where \(P\) may have holes, the algorithm runs in time \(O(n^2)\) and uses O(n) space. If \(P\) is simply-connected, we describe a faster \(O(n\log n)\) time algorithm.

Full Text
Published version (Free)

Talk to us

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

Schedule a call