当前位置: 首页 > 面试题库 >

如何从一系列点生成非凸包?

柏夕
2023-03-14
问题内容

我目前正在尝试在运行期间构造设备覆盖的区域。此过程的第一步似乎是构造覆盖区域的多边形。由于图案不是标准形状,因此凸包通过跳到可能的最大覆盖区域来夸大覆盖区域。

我发现有一篇论文似乎涵盖了非凸面船体生成的概念,但是没有讨论如何在高级语言中实现该概念。
http://www.geosensor.net/papers/duckham08.PR.pdf

有没有人看到一个简单的算法来构造一个非凸包或凹包,或者可能是任何python代码来实现相同的结果?

我尝试过主要是qhull的凸包,其边缘尺寸有限,但成功率有限。另外,我注意到有些许可库将无法分发,因此很遗憾,这些都不在话下。还有更好的主意或菜谱吗?


问题答案:

您可以尝试研究Alpha形状。CGAL库可以计算它们。

编辑
:我看到您链接的论文引用了alpha形状,并且还列出了算法。那还不够高吗?自从您将python列为标签以来,我确定Python中有Delaunay三角剖分库,我认为这是实现算法最困难的部分。您只需要确保可以修改生成的三角测量输出即可。边界查询功能可能可以通过关联数组来实现。



 类似资料:
  • 又是一个 C++ 拷打,问了两个小时过于折磨了,确实问的很细致,过程中发现自己很多问题,对基础掌握还不是很扎实,出了很多低级错误,比如拷贝构造那个就答错了,速成还是会遗漏掉一些东西的,要是秋招得把八股全部细致看一遍 对内存序这一部分不太了解,面 C++ 岗还是经常问到的,比如他问线程池,我说底层用 context_switch 来实现 yield jion 等 api 好像不是想要的答案,引导我说

  • 问题内容: 在PostgreSQL中,是否可以生成一系列重复数字?例如,我要生成数字1到10,每个数字重复3次: 问题答案: 您可以将其交叉加入一系列3:

  • 问题内容: 这个问题已经在这里有了答案 : 从日期范围生成天数 (29个答案) 2年前关闭。 在mysql中生成给定范围内的一系列日期的最佳方法是什么? 我想到的应用程序是编写一个报表查询,该查询将为每个日期返回一行,而不管是否有要报告的数据。最简单的形式: 我曾尝试创建一个包含许多日期的表,但这似乎是一个较差的解决方法。 问题答案: 我认为拥有 日历表 是个好主意;您可以获得很多报告和查询功能,

  • 我想从randomInts(int-num,int-start,int-end)中获取随机数,并将这些数放入数组。 我试着做

  • 我有和这里一样的问题:如何在一个简单的非凸多边形中对顶点排序,但我没有可以使用的解决方案。 我有点的坐标,需要找到一些多边形。一个点列表有多个解决方案并不重要。我需要一些算法来找到其中一个。不管是哪一个。我真的不知道怎么解决这个问题。 (我已经在数组中存储了坐标,我想在Javascript中使用一些算法) 谢谢。

  • 问题内容: 如何从MySQL查询生成一系列连续数字(每行一个),以便可以将它们插入表中? 例如: 我只想为此使用MySQL(不使用PHP或其他语言)。 问题答案: 如果您需要表中的记录,并且希望避免并发问题,请按照以下方法操作。 首先,您创建一个用于存储记录的表 其次,创建一个存储过程,如下所示: 最后调用SP: 结果