python:计算质心

2023-11-26

我有一个包含 4 列的数据集:x、y、z 和值,比方说:

x  y  z  value
0  0  0  0
0  1  0  0
0  2  0  0
1  0  0  0
1  1  0  1
1  2  0  1
2  0  0  0
2  1  0  0
2  2  0  0

我想计算质心CM = (x_m,y_m,z_m)所有价值观。在本示例中,我想看到(1,1.5,0)作为输出。

我认为这一定是一个小问题,但我在互联网上找不到解决方案。scipy.ndimage.measurements.center_of_mass似乎是正确的事情,但不幸的是,该函数总是返回两个值(而不是 3)。此外,我找不到任何有关如何设置的文档ndimage来自数组:我会使用形状为 N 的 numpy 数组吗(9,4)?那么 N[:,0] 是 x 坐标吗?

非常感谢任何帮助。


我能想到的最简单的方法是:只需找到按每个分量的贡献加权的质量分量坐标的平均值。

import numpy
masses = numpy.array([[0,  0,  0,  0],
[0,  1,  0,  0],
[0,  2,  0,  0],
[1,  0,  0,  0],
[1,  1,  0,  1],
[1,  2,  0,  1],
[2,  0,  0,  0],
[2,  1,  0,  0],
[2,  2,  0,  0]])

nonZeroMasses = masses[numpy.nonzero(masses[:,3])] # Not really necessary, can just use masses because 0 mass used as weight will work just fine.

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

python:计算质心 的相关文章

随机推荐

  • 为什么这个 Java 正则表达式会导致“非法转义字符”错误?

    我正在研究一个上一个问题的解决方案 尽我所能 使用正则表达式 我的模式是 d 4 w 3 0 1 9 12 0 9 3 01 01 0 9 2 0 3 0 5 0 9 2 根据 NetBeans 我有两个非法转义字符 我猜它与 d 和 w
  • 相当于Firestore中的.push?

    我正在尝试将以前使用实时数据库的 firebase 实现转换为使用 firestore 因为我喜欢集合的想法以及使用它的好处 我如何将以下内容实现为 firestore 等效项 firebase database ref documentP
  • Django 将现有字段更改为外键

    我有一个 Django 模型 以前看起来像这样 class Car models Model manufacturer id models IntegerField 还有另一种模型叫Manufacturer那id字段指的是 然而 我意识到使
  • Hibernate 在 HQL 中处理“@”字符时遇到困难

    使用 Hibernate 和 Spring Social 我正在尝试通过电子邮件地址查询数据库 当我执行此查询时 公共帐户 findAccountByUsername String 用户名 Session session sessionFa
  • $观察一个物体

    我想监视字典中的更改 但由于某种原因未调用监视回调 这是我使用的控制器 function MyController scope scope form name my name surname surname scope watch form
  • 是否可以终止正在运行的 Web Worker?

    我有一个网络工作人员使用 ajax 请求运行一项耗时的例行任务 我可以从主线程终止它们而不等待它们完成吗 这就是我生成和终止它的方式 button parse categories click function if parseCatego
  • 使用和不使用额外变量时的奇怪浮点行为,为什么?

    当我在 VC 2013 32 位 无优化 中运行以下代码时 include
  • C# 寻找相似颜色

    我想调用带有参数颜色的方法 但有很多颜色仅存在色度差异 我怎样才能找到与我的颜色只有一点点不同的颜色 例如 AntiqueWhite 和 Bisque Here s调色板 Bitmap LogoImg new Bitmap file1 jp
  • Android - 检测 URL mime 类型?

    在我的 Android 应用程序中 我有从数据库访问的各种 URL 然后打开 WebView 来显示该 URL 通常 该 url 看起来像这样 http www mysite com referral php id 12345 这些引荐链接
  • 将页面添加到活动管理

    我们想要向我们的管理添加一个帮助页面 并且我们正在使用活动管理 gem 此页面不与任何模型关联 因此我正在努力弄清楚如何让链接显示在每个页面的菜单栏中 我知道我有点晚了 但我通常都会迟到 D ActiveAdmin register pag
  • 禁用 EditText 闪烁光标

    有谁知道如何禁用闪烁的光标EditText view 您可以使用 xml 属性android cursorVisible false 或以编程方式 java view setCursorVisible false kotlin view i
  • 从 Java 调用 .NET 程序集:JVM 崩溃

    我有一个第三方 NET 程序集和一个大型 Java 应用程序 我需要从Java应用程序调用 NET类库提供的方法 该程序集不支持 COM 我已经在网上搜索过 到目前为止我有以下内容 C 代码 cslib cs using System na
  • 如何获取 30 天内的下一个最小日期并用作 SQL 中的参考点?

    我有一个记录子集 如下所示 ID DATE A 2015 09 01 A 2015 10 03 A 2015 10 10 B 2015 09 01 B 2015 09 10 B 2015 10 03 对于每个 ID 第一个最小日期是第一个索
  • 这个字符序列“\033[H\033[J””在 C 中起什么作用? [复制]

    这个问题在这里已经有答案了 我在一些随机网站上浏览过以下奇怪的字符序列 当编译并执行时 该序列清除了终端中所有先前的内容 它清除输出流中的缓冲区还是仅清除 tty 缓冲区 int main printf 033 H 033 J return
  • C# ping 我的世界

    所以找到了这个小代码片段 可以让你在 PHP 中 ping Minecraft 服务器 但现在我想在 C 中执行此操作 我尝试自己这样做 但由于某种原因它不起作用 UdpClient client new UdpClient IPEndPo
  • Python 比较 C API 中的对象

    给定两个PyObject s 我如何在 C API 中比较它们 我想到了a b起初 但这显然是不正确的 因为它会比较指针而不是对象 我在找a b not a is b Python C API 中的 Python 等效项 您正在寻找PyOb
  • mvn 测试因 Surefire JDK 版本而失败?

    我正在尝试在我的项目上运行 mvn test 项目本身编译并安装 但 man test 失败并显示以下输出 ERROR Failed to execute goal org apache maven plugins maven surefi
  • 使用Leaflet markcluster,如何在不更改缩放级别的情况下在集群和非集群之间切换?

    我正在使用Leaflet markercluster插件来聚集我的点 然而 用户要求具有在集群视图和非集群视图之间切换的功能 基本上 他们希望以高缩放比例查看所有点 我知道我可以在特定的缩放级别禁用聚类 markers new L Mark
  • 简单的 OpenGL 纹理贴图不起作用?

    我正在尝试找出 OpenGL 中的纹理映射 但无法找到一个简单的示例来工作 正在绘制多边形 尽管它没有纹理而只是纯色 此外 位图已正确加载到 sprite1 中 因为到目前为止我已成功使用 glDrawPixels 我使用 glGenTex
  • python:计算质心

    我有一个包含 4 列的数据集 x y z 和值 比方说 x y z value 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 1 1 0 1 1 2 0 1 2 0 0 0 2 1 0 0 2 2 0 0 我想计算质心CM