在Java中计算alpha形状(凹壳)

时间:2012-06-28 03:01:00

标签: java geometry triangulation

使用Java,我想计算alpha shape:给定一组2D点,我想找到一个包含所有点的面积最小的多边形列表。 Here是更多信息。纯Java解决方案将是理想的选择。我可以从其他语言移植到Java的代码没问题。我宁愿不使用本机包装器。我可以用合理的努力实现的算法解释也没问题。

我真正需要的是构成alpha形状多边形的三角形,因此可以获得额外的功劳。

2 个答案:

答案 0 :(得分:6)

This page有一个很好的Java小程序,其中包含GPL源代码,可以满足您的需求。还有完整的论文进一步描述了算法。

它不会执行三角形镶嵌部分,但是一旦有了多边形,就会有许多可用的库。如果没有别的,openGl有一个很好的曲面细分,你可以使用或拉出来。

答案 1 :(得分:0)

我不确定这些是@Geobits描述的applet和论文,但是有一个applet和一些论文现在可以在this link找到。

但是,这只是问题的开始。大多数现代浏览器won't support Java applets。这是由于有关NPAPI和安全性的问题;有关细节,请参阅例如这句话之前的链接。缺乏默认支持发生在2015年秋季。

我建议您访问Oracle's descripton of how to get applets to run,而不是详细说明完整解决方案。它展示了如何在Internet Explorer(IE),Firefox和Safari中启用Applet(我不知道Microsoft Edge)。

您甚至无法在Chrome中启用Java。一种解决方法基本上模拟Chrome中的IE。它描述了here

请注意,我使用IE和Firefox上描述的方法测试了此applet,这些方法都在Windows 10上运行。我必须按照下一段中的说明更改Java安全设置。对于IE,小程序就好了。对于Firefox,我不得不点击左上方看起来像乐高的按钮。 applet的一部分工作,但我无法让它插入点。

信不信由你,它还没有结束。您还需要更改Java安全设置,以便相关站点可以运行Java。 Oracle再次描述了article。使用Exception Sites List部分查找屏幕截图,当您到达计算机上的该点时,按Edit Site List按钮并按照提示操作。您想将http://cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/alpha.html添加到例外网站列表中。

另一个选择是:

http://cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/

并下载alpha.zip。您也可以直接进入下载链接:

http://cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/alpha.zip

导航到您下载目录的目录,解压缩内容,转到新的alpha目录,然后运行

appletviewer Alpha.html

但是,您需要找到Java的早期版本 - 最好是Java 1.1,但我认为Java 5之前的任何内容都可以工作。

祝你好运!

更多信息:

https://blog.mozilla.org/futurereleases/2015/10/08/npapi-plugins-in-firefox/

Mozilla打算在2016年底之前删除对Firefox中大多数NPAPI插件的支持。几年前,Firefox开始使用手动插件激活此过程,允许用户仅在必要时激活插件。此决定反映了其他现代浏览器的操作,例如Google Chrome和Microsoft Edge,它们已经删除了对旧版插件的支持。

http://www.ghacks.net/2016/04/11/firefox-drm-and-the-end-of-npapi/

目前支持的最受欢迎的插件是Adobe Flash和Java,但Firefox可能会提供更多插件来提供其功能。

当谷歌停止支持NPAPI时,谷歌在Chrome 45中推出NPAPI,Mozilla宣布它也将终止支持。

谷歌相对于Mozilla的优势在于Chrome附带了内置于浏览器的Flash版本,这意味着Chrome中仍然提供最受欢迎的NPAPI插件,但形式不同。

...

到目前为止,Mozilla表示对NPAPI的支持将在2016年底结束,但没有准确透露何时会发生。

2月份关于Mozilla.dev.tech.plugins的帖子披露了更新后的计划。根据那里发布的信息,Mozilla计划删除Firefox 53中的NPAPI支持,该支持将于2017年4月发布。

下一个Firefox ESR(扩展支持版本)版本为52,将获得一年的安全更新。通过删除Firefox 53中的NPAPI,发布 ESR之后的,需要NPAPI支持的用户可以继续切换到Firefox ESR 52并继续使用NPAPI插件,直到2018年5月。

选择Firefox 53的主要原因是Firefox 52是一个新的ESR版本。这意味着ESR上的任何人都可以使用NPAPI插件,直到该版本不再使用且不在2018年5月之前。

https://java.com/en/download/help/firefox_java.xml

https://support.mozilla.org/en-US/questions/975269

http://news.softpedia.com/news/flash-npapi-support-to-be-removed-in-firefox-53-503777.shtml