3

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

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

4

2 回答 2

6

这个页面有一个很好的 Java 小程序,它带有 GPL 源代码,可以满足您的需求。还有完整的论文进一步描述了该算法。

它不做三角形镶嵌部分,但是一旦你有一个多边形,就有很多可用的库。如果不出意外,openGl 有一个出色的 tessellator,您可以使用或从中提取。

于 2012-06-28T03:45:42.227 回答
0

我不确定这些是否是@Geobits 描述的小程序和论文,但是现在可以在此链接中找到一个小程序和一些论文。

然而,这只是你问题的开始。大多数现代浏览器不支持 Java 小程序。这是由于关于 NPAPI 和安全性的问题;有关详细信息,请参见例如这句话之前的链接。这种缺乏默认支持的情况发生在 2015 年秋季左右。

与其详细介绍完整的解决方案,我建议您访问Oracle 关于如何让小程序运行的说明。它展示了如何在 Internet Explorer (IE)、Firefox 和 Safari 中启用小程序(我不知道 Microsoft Edge)。

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

请注意,我使用 IE 和 Firefox 上描述的方法测试了这个小程序,它们都在 Windows 10 上运行。我必须更改 Java 安全设置,如下一段所述。对于 IE,小程序很好用。对于 Firefox,我必须单击左上角看起来像乐高积木的按钮。小程序的一部分工作,但我无法让它允许我插入点。

信不信由你,这还没有结束。您还需要更改 Java 安全设置,以便相关站点可以运行 Java。再一次,Oracle 有一篇文章描述了这一点。查找该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/

当前支持的最流行的插件是 Adob​​e Flash 和 Java,但 Firefox 可能会选择更多插件以使其功能可用。

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

谷歌相对于 Mozilla 的优势在于 Chrome 附带了一个内置于浏览器的 Flash 版本,这意味着最流行的 NPAPI 插件仍然可以在 Chrome 中使用,尽管形式不同。

...

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

2 月份 Mozilla.dev.tech.plugins 上的一篇文章透露了更新的计划。根据那里发布的信息,Mozilla 计划在 2017 年 4 月发布的 Firefox 53 中删除 NPAPI 支持。

下一个 Firefox ESR(扩展支持版本)版本是 52,将接收一年的安全更新。通过在 Firefox 53( ESR之后的版本)中删除 NPAPI ,需要 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

于 2016-11-04T04:54:15.600 回答