如何在另一个多边形内打包多边形?


20

我订购了几张皮革,我希望通过将边缘缝合在一起来制造杂耍球。我将柏拉图式固体用于球的形状。

我可以扫描皮革板并生成一个近似于皮革板形状的多边形(如您所知,它是动物皮肤,并且不是矩形的)。

所以现在,我想将杂耍球的尺寸最大化。

在我的示例中,多边形是常规的多边形,但是我正在寻找使用简单多边形的解决方案。

我可以将多边形应用到图纸中的最大比例因子是多少?

我试图通过使用尽可能多的材料来减少浪费。

显然,将多面体网切成单个多边形会增加可能组合的空间,但也会降低最终几何图形的质量,因为这会涉及更多的缝制和累积的误差。但是,这个问题不是关于枚举展开多面体的不同方法。它们可以独立考虑。因此,多边形是简单的多边形。

正式地:

输入:

  • :一个简单的多边形(目标)P
  • :我要放置的一组多边形S
  • n个简单多边形的图-每个节点代表 S中的一个简单多边形,并且每对多边形之间有一个共享公共边的边 GnS
  • (材料和连接性的使用)α>=0,β>=0

输出:

  • 比例因子f
  • G的子图HG
  • V G )中每个多边形的位置和角度大号ØCVG
  • 解决方案的质量的度量:m = α ˚F + β | E |=αF+β|ËH||ËG|

在以下条件下最大化

  • |VH|=|VG|
  • |E(H)|<=|E(G)|
  • SiSSifLoc(Si)P
  • V(H)

(V(G)是图形中的顶点,S是一组多边形,但它们描述的是同一组对象。也许有一种更紧凑的方法来实现。)

条件说明:

  • (1)我希望所有多边形都处于最终布局
  • (2)必要时某些连接可能会断开
  • (3)(4)球是皮革制成的

这是目标多边形 皮革表

这是我要打包的一组多边形: 多面体网


您是在谈论要切出的多边形吗?
A.Schulz

在我看来,多边形是规则的,因为它们是柏拉图实体的面。但是打包简单的多边形也应该起作用。为什么要知道我要打包的多边形是否是凸形的?
alecail 2012年

1
如果多边形是非凸多边形,则始终可以在不切割的情况下将单个非凸多边形放置在原始多边形内。因此,对于一般的多边形,这个问题没有任何意义。
A.Schulz

我不知道这是否重要,但是边界多边形(皮革)是凸的还是凹的?
Paresh 2012年

4
即使是简单的包装在一个正方形原来的正方形的最大数量的问题是很难(对不起,有没有一个链接方便,但在这几个月的讨论跌跌撞撞地跑回)。只需手动处理多边形,您可能离最佳状态不太远。
vonbrand

Answers:


3

这属于问题的优化类别,称为包装问题。在您的情况下,您有一个不规则的多边形,而不是一个规则的多边形作为容器,但是想法仍然相同。
这些优化问题通常都是NP难题,因此我认为没有一种简单的方法来获得准确的解决方案,而尝试所有组合将过于昂贵。
有些人对这种问题很感兴趣。我找到了一些已解决的特定包装问题的链接:http : //www2.stetson.edu/~efriedma/packing.html

我看到的最简单的方法是,定义皮革板的大致中心,将多边形组移到该中心,然后通过上下缩放并检查多边形组是否在目标多边形内,来获得所需的一组多边形越来越接近比例因子“ f”。

但是,除非您要将此因素用于大规模的杂耍球生产,否则手工完成可能就足够了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.