计算两个 3D 点 numpy 数组之间最小距离的快速方法

2024-01-09

我想知道是否有一种快速方法来计算 3D numpy 数组的所有点之间的欧几里得距离(A [N,3]) 到第二个 3D numpy 数组的所有点 (B [M,3]).

然后我应该得到一个数组C这将是[N, M]与数组点的所有距离A到数组的点B然后使用np.min()沿指定轴获取距集合点的所有最小距离A到设定点B.

到目前为止,这是我完成实施的方式:

distances = np.repeat(9999, len(A))
for i, point in enumerate(A):
  min_distance = np.min(np.sqrt(np.sum(np.square(point - B), axis=1)))
  distances[i] = min_distance

有什么办法可以摆脱 for 循环吗...?

提前致谢 :)


import numpy as np

# arrays with xyz coordinates of all points 
a = np.asarray([[xa1,ya1,za1],...,[xan,yan,zan]])
b = np.asarray([[xb1,yb1,zb1],...,[xbn,ybn,zbn]])

# reshaping to be able to calculate the distance matrix
a_reshaped = a.reshape(a.shape[0], 1, 3)
b_reshaped = b.reshape(1, b.shape[0], 3)

"""calculation of all distances between all points  - creates a 
len(a) x len(b) matrix""" 
distance = np.sqrt(np.sum((a_reshaped - b_reshaped)**2, axis=2))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

计算两个 3D 点 numpy 数组之间最小距离的快速方法 的相关文章

随机推荐

  • 测试 angular2 dart 组件

    我写了一个组件并想测试它 如何从组件编写测试 有没有 Angular dart 的测试框架 您可以使用test https pub dartlang org packages test包含实验测试实现的包https github com d
  • 防止我的nodejs服务器中的xhr攻击[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我正在开发一个将与客户端移动应用程序
  • Redux 中间件工作一半,但未完全取消操作

    我有一些简单的中间件 可以工作 但也不能工作 基本上我有一个用户列表 我正在尝试删除一个 然后与 firebase 同步 一切都很好 我添加了一些中间件 以便当用户删除一个中间件时 它会询问您是否确定 只需使用一个简单的alert目前 如果
  • 基于 WPF DataGrid 中的 DataGridTemplateColumn 设置列样式

    我正在使用 WPF DataGrid 其中如果该行可编辑 其中一列需要显示 编辑 超链接 这由该行的支持模型中的布尔标志指示 我能够使用 DataGridTemplateColumn 实现这一点 没有问题 然而 对整行的附加要求是在选择该行
  • 使按钮在鼠标悬停时透明

    我正在使用 Microsoft Visual Studio Express 2012 构建 Metro 风格应用程序 我对此应用程序非常陌生 需要帮助 我在 XAML 中定义了一个按钮 按钮背景是从图像设置的 将鼠标悬停在按钮上时 会将其背
  • 错误 Microsoft.Web.Infrastruct,版本 = 1.0.0.0,文化 = 中性,PublicKeyToken = 31bf3856ad364e35

    我有一个小型网络应用程序 在我在应用程序中添加两个 genericHandler 之前 它工作得很好 我对 http 处理程序进行了以下更改
  • 在Python中从操作系统生成一个随机单词

    我正在用 Python 创建一个刽子手游戏 我希望能够生成一个随机单词 我总是可以列出一个列表 但如果可能的话 我希望不必手动写下所有单词 Python 中有函数 读取内置 MacOS 字典的方法吗 Thanks 大多数 Unix 类似 系
  • 有没有办法自动创建 Mongo 编解码器?

    我愿意将我的代码从 mongojack 迁移到支持新的异步 mongo 驱动程序的代码 然而我发现新的编码 解码方式是通过Codec我不认为自己在写Codec对于我的模型中的每个类 这就是为什么我宁愿编写一个库 给定一个类创建一个Codec
  • Webpack - 从非模块文件加载函数?

    假设我有一个文件 nonModuled js A non moduled file let s say I can t module it console log 0 function go a console log go a 我还有另一
  • 在jsp中获取上下文路径时出现问题?

    我的jsp位于以下位置 http myApp com myWebApp customer images customer jsp 我的图像 通过 customer jsp 访问 位于 http myApp com myWebApp imag
  • 使用滚动时间间隔来计算 R 和 dplyr 中的行数

    假设我有一个时间戳数据帧 其中包含当时售出的相应门票数量 Timestamp ticket count time int 1 2016 01 01 05 30 00 1 2 2016 01 01 05 32 00 1 3 2016 01 0
  • 通过 Julia 中的递归调用减少 JIT 时间

    我有一个递归函数 它操作整数二叉树 实现为一对嵌套的对或整数 我的函数创建一棵具有不同结构的新树 并递归调用自身直到满足某些条件 我发现的问题是 第一次运行代码时 需要花费很长时间来 JIT 编译该函数的所有可能的签名 之后运行良好 这是最
  • 图片链接块占据页面的整个宽度

    我有一个主要div作为宽度为 90 的容器 在顶部里面 我有一个标题 图片 height 5em display block and margin auto 我的 HTML 代码设置如下 a href img a 当我单击图片左侧时 我仍然
  • 对除输入之外的所有内容禁用选择[type=text]

    我需要禁用网页上除 input type text 元素之外的所有内容的选择 这个接受的答案 https stackoverflow com a 7109491 13087类似的问题几乎可以解决问题 但它不会禁用包含 input type
  • 将php日期转换为适合mysql数据库

    我想将输入日期转换为以下形式dd mm yyyyMySQL 格式为yyyy mm dd 我试图使用date Y m d strtotime POST date 但问题是输出总是Y d m 我认为因为它认为我的第二个论点是mm dd yyyy
  • 在Kafka中如何根据生产时间获得准确的偏移量

    我需要每天每小时获取 Kafka 生成的消息 每隔一小时我就会启动一个作业来消费 1 小时前生成的消息 例如 如果当前时间是 20 12 我将在 19 00 00 到 19 59 59 之间消费该消息 这意味着我需要在时间 19 00 00
  • 如何创建供作曲家自动加载使用的库?

    我要实现这个包 https github com simkimsia webbot由 Composer 自动加载 该软件包可在包装学家 https packagist org packages simkimsia webbot 我意识到我需
  • 获取控制器 mvc 4 中的复选框值

    我试图从复选框列表中检索选中的复选框值 但没有成功 下面是我尝试过的代码 Model DisplayName Gender public IList
  • Carbon 格式本地化在 Blade 中不起作用

    在刀片视图中我有这个代码 Carbon Carbon setLocale es registro gt fecha desde gt format l j F Y br registro gt fecha desde gt formatLo
  • 计算两个 3D 点 numpy 数组之间最小距离的快速方法

    我想知道是否有一种快速方法来计算 3D numpy 数组的所有点之间的欧几里得距离 A N 3 到第二个 3D numpy 数组的所有点 B M 3 然后我应该得到一个数组C这将是 N M 与数组点的所有距离A到数组的点B然后使用np mi