我试图将一些凹面分解成凸面,覆盖与原始凹面相同的面积。我在网上找到了一个应该能够做到这一点的包(http://sseemayer.github.io/Py2D/documentation/features/convex_decompose.html),但是我没有让它工作。
我已经尝试了以下代码行:从py2d.Math导入多边形,向量
P=多边形(2.00,3.00),(3.00,3.00),(3.00,2.00),(4.00,2.00),(4.00,4.00),(2.00,4.00),(2.00,3.00) P= Polygon.convex_decompose(P)
P比成为:[多边形(3.00,2.00),(3.00,3.00),(2.00,3.00),多边形(2.00,3.00),(4.00,4.00),(4.00,2.00),(3.00,2.00),(2.00,3.00)]
这是原始脸的面积加上一个额外的三角形。我希望两个(或更多的)凸多边形覆盖与原始多边形相同的区域(见图)。
原始多边形
结果多边形的区域
谢谢你看一看!我很想听听你的解决方案。
发布于 2022-03-28 09:45:28
我让它开始工作了!问题是,我定义了一个闭多边形:
P = Polygon [(2.00, 3.00), (3.00, 3.00), (3.00, 2.00), (4.00, 2.00), (4.00, 4.00), (2.00, 4.00), (2.00, 3.00)]
但是,Py2D
假设最后一个给定的点与第一个点连接。因此,通过将代码更改为:
P = Polygon [(2.00, 3.00), (3.00, 3.00), (3.00, 2.00), (4.00, 2.00), (4.00, 4.00), (2.00, 4.00)]
P = Polygon.convex_decompose(P)
我得到了预期的结果。
https://stackoverflow.com/questions/71622565
复制相似问题