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.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.