在Python中有很多点的图中找到两个最远的点

2023-11-26

我需要找到彼此距离最远的两个点。 正如屏幕截图所示,我有一个包含另外两个数组的数组。一个用于 X 坐标,一个用于 Y 坐标。确定数据中最长线的最佳方法是什么?通过这样说,我需要选择图中最远的两个点。希望大家能帮忙。以下是一些屏幕截图,可帮助解释问题。

Data points visualized

Data points in the numpy array


您可以通过观察相距最远的两个点将作为凸包中的顶点出现来避免计算所有成对距离。然后,您可以计算更少的点之间的成对距离。

例如,在一个单位正方形中均匀分布 100,000 个点,在我的实例中,凸包中只有 22 个点。

import numpy as np
from scipy import spatial

# test points
pts = np.random.rand(100_000, 2)

# two points which are fruthest apart will occur as vertices of the convex hull
candidates = pts[spatial.ConvexHull(pts).vertices]

# get distances between each pair of candidate points
dist_mat = spatial.distance_matrix(candidates, candidates)

# get indices of candidates that are furthest apart
i, j = np.unravel_index(dist_mat.argmax(), dist_mat.shape)

print(candidates[i], candidates[j])
# e.g. [  1.11251218e-03   5.49583204e-05] [ 0.99989971  0.99924638]

enter image description here


如果您的数据是二维的,您可以compute中的凸包O(N*log(N))时间 地点N是点数。经过测量浓度,随着维数的增加,这种方法对于许多常见分布的性能会下降。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在Python中有很多点的图中找到两个最远的点 的相关文章

