How to Cut Corners and Get Bounded Convex Curvature

preprint2022arXivOpen access

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 QQ has \emph{bounded convex curvature} if for any point x∈∂Qx\in\partial Q, there is a unit disk UU and ε>0\varepsilon>0 such that x∈∂Ux\in \partial U and all points in UU within distance ε\varepsilon from xx are in QQ. This translates to saying that as we traverse the boundary ∂Q\partial Q with the interior of QQ on the left side, then ∂Q\partial Q turns to the left with curvature at most 11. There is no bound on the curvature where ∂Q\partial Q turns to the right. Given a region of points PP in the plane, we are now interested in computing the maximum subset Q⊆PQ\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 QQ. We devise an algorithm to compute the unique maximum such set QQ, when the boundary of PP consists of nn line segments and circular arcs of arbitrary radii. In the general case where PP may have holes, the algorithm runs in time O(n2)O(n^2) and uses O(n)O(n) space. If PP is simply-connected, we describe a faster O(nlog⁡n)O(n\log n) time algorithm.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.