Math 如何使凸多边形的三分法最小化三部分的最大直径

Math 如何使凸多边形的三分法最小化三部分的最大直径,math,geometry,Math,Geometry,我有一个凸多边形p,我想把它分成三部分,如下所示:第一条线l1把p分成两部分P1和P2,第二条线l2把这两部分中的一部分,比如P1分成两部分P11和P12。我怎样才能得到三部分P11,P12,P2的最大直径最小的物体?或者,如何获得近似结果 首先,我想用三个圆来覆盖多边形并最小化圆的最大直径,但我也不知道如何获得这样的圆。我对这个问题做了很多研究,但没有找到一个有效的算法。而大部分的研究都集中在如何划分点上 有没有已知的算法来计算这个?非常感谢你的帮助 蛮力就足够了 编写一个函数,将凸多项式作为

我有一个凸多边形p,我想把它分成三部分,如下所示:第一条线l1把p分成两部分P1和P2,第二条线l2把这两部分中的一部分,比如P1分成两部分P11和P12。我怎样才能得到三部分P11,P12,P2的最大直径最小的物体?或者,如何获得近似结果

首先,我想用三个圆来覆盖多边形并最小化圆的最大直径,但我也不知道如何获得这样的圆。我对这个问题做了很多研究,但没有找到一个有效的算法。而大部分的研究都集中在如何划分点上


有没有已知的算法来计算这个?非常感谢你的帮助

蛮力就足够了

编写一个函数,将凸多项式作为输入,依次尝试所有对角线,并将多边形拆分为两部分。两个部分的直径很容易被发现为分裂对角线的长度或初始多边形的最长对角线的长度(如果该最长对角线属于所考虑的部分)

您将在两步过程中使用此函数,首先分割初始多边形,然后分割第二部分


作为优化,您将保留迄今为止获得的最短最大直径的轨迹;当您尝试新分割时,尝试第一次分割时对角线长度超过当前最小值是没有意义的。

多边形有多大?所以我们知道有多少蛮力是可行的有多大?你是说那个区域还是顶点?面积可能非常大,我们可以假设多边形的顶点最多为10个。暴力是如何运作的?需要先离散多边形?离散多边形是什么意思?是约束线穿过多边形的顶点,还是它们可以穿过边的中间?谢谢大家的回答。将多边形离散化,我的意思是,将多边形拆分为具有垂直线和水平线的四边形。在每个四边形中使用一个点来表示相应的四边形,因此可以操作这些点。这是没有效率的,我也不知道它是否有效。谢谢你的回答。根据您的方法,多边形将始终由对角线切割。但我认为大多数情况下,最佳切割可能是跨越两条边的线,而不是完全穿过顶点。考虑一个凸四边形。首先,对角线将其拆分为两个三角形,其次,三角形不能按对角线拆分。我误解了你的想法吗?是的,我低估了分裂可以跨越边缘的事实。那么这个问题对我来说太难了。