随机推荐

  • 设置 AVAudioSession Category 对 WKWebView 的声音没有影响

    当从 WKWebView 播放音频时 我似乎无法覆盖 AVAudioSession 类别或端口 当使用普通的 UIWebView 时 相同的代码可以完美地工作 AVAudioSession session AVAudioSession sh
  • android布局xml中的background、backgroundTint、backgroundTintMode属性有什么区别?

    在使用 android 布局 xml 时 我遇到了backgroundTint属性 我不明白这是做什么用的 还有什么是backgroundTintMode 我测试了各种组合android background android backgro
  • ParameterInfo.IsLcid 或 ParameterInfo.IsRetval 何时为 true?

    我在Google搜索时在Stack Overflow中发现了这个问题 但它已被删除 所以我再次列出这个问题 由于我找不到LcidAttribute or RetvalAttribute在BCL中 我猜C 还没有提供对区域设置标识符参数和返回
  • CSS 选择器中是否可以有一个用于标记名的正则表达式?

    我想使用 selenium webdriver 来查找元素h2 or h3 tag 是否可以有一个通用的 css 选择器来满足上述要求 类似的东西 tag h or att str 对于属性 是的 可以 但对于元素 您可以用逗号分隔可能的值
  • 使用 DACFx 3.0 API 升级 DACPAC - 如何检查现有数据库的当前 DAC 版本?

    我目前正在重写团队的数据库部署 Powershell 脚本以使用 DACFx 3 0 API 而不是 2 0 我已经成功地使用新的 DACPAC 升级来工作Microsoft SqlServer Dac DacServices控制器类 剩下
  • 如何以编程方式读取packages.config中的NuGet包列表?

    读取 最好通过 C packages config 文件中列出的包的最佳方法是什么 在我们的源代码存储库中 我有很多解决方案和项目 以及同样很多的packages config 文件 我正在尝试构建源代码存储库中使用的包 和版本 的综合列表
  • 在 C# 中通过 DocuSign api 登录时出现“操作已超时”错误

    自 2018 年 5 月 31 日起 我在登录 DocuSign API 时收到以下错误 DocuSign eSign Client ApiException 调用登录时出错 操作已超时 自去年以来 我们一直在测试 DocuSign API
  • php中的“iif”是什么意思?

    有人在 php 中见过这个 iif 吗 那到底是什么 我尝试在 php net 中搜索它的文档 但找不到任何文档 任何人都可以举一个如何使用这个 iif 的简单例子吗 功能iif标准 PHP 库中不存在 但在大多数情况下 它是一个 短 if
  • 将多种算法与 sklearn pipeline 进行比较

    我正在尝试建立一个 scikit learn 管道来简化我的工作 我面临的问题是我不知道哪种算法 随机森林 朴素贝叶斯 决策树等 最适合 所以我需要尝试每种算法并比较结果 然而 管道一次只能采用一种算法吗 例如 下面的管道仅采用 SGDCl
  • 为什么默认参数尾随参数?

    为什么 C 中的默认参数是尾随参数 如果你有void func int a 0 int b 您将如何指定在调用此函数时使用默认参数
  • 如何使用 Python 从 OpenCV 3 中的持久 XML/YAML 文件读取/写入矩阵?

    我一直在尝试使用以下命令读取矩阵并将其写入持久文件存储 例如 XML Anaconda的电流cv2 我相信实际上是 OpenCV 3 x 我在网上查看了解决方案 人们参考了这样的解决方案 object cv2 cv Load file ob
  • 无法找到请求的.Net Framework 数据提供程序。它可能没有安装

    完成 ASP NET MVC 3 教程后 找到here 我尝试在线发布该应用程序 我联系了托管公司 以确定是否可以托管 MVC 3 应用程序 我必须对 dll 文件 应用程序进行 bin 部署 所以在执行了一些步骤之后汉塞尔曼博客 我陷入了
  • Python 字符串中出现意外的空字符串

    观察以下交互式会话 In 1 s emptiness In 2 s replace Out 2 e m p t i n e s s In 3 s count Out 3 10 我今天发现了这一点 这对我来说有点困惑和惊讶 我喜欢学习类似 P
  • PHP 类为什么使用 public 关键字?

    为什么要使用关键字声明类属性 变量 或方法 函数 public 如果它们默认是公开的 或者说 他们是吗 用不同的方式表达我的问题是public多余的 我明白private and protected 但为什么要声明public如果班级成员是
  • 如何强制/确保类属性是特定类型?

    如何在 Python 中将类成员变量限制为特定类型 更长的版本 我有一个类 它有几个在类外部设置的成员变量 由于它们的使用方式 它们必须是特定类型 要么是 int 要么是 list 如果这是 C 我只需将它们设为私有并在 set 函数中进行
  • 在同一天蓝色功能应用程序下部署多个功能不起作用

    尝试在同一个azure函数应用服务帐户中部署3个不同类型的函数 CosmosDBTrigger TimerTrigger HttpTrigger 附上文件夹结构以供参考 功能未按预期运行 但在成功部署后抛出错误 收到异常 函数 CopyTo
  • 哈希在Python中做什么?

    我看到了一个代码示例 其中hash函数应用于元组 结果它返回一个负整数 我想知道这个功能是做什么的 谷歌没有帮助 我找到了一个页面 解释了哈希值是如何计算的 但它没有解释为什么我们需要这个函数 哈希是一个固定大小的整数 用于标识特定值 每个
  • 如何让 DIV 滑入和滑出?

    我目前正在学习 jQuery 我想知道当您单击图像边缘时如何使图像滑入 然后再次单击它会滑开 与此类似 http www karenmillen com 如果您看到右侧并单击 就会出现我正在寻找的效果 我认为这将涉及制作一个 div 并给它
  • IPython 中的并行嵌套 for 循环

    我的 python 代码中有一个嵌套的 for 循环 如下所示 results for azimuth in azimuths for zenith in zeniths Do various bits of stuff Eventuall
  • 在Python中有很多点的图中找到两个最远的点

    我需要找到彼此距离最远的两个点 正如屏幕截图所示 我有一个包含另外两个数组的数组 一个用于 X 坐标 一个用于 Y 坐标 确定数据中最长线的最佳方法是什么 通过这样说 我需要选择图中最远的两个点 希望大家能帮忙 以下是一些屏幕截图 可帮助解