gpt4 book ai didi

python - 隔离 3d 数据点的策略

转载 作者:行者123 更新时间:2023-11-28 18:35:56 26 4
gpt4 key购买 nike

我有两组点,一组来自分析,另一组用于分析数据的后处理结果。

黑色的分析数据是散乱的。 Scattered analysis data points, viewed from +Z.

用于结果的点是红色的。 Regular grid of result data points.

这是同一地 block 上的两组: enter image description here

我遇到的问题是:我将插值到红点上,但如您所见,有些红点落在黑色数据集的空白区域中。插值会导致这些点出现非零值,但这些值在最终数据集中必须为零。

我一直在考虑将这些值归零的几种策略。以下是几个排名不分先后的:

  1. 找到一个凸包,其顶点仅包含黑色数据点,并且在凸集内仅包含红色数据点。此外,该船体的面积应最大化,同时仍满足这两个标准。

这已被证明相当难以实现,主要是因为必须选择哪些黑色数据点应该从凸包的迭代搜索中排除。

  1. 使用单个值(例如 1 或 0)向数据集添加一个额外的维度,这样两者就可以属于同一数据集但仍然可以区分。使用 kNN(最近邻)算法仅选择空隙中的红点。基本思想是空隙中的红点将有 n(6?) 个最近的邻居,它们在自己的集合中。仅由空边界分隔的红色数据点将具有不同的数量,最后,距离边界至少一步的红色数据点将具有几乎所有黑色数据集的邻居。我见过的针对这种方法的现有算法返回索引或数组掩码,这两者都是一个很好的解决方案。我还没有尝试实现这个。

  2. 从用于创建黑色数据集的 SolidWorks 模型中手动提取边界点。没有那么多层次。这必须手动完成,逐个 z 级别,并且我显示的图片仅代表实际的完整集合的一小部分。

  3. 通过对我在视觉上确认感兴趣的红色数据点的子集进行多次优化来手动创建蒙版。还有,不。除非我没有其他选择。

如果这是一个有明确解决方案的问题,那么我看不到它。我希望提议的解决方案 2 会成为解决方案 2,因为这实际上看起来是最有趣的实现和实际操作。不管怎样,正如标题所说,我仍在寻找解决这个问题的策略方向。我唯一确定的是 Python 是合适的工具。

编辑:分析数据包含 x、y、z 和 3 个电场分量值 Ex、Ey 和 Ez。黑色数据集中的空隙位于金属内部,因此电位没有变化,或者换句话说,电场值都恰好为零。

这张图片显示了一个单一的 z 层,使用 Ex 组件的线性插值和 scipy 的网格数据。黑色椭圆形是中央跑道形空隙的空隙边界的粗略指示器。您可以看到椭圆内部有红色和蓝色(用于 x 方向的 + 和 - E 场)。它应该为零(此图中的 lt. green)。完成的数据将用于跟踪带电粒子束,因此如果其中一个粒子的路径实际上穿过空隙,则进行跟踪的软件只能判断电势是否保持恒定,即它知道该路径穿过固体金属并丢弃该路径。

enter image description here

如果电场存在于空隙中,粒子跟踪软件就不知道那里有某种结构,就会发生不好的事情。

最佳答案

您或许可以使用称为“支持向量机”的大数据技术来解决这个问题。如您所述分配 0 和 1 分类,然后通过 libsvm 算法运行它。您应该能够使用此模型对需要归零的点进行分类和识别,并以编程方式执行此操作。

我意识到 SVM 和 libsvm 实现有一个学习曲线。如果这超出了您的工作预算,我深表歉意。

关于python - 隔离 3d 数据点的策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32511114/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com