问题标签 [concave-hull]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
5096 浏览

python - 3D 中的 Alpha 形状

除了 CGAL python 绑定之外,python 中是否有 3 维的“alpha 形状”函数?

或者,有没有办法将下面的示例扩展到 3D?

2D 示例:在 matplotlib 中围绕散点图中的数据点绘制平滑多边形

我目前正在使用这个ConvexHull示例计算体积,但出于我的目的,由于“凸”约束,体积被夸大了。

谢谢,

0 投票
1 回答
2583 浏览

c# - 凹壳算法从伪代码到 C#

我正在尝试将此处描述的算法(第 12 页)从伪代码转换为有效的 C# 代码。该算法描述了如何通过将被认为太长的边缘分解为更小的边缘来将凸包“转换”为凹包。我理解作者提出的一般想法,但在将其转换为工作代码时遇到了麻烦。请看下面我到目前为止得到的代码,包括每个伪代码行开头的注释(//)。我遇到的问题与特定线路无关 - 尽管我确信当前计算“localMaximumDistance”的方法不正确。如果有人对如何解决这个问题有任何指示,我真的很想听听这些。(在伪代码中,这行写着“计算边缘的局部最大距离 d;”

提前感谢您的时间和反馈!:)

0 投票
2 回答
945 浏览

javascript - Javascript中GPS坐标的凹壳

这是我在阅读了很多关于凹壳和 alpha 形状之后在 stackoverflow 中的第一个问题,但不幸的是我仍然没有找到一个可行的解决方案:(

我的输入是定义 GPS 轨迹的大量 GPS 坐标(纬度、经度)(大约 1000-2000 点)。现在我正在寻找一种方法来测量所有坐标的轮廓周长。

到目前为止,我能够从所有点计算和显示凸包,但凹包的计算到目前为止还没有成功:(

我使用 javascript 进行所有编程并寻找以下任务:输入:所有纬度/经度坐标 (WGS84) 输出:定义凹壳的所有边缘坐标。

我已经找到了关于凹壳、alpha 形状和 delaunay 三角剖分的有趣信息,但不幸的是,所有信息都指的是 2D 平面/X、Y 坐标(如 [5,2][6,7][3,2]),如果我尝试那些带有我的 WGS84 坐标的脚本 -> 无法获得我的点云的凹壳 :(

非常感谢您的帮助!

0 投票
1 回答
833 浏览

javascript - Hull.js npm 模块 Node.js 返回凸包而不是凹包

我使用这个 node.js 模块:https ://www.npmjs.com/package/hull.js来计算凹壳。在“它是如何工作的”部分的这个链接上,有 3 个步骤来说明它是如何工作的。但在我的情况下,算法在第二步停止。所以,它给了我凸包而不是凹包。问题是什么?npm 的版本是 1.1.4,node.js 的版本是 0.6.12。

0 投票
1 回答
54 浏览

javascript - 如何将对象数组设置为格式 { x: {Number}, y: {Number} }?Javascript

我正在尝试使用:https : //www.npmjs.com/package/concavehull 而且我不知道如何分配一个数组以便将它与 ConcaveHull npm 一起使用。

文档说“您所要做的就是传递一个符合 { x: {Number}, y: {Number} } 格式的对象数组”。

是这样的吗:

[{"x":-0.206792373176235,"y":51.4911165465815}, {"x":-0.206792373176235,"y":51.4911165465815},{"x":-0.206792373176235,"y":51.491111""56581 :-0.206792373176235,"y":51.4911165465815} ... ]

0 投票
2 回答
340 浏览

algorithm - 在 mapKit 中获取凹壳

使用 Swift 和苹果 mapKit 我想从 gps 坐标计算凹壳。我有一个定义折线的 CLLocation (纬度,经度)数组。对于路线地理围栏,我为折线中的每个 2d 点计算了距离为 n 米的所有可能的纬度和经度。此时我想计算这组点的凹壳。我找不到任何关于如何从 gps 坐标计算凹壳的信息。谁能给我推荐一个教程?

0 投票
2 回答
642 浏览

python - 填充表示为二进制矩阵的凹多边形

在我的任务中,我将凹多边形表示为 1 和 0 的矩阵,其中 1 表示给定点属于该多边形。例如,以下是一个简单的正方形和一个 u 形多边形:

但是,有时我会得到不完整的表示,其中:(1)包括所有边界点,以及(2)缺少一些内部点。例如,在下面的 u 形多边形的放大版本中,位置 (1,1), (1,6), (3,1), ..., (3,6)* 的元素是“未填充的”。目标是填充它们(即,将它们的值更改为1)。

你知道在 Python/NumPy 中是否有一种简单的方法可以做到这一点?

*(row, column),从左上角开始计数

0 投票
1 回答
325 浏览

polygon - 从凹壳提取的点制作多边形

我想制作一个文件,包括通过凹壳方法从点云中提取的边界点的多边形或线,如下页所示。

http://ait-survey.com/wp-content/uploads/2015/08/concave_hull_polygon1.png

边界点是 3D 坐标。

我也想在 AutoCAD 中导入多边形文件。

让我知道怎么做。

0 投票
2 回答
132 浏览

graphics2d - 如何在 voronoi 的边界点上创建弧?

我正在编写一些 2D 图形软件。在我的项目中,我使用了 Voronoi 算法。结果和我预期的一样正确(图1)。然后我想在边界点上添加一些特征,就像(图 2)一样。所以我认为我需要在边界点上实现凹壳,然后在其上创建弧。

图 1。 在此处输入图像描述

但是由于凹度参数,我的凹壳不能正常工作。将我的软件结果转换为图 2 的最佳方法和最佳算法是什么。

图 2。 在此处输入图像描述

0 投票
1 回答
430 浏览

r - 空间线数

有没有办法找出 a 中连续空间线的数量SpatialLinesDataFrame

EG 这将是2(外部的和内部的):

小阿尔法

这将是1

大阿尔法

(另外,有没有办法得到每个人的总长度?)