How to Cut Corners and Get Bounded Convex Curvature

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∈∂ Q, there is a unit disk U and >0 such that x∈ ∂ U and all points in U within distance from x are in Q. This translates to saying that as we traverse the boundary ∂ Q with the interior of Q on the left side, then ∂ Q turns to the left with curvature at most 1. There is no bound on the curvature where ∂ Q turns to the right. Given a region of points P in the plane, we are now interested in computing the maximum subset Q⊂eq 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(n2) and uses O(n) space. If P is simply-connected, we describe a faster O(n n) time algorithm.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…