我需要在二维平面上的多个顶点中找到一个面积最小的不规则多边形。
这不是家庭作业。虽然我现在希望回到学校。
对于构建多边形有一些要求。假设我在8x8的网格上绘制了3种不同类型的顶点(红色,绿色,蓝色)。我需要扫描此网格中满足红、绿、蓝组合要求的所有顶点,并选择面积最小的顶点。
计算不规则多边形的表面积很简单,我主要关心的是高效地扫描所有可能的组合的性能。
请参见下面的图像示例。使用了三种类型来制作多边形,但是圈出来的那个具有最小的表面积,是我的目标。
与我尝试制作原型的情况相比,这种情况被简化了。这些多边形将由数十甚至数百个顶点构成,网格将更大。此外,这将是一个24/7运行的过程。
我想也许我应该按类型组织顶点并将它们分成单独的数组。然后以分层方式迭代这些数组,以计算所有组合的表面积。然而,此方法似乎是浪费的。