我有一个列表列表,每个列表都包含多边形的边长。例如:
[[0, 1, 2],
[0, 1.1, 2],
[0, 1.2, 2],
[0, 1.3, 2],
[4.5, 1.1],
[4.4, 1.1],
[5, 1, 2],
[5, 1.1, 2],
[5, 1.2, 2]
[6, 1, 7, 4],
[6, 1.1, 7, 4.1]]
我希望能够找到一个近似最小的“覆盖”,因为对于“覆盖”的每个元素,它的所有值都在它所覆盖的元素的指定容差范围内。例如,如果给定上面的列表,公差是 0.1,我想得到:
[[0, 1, 2],
[0, 1.2, 2],
[4, 1],
[4.5, 1.1],
[5, 1.1, 2],
[6, 1, 7, 4],]
我对 python 有点陌生,所以希望我对术语的使用不会太远。也许解释我的动机会有所帮助。我是一名试图优化给定表面面板的建筑师。由于制造公差,边缘长度相差某个固定值的面板可以被认为是相同的(在上面的示例中,所有边缘可以相差 0.1 并且仍然被认为是相同的)。我正在尝试找到最少的一组可以生产的面板,并且仍然可以对表面进行面板化。