如何从3D不规则数据中切割2D网格?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何从3D不规则数据中切割2D网格?相关的知识,希望对你有一定的参考价值。

我有一些土壤含水量(Theta)的数据以3D域点的形式(列x, y, z, Theta的CSV文件)。我想在某些特定位置从3D域中截取横截面(图中的ABCD部分)。我想在横截面中计算5 * 5网格中Theta的值,但是网格的每个节点周围的点与未知点不共面。我之前在python中为2D域做过这个,但3D域对我来说似乎更复杂。我发现plotly can make something like that in its virtual environment但是我想要输出一个numpy数组或pandas DataFrame来将它绘制为jupyter笔记本中的轮廓。 enter image description here

我知道找到网格包括通过插值或从邻居网格化找到图中P0的每个点的值,然后使用matplotlib绘制横截面,但我不知道该怎么做。

相关问题,是否在matplotlib或类似库中提供3D网格切片2D网格?

谢谢你的帮助。

答案

潜在的问题是3D插值。有很多包可以做这种类型的东西,或者你可以编写自己的(使用,例如KDE,这基本上只是一种平滑/分级)。这个主题有很多材料,比如

另一答案

你试过玩pyugrid吗?它是一个专门用于操作非结构化网格的库,所以听起来它可能对你有用。看看这些example notebooks

以上是关于如何从3D不规则数据中切割2D网格?的主要内容,如果未能解决你的问题,请参考以下文章

使用挤压从 3D 数据中提取 2D

如何使用 pcl 将 3D 点云离散化为 xy 平面上的 2D 网格,而不是使用体素网格?

将共面的3D点集映射到它们的平面2D坐标

通过3D表面绘制2D平面

三 JS - 如何用 Y 平面切割 3D 对象?

python 将2D不规则数据绘制成规则网格