How to Cut Corners and Get Bounded Convex Curvature

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...

Full description

Saved in:
Bibliographic Details
Published inDiscrete & computational geometry Vol. 69; no. 4; pp. 1195 - 1231
Main Authors Abrahamsen, Mikkel, Thorup, Mikkel
Format Journal Article
LanguageEnglish
Published New York Springer US 01.06.2023
Springer Nature B.V
Subjects
Online AccessGet full text
ISSN0179-5376
1432-0444
DOI10.1007/s00454-022-00404-w

Cover

More Information
Summary: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 ⊆ 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.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 14
ISSN:0179-5376
1432-0444
DOI:10.1007/s00454-022-00404-w