用于创建直线骨架的Java库?

| 我有一个带孔的2D多边形作为输入,我需要找到它的直骨架,如图所示: (来源:cgal.org) 也许有一个不错的Java库? 如果没有,您能指出我对算法的良好解释,以便自己实现吗? (我在Google上找不到很好的资源)     
已邀请:
我不久前写了这个。不知道它是否足够强大。 https://github.com/twak/campskeleton (于2018年编辑...)     

bab

请参阅http://www.sable.mcgill.ca/~dbelan2/roofs/roofs.html,其中包含一个小程序。     
编辑: 啊。我看到\“ Straight Skeleton \”是一个技术术语。维基百科文章引用了几种算法。你看过那些吗? 据我了解,您有一个(凸?)多边形。从中减去1个或多个(可能是非凸的)多边形。您想将结果变成一组没有孔的多边形。您是否要尝试应用其他规则? 我很难根据您提供的示例提出一套规则。外部多边形是非凸的;因此看来您似乎并没有试图找到一个凸集来表示结果(这是一个相对常见的任务)。 如果您可以使用下面显示的细分,则该算法非常简单。你能澄清一下吗?     
您也许可以使用JTS拓扑套件。这是一个非常强大的库,我已经在许多项目中使用过-从来没有用过笔直的骨架,但是有可能。     
我可以问你寻找直形骨骼的目的是什么?是个人还是商业?我想知道您如何使用它来解决实时问题?我确实有一个做到这一点的Java库。我的算法在此处列出http://web.stcloudstate.edu/rsarnath/skeleton/definition.htm     

要回复问题请先登录注册