首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Py2D -多边形凸分解(Polygon.convex_decompose())增加额外的面积,而不是将凹面分解成凸面。

Py2D -多边形凸分解(Polygon.convex_decompose())增加额外的面积,而不是将凹面分解成凸面。
EN

Stack Overflow用户
提问于 2022-03-25 20:08:21
回答 1查看 375关注 0票数 0

我试图将一些凹面分解成凸面,覆盖与原始凹面相同的面积。我在网上找到了一个应该能够做到这一点的包(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)]

这是原始脸的面积加上一个额外的三角形。我希望两个(或更多的)凸多边形覆盖与原始多边形相同的区域(见图)。

原始多边形

结果多边形的区域

谢谢你看一看!我很想听听你的解决方案。

EN

回答 1

Stack Overflow用户

发布于 2022-03-28 09:45:28

我让它开始工作了!问题是,我定义了一个闭多边形:

代码语言:javascript
运行
复制
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假设最后一个给定的点与第一个点连接。因此,通过将代码更改为:

代码语言:javascript
运行
复制
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)

我得到了预期的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71622565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档