问题标签 [convex-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 投票
1 回答
625 浏览

cluster-analysis - 将簇的 ELKI DBSCAN 凸包写入文件

我已经开始使用 ELKI 进行数据分析,但我似乎无法做的一件看似简单的事情是在运行 DBSCAN 后将计算出的集群凸包输出到文件中。我可以通过可视化 gui 可视化凸包,但无法生成 KML 文件。我还可以将我的聚类结果写入一个文件夹(使用 ResultWriter resulthandler),但是当我设置 KMLOutputHandler 时没有生成文件。我在日志窗口中没有收到错误消息(即使详细参数设置为 true)。

在 ELKI 中生成 KML 文件有技巧吗?任何人都可以完成这样做的步骤吗?

任何帮助,将不胜感激。

(顺便说一句,是否可以使用 ELKI 为 DBSCAN 结果生成 alpha 形状?如果可以,必须调整哪个参数?)

0 投票
3 回答
1013 浏览

computational-geometry - 用于排序点集的凸包算法

我需要一种算法来计算 3 维和更高维的有序点集的凸包。我也需要在凸包的下部,并且没有必要构造一个完整的凸包。是否有任何有效且快速的算法可用于我的目的?

0 投票
1 回答
156 浏览

algorithm - 凸包算法的意外行为

我试图实现算法以获取给定点集的凸包,并使用 opencv 在 c++ 上使用以下代码可视化结果:

我知道有内置库可以做到这一点,但我想自己实现算法。当点数较少时,事情似乎运作良好,例如 30 个点,但随着点数的增加,我开始得到一个奇怪的形状(如下面所示的 200 和 1000 点)。该算法似乎在与枢轴点(由具有最大半径的实心圆表示)对角的那些点中选择了额外的点(不应包含在船体中的点)。谁能帮我弄清楚我哪里出错了或者建议我可以在代码中进行一些修改?在此处输入图像描述 在此处输入图像描述

在此处输入图像描述

0 投票
11 回答
53117 浏览

python - 找出一个点是否位于点云的凸包中的有效方法是什么?

我在numpy中有一个坐标点云。对于大量的点,我想知道这些点是否位于点云的凸包中。

我试过 pyhull 但我不知道如何检查一个点是否在ConvexHull

引发 LinAlgError:数组必须是正方形。

0 投票
0 回答
220 浏览

android - 在 3d 地形上绘制 2d 凸包形状

我有一个 3d 网格,这是一个地形。顺便说一句,这运行得非常好,但我想让形状在这个地形上移动。这些形状在地形上是平坦的并且是斑点状的:它们可以改变形状并且应该遵循地形的轮廓和高度图。这些形状可以画在风景上或流过风景,没关系。

这些形状是指在地图上移动的军队块,这应该是实时发生的!另外:它们是二维凸包形状。它们也只是一种具有 alpha 值的颜色(例如具有 alpha 0.25f 的蓝色)。

唯一的问题是:我不知道该怎么做,问题是:谁能告诉我怎么做?

我的第一个想法只是复制地形顶点矩阵,将其向上推一点,使其位于地形之上,将此缓冲区加载到 VBO 并根据所需的位置和形状更新索引缓冲区,然后绘制形状. 这是相当缓慢和低效的,尤其是在形状移动和变化时。此外,高度图的分辨率为 175x175,因此运动一点也不平滑,而是锯齿状。

然后我想,但对这个区域比较陌生,将形状轮廓更新到地形的片段着色器,让着色器决定一个点是否位于该区域并相应地改变颜色。这也是一个非常缓慢的选择,但如果有人看到了这样做的潜力和好方法,请告诉我!

下一个选项是直接在纹理上绘制,该纹理仍处于失败阶段。如果有人对如何将场景绘制到平坦区域然后将其放在地形网格上有任何好的想法,那就太好了!

那么,是否有人有在地形上绘制形状(或多个)的解决方案?那将是真棒。提前致谢!

0 投票
1 回答
345 浏览

algorithm - 在更高维度(3+)中找到上(凸)壳

对不起我的英语不好。

我想找到大量线性方程的下包络线。这被映射到在其双平面中找到上(凸)船体的问题。

正如我调查的那样,有几种方法可以找到上层船体,但它们仅适用于 2-3 维。

但是,我的数据是高维的,有可用的库可用于查找高达 n 维的(完整)凸包。我正在考虑如何从完整的凸包中提取上壳或下壳。你知道如何找到这个吗?

0 投票
1 回答
4443 浏览

javascript - 相交 svg 闭合路径

path测试 svg 绘制的两个形状是否相交的好方法(代码方面和性能方面)是什么?我在 d3 中执行此操作并使用“基本闭合”线插值

更具体地说,我正在创建凸包(比图像中更复杂),如果它们重叠,我想合并它们。如果我使用“线性闭合”插值很容易做到,因为这样我可以使用顶点来计算交点,但是“基本闭合”插值在我使用它的地方看起来更好。

代码输出

这是一个jsfiddle如何测试这些形状是否相交/重叠?

0 投票
1 回答
147 浏览

algorithm - 想要坐标的轮廓,也许不是凸包

我想要地图上给定点的直接轮廓。我确实找到了一个分而治之的算法,但是它的结果太抽象了。我输入了德克萨斯州的坐标,德克萨斯州的凸包看起来一点也不像州。

后来我意识到我不是在寻找凸包,因为我发现了这个 凸包误解?

有人碰巧知道可以在我的坐标中挑选出轮廓点的程序吗?

0 投票
6 回答
9947 浏览

java - Java Android Opencv 2.3 上的凸壳

请帮我,

我对 Android 上的 Convex Hull 有疑问。我使用 Java 和OpenCV 2.3

在我使用 Java 制作之前,我使用 Visual Studio 2008 在 C++ 上制作了它。

此代码可以在 C++ 上成功运行。

现在,我想在 Android 上将它从 C++ 转换为 Java。当我在 SDK Android 模拟器上运行它时,我发现了类似“强制关闭”的错误。

这是我在 C++ 上的代码:

这是我在 Android 上的代码:

为了您的信息,我在我的代码中对 Convex Hull 做了一些修改。我在轮廓内填充颜色

任何人都可以帮我解决我的问题吗?

我非常感谢您的帮助。

0 投票
1 回答
1012 浏览

linked-list - 在 C 中寻找凸包

我想在 C 中获取点数组的凸包。我有一个结构:

其中i是标签,xy坐标。

我创建了一个结构数组。然后我按增加 x 值和增加 y = 值对其进行排序。现在,我制作了一个以堆栈形式实现的链表。当 3 个点出现非右转时,我会弹出该点。然后推入数组中的下一个点。但我不能正确地做到这一点。

这是我的代码。

pt 是我的结构数组的名称。请帮忙。