convex-hull相关内容
假设我有一个随机顺序的点数组,我需要找到一个多边形(通过对它们进行排序,使得每个相邻对代表一个边),它通过 所有 点,当然,它的边是不相交的. 我尝试通过选择一个点并将所有点添加到它下方的最终数组中,从左到右排序.然后,添加它上面的所有点,从右到左排序. 有人告诉我,我可以添加一个额外的点并自然地排序以避免自相交.但我无法弄清楚这一点.有什么简单的方法可以做到这一点? 解决方案
..
我有一组点.我想将它们分成 2 个不同的集合.为此,我选择了两个点(a 和 b)并在它们之间画一条假想线.现在我想把这条线左边的所有点放在一组中,把这条线右边的点放在另一组中. 我如何判断任何给定点 z 是在左边还是在右边?我试图计算 a-z-b – 之间的角度.小于 180 的角度在右侧,大于 180 的角度在左侧.但由于 ArcCos 的定义,计算出的角度总是小于 180°.是否有计算大
..
我想要一种算法来计算 4 个 2D 点的凸包.我已经研究了广义问题的算法,但我想知道是否有一个简单的解决方案 4 点. 解决方案 取三个点,判断它们的三角形是顺时针还是逆时针:: triangle_ABC= (A.y-B.y)*C.x + (B.x-A.x)*C.y + (A.x*B.y-B.x*A.y) 对于右手坐标系,如果 ABC 逆时针,则此值为正,顺时针为负,如果它们共线则为零
..
我在这里找到了一个使用 ggplot 和 ddply 绘制凸包形状的好例子:使用ggplot围绕多个geom_point组绘制轮廓> 我想我会尝试类似的东西——创建类似 Ashby Diagram 的东西——来练习 data.table 包: test 这里我定义了一个简单的表: dt
..
我有一组积分.我想将它们分成 2 个不同的集合.为此,我选择两个点(a 和 b)并在它们之间画一条假想的线.现在我想把这条线左边的所有点放在一组中,把这条线右边的点放在另一组中. 对于任何给定的点 z 我如何判断它是在左边还是右边?我试图计算 a-z-b – 之间的角度.小于 180 度的角在右手边,大于 180 度的角在左手边——但是由于 ArcCos 的定义,计算出的角度总是小于 180
..
如果你能帮我解决这个问题,我将不胜感激:) 关于这个问题OpenCV 2.X/C++中的cvConvexityDefects?,我有同样的问题.OpenCV的C++包装器没有C版本出现的函数cvConvexityDefects,所以我试着写了自己的版本. 部分代码是(请注意countour和hull都是vector,分别计算: CvSeq* contourPoints;CvSeq*
..
我在 numpy 中有一个坐标点云.对于大量点,我想找出这些点是否位于点云的凸包中. 我尝试了 pyhull,但我不知道如何检查一个点是否在 ConvexHull 中: hull = ConvexHull(np.array([(1, 2), (3, 4), (3, 6)]))对于 hull.simplices 中的 s:s.in_simplex(np.array([2, 3])) 引发
..
我使用包“rgl"遵循了有关 3D 可视化的教程 这里 所以我能够用“虹膜"数据绘制一个 3D 散点图,并创建一个围绕 95% 数据点的椭球: library("rgl")数据(虹膜)x 有人知道如何在 rgl 图中绘制这样的凸包吗?是否也可以使用 plot3D 包来做到这一点,因为有一个很棒的教程 这里 我可以用我自己的数据制作一个漂亮的图. 我“只是"一名使用 R 进行科学的生物学
..
我有一个由一组三元组 (x_i, y_i, z_i) 给出的 3D 表面,其中 x_i 和 y_i 大致位于网格上,并且每个 (x_i, y_i) 都有一个关联的 z_i 值.典型的网格是 20x20 我需要在给定的容差内找到哪些点属于表面的凸包.我正在寻找一种高效的算法来执行计算(我的客户提供了一个 O(n³) 版本,在 400 点数据集上需要大约 10 秒的时间...) 解决方案
..
任何人都可以提出一种算法来找到帕累托最优点(以形成楼梯),就像 O(n*h) 和 O(n*log(h) 中的图表中给出的那样)) 时间复杂度,其中h 是帕累托最优点的个数? 我使用礼品包装算法来解决这个问题(在 O(n*h) 中),但它只找到凸包类型的楼梯,而错过了那些形成凹角的点. 解决方案 把建议放在一个地方. 想法是使用分而治之的策略.如果我们能在 O(n) 中找到将剩余
..
所以我有一个坐标列表,我可以在上面执行一个chull. X
..
scipy ConvexHull 中“area"属性的值(参见 http://docs.scipy.org/doc/scipy/reference/generated/scipy.spatial.ConvexHull.html) 对象似乎不是(我理解的)区域凸包.另一方面,“体积"的值似乎确实是凸包的面积. from scipy.spatial import ConvexHull导入 numpy
..
我正在尝试使用 QHull 的 SciPy 包装器. 根据 QHull 的文档,我应该通过 "FA" 选项以获得总表面积和体积. 这是我得到的……我做错了什么? >分[(494.0, 95.0, 0.0), (494.0, 95.0, 1.0) ... (494.0, 100.0, 4.0), (494.0, 100.0, 5.0)]>船体 = 空间.ConvexHull(pts,
..
除了 CGAL python 绑定之外,python 中是否有 3 维的“alpha 形状"函数? 或者,有没有办法将下面的示例扩展到 3D 中? 二维示例:在 matplotlib 中,在散点图中的数据点周围绘制一个平滑的多边形 我目前正在使用这个 ConvexHull 计算体积 示例,但出于我的目的,由于“凸面"约束,体积被夸大了. 谢谢, 解决方案 我编写了一
..
我正在尝试为python中的一些随机点计算并显示凸包. 这是我当前的代码: 将numpy导入为np随机导入导入matplotlib.pyplot作为plt导入 cv2积分= np.random.rand(25,2)船体 = ConvexHull(点)plt.plot(points[:,0], points[:,1], 'o',color='c')对于 hull.simplices 中的单纯
..
我一直在寻找一种方法来计算到凸壳/多边形的距离,这样,如果该点在壳内,则该距离为正,如果在壳内,则该距离为负.例如,给定船体和一组点,可以计算正/负距离吗? 从scipy.spatial导入 ConvexHull导入matplotlib.pyplot作为plt将numpy导入为np#原始点,船体和测试点points = np.random.rand(30,2)#30个二维随机点船体= Con
..
我正在使用 ConvexHull 的scipy类为一组点构造一个凸包.我对一种计算新点 P 与凸包的最小距离的方法感兴趣. 在互联网的帮助下,我自己进行了一些微调,我想到了这个公式来计算点 P 或一组点 points 到点的距离.凸包面: np.max(np.dot(self.equations [:,:-1],points.T).T + self.equations [:, -1],a
..
我想找到适合于一组点内部的最大凸包.我有一组大致为圆形的点,我想拟合的圆之外有许多离群点.想象一个带有“太阳耀斑"的圆圈...我想适合这个圆圈,而完全不理会耀斑.我尝试了各种适合和剔除策略,但是效果不佳. 我已经搜索了很多,却没有找到解决方案.预先感谢. 解决方案 您需要的概念可能是alpha形状.凸包是alpha形状的子集,用于alpha的极值.Alpha形状使一组比凸包更近的点适
..
我想用凸包可视化一些数据集(并从该凸包中获取一些统计信息).但是,每个数据集都包含一些噪声.因此,凸包不仅覆盖了主数据云中的所有点,而且还覆盖了所有离群值,这使得凸包的面积相当大,并且在数据集之间没有很大差异.数据集的示例如下: 因此,我想删除那些离群值.可以使用哪种算法将最小面积凸包拟合到数据集中的n-k个点,其中k设置为对应于给定观察百分比的某个数字? 请注意,图片是示例,实际上我
..
如何从点集合开始计算凸包? 解决方案 MIConvexHull -https://designengrlab.github.io/MIConvexHull/-是C#中的高性能凸包实现,也支持更高维的凸包.LGPL许可证.
..