#1305 dms_split_convex_polygon_keilsnoeyink and dms_convex_polygon_connectivity, and the grouped forms of dms_polygon_connectivity
Two new pages, since 20.24.0:
- dms_split_convex_polygon_keilsnoeyink: the minimum number of strictly convex parts for a polygon
without holes, what falls back to Hertel and Mehlhorn, the measured counts and times, and when it
does not pay: in the connectivity of grown parts the split cost more than the fewer parts saved.
- dms_convex_polygon_connectivity: the four forms of dms_polygon_connectivity with convex polygons as
premise, the exact test per pair, the slivers it finds that the sweep rounds away, and how much it
saves (5 to 20%, since finding the candidates takes most of the time).
dms_polygon_connectivity: the forms with a group per polygon, no pair within a group and one pair per
pair of groups, the direction of a pair of groups with one and with two sets, and the measured
advice to grow the polygons themselves when only their pairs are needed.
dms_split_convex_polygon, dms polygon operators and polygon operators: the new operators listed and
linked; the testcase description covers both split operators.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#1305 dms_split_convex_polygon: the measured gap to the minimum, not "usually close to it"
On every 200th outline of the BAG (57,290), Hertel-Mehlhorn gives 17% more parts than the
minimum for rings without holes, and an outline with one inward corner sometimes gets three
parts where two would do. The page said the count was usually close to the minimum; it now
gives the gap and points to #1305, which proposes the minimum for polygons without holes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#1300 dms_split_convex_polygon: a new page, since 20.24.0
What the parts are (their union is dms_polygon of the element, strictly convex, a convex
element stays one part, small but not minimal, independent of how the input is written, no
added vertices), the subitems it shares with dms_split_polygon, and why convex parts are
useful. Linked from polygon-operators, dms-polygon-operators (with its testcase in the
examples) and dms_split_polygon.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>