当前位置: 首页 > 知识库问答 >
问题:

在Java中计算α形状(凹形船体)

贺宝
2023-03-14

使用Java,我想计算alpha形状:给定一组2D点,我想找到一个包含所有点的面积最小的多边形列表。这里有更多信息。纯Java解决方案将是理想的选择。我可以从其他语言移植到Java的代码就可以了。我不想用原生包装。对我可以通过合理努力实现的算法进行解释也可以。

我真正需要的是组成阿尔法形状多边形的三角形,所以这需要额外的学分。

共有2个答案

杜成和
2023-03-14

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

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

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

你甚至不能在Chrome中启用Java。其中一个解决方案基本上是在Chrome中模仿IE。这里有描述。

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

信不信由你,事情还没完。您还需要更改Java安全设置,以便相关站点可以运行Java。甲骨文再次发表了一篇文章描述了这一点。使用异常站点列表部分查找屏幕截图,当您在计算机上到达该点时,按编辑站点列表按钮并按照提示进行操作。你想补充吗http://cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/alpha。html以列出例外网站的列表。

另一个选择是:

http://cgm.cs.mcgill.ca/~godfried/教学/项目97/贝拉尔/

下载alpha。邮政编码。您也可以直接进入下载链接:

http://cgm.cs.mcgill.ca/~godfried/teaching/projects97/belair/alpha。拉链

导航到下载它的目录,提取内容,转到新的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插件的支持。火狐几年前就开始了这个过程,手动激活插件,允许用户只在必要时激活插件。这一决定反映了其他现代浏览器的行动,如谷歌Chrome和Microsoft Edge,它们已经取消了对遗留插件的支持。

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

目前支持的最流行的插件是Adobe Flash和Java,但是火狐可能会选择更多的插件来提供它们的功能。

谷歌在Chrome 45中取消了对NPAPI的支持,Mozilla也宣布将停止对NPAPI的支持。

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

...

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

关于Mozilla的帖子。dev.tech.plugins在2月份公布了更新计划。根据上面发布的信息,Mozilla计划删除Firefox 53中的NPAPI支持,该支持将于2017年4月推出。

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

薛博艺
2023-03-14

这个页面有一个很好的Java小程序,带有GPL源代码,可以做你想做的事情。下面还有一篇完整的论文描述了算法。

它不做三角形细分部分,但一旦有了多边形,就有许多可用的库。如果没有别的,openGl有一个优秀的镶嵌器,你可以使用或从中提取。

 类似资料:
  • 我使用来确定具有相关特征的多元回归的特征重要性。 shap提供一个图表来获取shap值。还有统计数据吗?我对确切的形状值感兴趣。我读了Github存储库和留档,但我没有发现关于这个主题。

  • 我有一个二维点的列表,它是一个闭环,二维,凹形多边形。 我想生成第二个多边形,它完全在第一个多边形的内部,并且第一个多边形的每个顶点/边缘到第二个多边形的每个顶点/边缘具有恒定的距离。 基本上,第一个多边形是“外墙”,第二个多边形是“内壁”,两墙之间的距离不变。 怎么做这样的事?

  • 构造函数方法: PaintComponent方法和MouseDlold、MousePressed和MouseReleased方法:

  • 本文向大家介绍Java多边形重心计算,包括了Java多边形重心计算的使用技巧和注意事项,需要的朋友参考一下 多边形重心计算 三角形重心 顶点为a,b,c的三角形重心为x = (xa + xb + xc) / 3,y = (ya + yb + yc) / 3 多边形重心 x = (x1w1 + x2w2 + … + xnwn)/W y = (y1w1 + y2w2 + … + ynwn)/W 总结

  • 地形计算 地形计算又称地形曲率计算,格数据表面的曲率,包括平均曲率、剖面曲率和平面曲率。曲率是表面的二阶导数,或者可称之为坡度的坡度。输出结果为地形栅格每个像元的表面曲率,该值通过将该像元与八个相邻像元拟合而得。结果输出为栅格数据集,可输出曲率类型为:平均曲率、剖面曲率和平面曲率,平均曲率为必须输出的结果,剖面曲率和平面曲率为可选择输出。其中,剖面曲率是指沿最大斜率方向的曲率,平面曲率是指垂直于最

  • 请问各位大佬 这种样式可以怎么画出来呢