如何从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笔记本中的轮廓。
我知道找到网格包括通过插值或从邻居网格化找到图中P0的每个点的值,然后使用matplotlib绘制横截面,但我不知道该怎么做。
相关问题,是否在matplotlib或类似库中提供3D网格切片2D网格?
谢谢你的帮助。
答案
潜在的问题是3D插值。有很多包可以做这种类型的东西,或者你可以编写自己的(使用,例如KDE,这基本上只是一种平滑/分级)。这个主题有很多材料,比如
- 这个回答https://stackoverflow.com/a/15753011/230468
- scipy docs
- 这广泛的set of option on scicomp.stack
- 和this blog post (with some good examples)
另一答案
你试过玩pyugrid吗?它是一个专门用于操作非结构化网格的库,所以听起来它可能对你有用。看看这些example notebooks。
以上是关于如何从3D不规则数据中切割2D网格?的主要内容,如果未能解决你的问题,请参考以下文章