我想在Python中使用Delaunay三角剖分法对3D点进行插值。

我有的是

# my array of points
points = [[1,2,3], [2,3,4], ...]
# my array of values
values = [7, 8, ...]
# an object with triangulation
tri = Delaunay(points)
# a set of points at which I want to interpolate
p = [[1.5, 2.5, 3.5], ...]
# this gets simplexes that contain given points
s = tri.find_simplex(p)
# this gets vertices for the simplexes
v = tri.vertices[s]


我在这里只能找到一个answer,建议使用transform方法进行插值,但没有更具体的说明。

我需要知道的是如何使用包含单纯形的顶点来获取线性插值的权重。让我们假设一个普通的n-dim情况,以便答案不取决于尺寸。

编辑:我不想使用LinearNDInterpolator或类似的方法,因为我没有在每个点的数字作为值,而是更复杂的东西(数组/函数)。

最佳答案

您不需要从头开始实现此功能,scipy中已经内置了对此功能的支持:

scipy.interpolate.LinearNDInterpolator

关于python - 用Delaunay三角剖分进行插值(n-dim),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30373912/

10-15 11:48