找到包围所有三角形的最小面积平行四边形

时间:2017-07-27 13:14:22

标签: java python algorithm data-structures computational-geometry

以下是问题陈述。

  1. 您已获得k个等边三角形(有一个上盖 k,让我们说k=<15)。三角形可以重叠。

  2. 现在你必须找到一个包围所有三角形的平行四边形并具有 最小面积。给出了四个边缘的两个相对边缘 平行于X轴或Y轴(这是您的选择)。

  3. 我的方法

    假设其中两个与Y轴平行。

    然后是该组三角形的最左边的点和最右边的点 将位于平行四边形的两个相对边缘。现在我将绘制两条直线,它们穿过这些点并与Y轴平行。

    这样我发现两条边缘并不那么困难。 现在我卡住了,不知道如何找到其他两个。 我想了很多但是因为我无法解决这个问题,所以我在这里发帖。 任何帮助将不胜感激!!!!!!!

1 个答案:

答案 0 :(得分:2)

围绕所有三角形顶点构建convex hull

然后使用rotating calipers得到一对平行线,它们之间的垂直距离最小(平行四边形区域由高度(此处为水平)定义 - 它已经固定,并且按垂直基本长度 - 选择最小值)