【发布时间】:2011-09-10 19:02:47
【问题描述】:
我需要在二维平面上的几个顶点中找到一个表面积最小的不规则多边形。
不,这不是家庭作业。虽然我希望我现在回到学校。
关于如何构造多边形有一些要求。假设我在 8x8 网格上绘制了 3 种不同类型的顶点(红色、绿色、蓝色)。我需要扫描这个网格中满足红、绿、蓝组合要求的所有顶点,然后选择表面积最小的那个。
获取不规则多边形的表面积很简单。我主要关心高效扫描所有可能组合的性能。
请参见下图作为示例。这三种类型都用于制作多边形,但圈出的那一种表面积最小,是我的目标。
与我尝试制作原型的情况相比,这种情况得到了简化。多边形将由数十个(如果不是数百个)顶点构成,并且网格将更大。此外,这将是一个 24/7 运行的进程。
我在想也许我应该按类型组织顶点并将它们分成单独的数组。然后只需以分层方式迭代数组以计算所有组合的表面积。然而,这种方法似乎很浪费。
【问题讨论】:
标签: c# algorithm math data-structures