find the smallest containing convex polygon with a given number of points

前端 未结 2 725
醉话见心
醉话见心 2020-12-30 00:42

given a convex polgyon and a number N, how do I find the smallest polygon that

  1. contains every point from the original polygon
  2. has exactly N corner poi
相关标签:
2条回答
  • 2020-12-30 01:09

    You need to define the notion of "smallest" in your question. Whatever your definition, this question has been heavily studied in the computational geometry literature. The key search phrase is minimal enclosing k-gon:

    • Mictchell et al.: "Minimum-Perimeter Enclosing k-gon" 2006 (CiteSeer link)
    • Aggarwal et al.: "Minimum Area Circumscribing Polygons" 1985 (CiteSeer link)
    • O'Rourke et al.: "An optimal algorithm for fnding minimal enclosing triangles" 1986, Algorithmica (ACM link)

    The general algorithms are not simple (although algorithms for min area triangles or rectangles are simple). Depending on your goals, you might have to abandon any mathematical notion of "smallest" and head for a heuristic.

    0 讨论(0)
  • 2020-12-30 01:18
    While number of edges > N do
      remove the shortest edge by replacing its endpoints 
      with the intersection point of the adjacent edges
    
    0 讨论(0)
提交回复
热议问题