Skip to content
ExtendedSource checked

Hertel-Mehlhorn Convex Decomposition

Hertel-Mehlhorn Convex Decomposition addresses convex polygon decomposition by removing unnecessary triangulation diagonals while preserving convex pieces.

Quick Facts

Compact metadata for implementation and discovery.

Category
Geometry
Difficulty
Intermediate
Family
Polygon Partitioning
Tier
Extended
Status
Verified
Review
Source Checked
Sources
2
Formulas
0
Relationships
6
Code example
Ready
Visualization
Ready

Overview

Hertel-Mehlhorn Convex Decomposition is a polygon partitioning method for convex polygon decomposition. It works by removing unnecessary triangulation diagonals while preserving convex pieces.

Core Concepts

convex polygon decompositionpolygon partitioninggeometric primitivesgeometry

Quick facts

Complexity

Runtime and memory behavior at a glance.

Best

O(n)

Average

O(n log n)

Worst

O(n^2)

Space

O(n)

When to Use

  • Use Hertel-Mehlhorn Convex Decomposition when solving convex polygon decomposition and you want to benefit from removing unnecessary triangulation diagonals while preserving convex pieces.
  • Choose it when O(n log n) average/worst-case time and O(n) memory match your workload profile.
  • Prefer it over Monotone Polygon Partitioning or Bayazit Convex Decomposition when the problem structure favors convex polygon decomposition.

When Not to Use

  • Avoid when coordinate precision is too low for the required geometric decisions.
  • Avoid when degenerate cases dominate and the implementation has no robustness strategy.

What It Does

  • Computes convex polygon decomposition within Polygon Partitioning workloads (O(n log n) time, O(n) space).
  • Works by removing unnecessary triangulation diagonals while preserving convex pieces.
  • Maintains key invariants across convex polygon decomposition, polygon partitioning, geometric primitives.

Use Cases

  • Production and research workloads requiring convex polygon decomposition via removing unnecessary triangulation diagonals while preserving convex pieces.
  • Polygon Partitioning pipelines where O(n log n) time and O(n) space fit system constraints.
  • Engineering comparisons against Monotone Polygon Partitioning and Bayazit Convex Decomposition when tuning convex polygon decomposition.

Inputs

  • Points, segments, polygons, or geometric primitives
  • Query or construction parameters

Outputs

  • Geometric decision, measurement, or constructed structure

Pseudocode

  1. 1.Normalize input coordinates, primitives, or pixel buffers and initialize spatial data structures for convex polygon decomposition.
  2. 2.Establish the sweep event queue, hierarchy, or scale-space pyramid required by Hertel-Mehlhorn Convex Decomposition.
  3. 3.Process geometric predicates or pixel neighborhoods by removing unnecessary triangulation diagonals while preserving convex pieces.
  4. 4.Resolve boundary degeneracies, occlusions, or threshold suppressions to maintain consistency.
  5. 5.Output the final convex polygon decomposition primitives, descriptors, or composited buffer.

Canonical Example

Input
Points, segments, polygons, or geometric primitives configured for a representative convex polygon decomposition test case
Output
Geometric decision, measurement, or constructed structure satisfying Hertel-Mehlhorn Convex Decomposition invariants
Explanation
Hertel-Mehlhorn Convex Decomposition processes the input by removing unnecessary triangulation diagonals while preserving convex pieces, tracking convex polygon decomposition and polygon partitioning to produce the verified convex polygon decomposition result.

Implementation Notes

  • Normalize orientation and coordinate conventions at module boundaries.
  • Add degenerate cases such as collinear points and touching edges.
  • Use robust predicates where sign errors change topology.

Common Pitfalls

  • Ignoring collinear, coincident, or nearly degenerate geometry.
  • Relying on floating-point signs without a robustness strategy.
  • Mixing coordinate systems or orientation conventions.

Interactive Mechanism Walkthrough

Spatial Primitive & Sweep-Line Canvas

Show removing unnecessary triangulation diagonals while preserving convex pieces on a small convex polygon decomposition example.

Hertel-Mehlhorn Convex Decomposition mechanism walkthrough step 1 of 5
Step 1 of 5: Normalize input coordinates, primitives, or pixel buffers and initialize spatial data structures for convex polygon decomposition.
geometry-mechanism

Notes

Hertel-Mehlhorn Convex Decomposition operates in O(n log n) time and O(n) space within the Polygon Partitioning family. Often compared with Monotone Polygon Partitioning and Bayazit Convex Decomposition.

Sources (2)

What each reference supports for this entry.

Computational Geometry: Algorithms and Applications

Book

Textbook support for Hertel-Mehlhorn Convex Decomposition's computational geometry problem family, predicates, structures, or geometric construction.

Open source

The Algorithm Design Manual

Book

Algorithm catalog support for Hertel-Mehlhorn Convex Decomposition in the computational geometry benchmark area.

Open source

Explore Next

Good next jumps from the relationship graph, ranked for useful discovery.

Hertel-Mehlhorn Convex Decomposition uses Monotone Polygon Partitioning as a subroutine, representation, or supporting idea while removing unnecessary triangulation diagonals while preserving convex pieces.

Hertel-Mehlhorn Convex Decomposition uses Bayazit Convex Decomposition as a subroutine, representation, or supporting idea while removing unnecessary triangulation diagonals while preserving convex pieces.

Hertel-Mehlhorn Convex Decomposition uses Constrained Delaunay Triangulation as a subroutine, representation, or supporting idea while removing unnecessary triangulation diagonals while preserving convex pieces.

Tags

GeometryComputational Geometry