我有很多点,我想从中插入一个平面,我按照以下步骤做:
rng = np.random.default_rng()
x = rng.random(10) - 0.5
y = rng.random(10) - 0.5
z = np.hypot(x, y)
X = np.linspace(min(x), max(x))
Y = np.linspace(min(y), max(y))
X, Y = np.meshgrid(X, Y) # 2D grid for interpolation
interp = CloughTocher2DInterpolator(list(zip(x, y)), z)
我在这个例子中将 x、y 和 z 定义为随机的。 x、y 和 z 也可以是稀疏的。
现在我希望能够从我定义为
x*a + y*b + c = z
(带有a
、b
和c
变量)的平面中得到一个交点
我在 scipy 中找不到任何东西可以做到这一点。我已经尝试获取所有点,获取三角剖分并将其用于交集(请参阅:How to visualize 3D delaunay triangulation in Python?)但我得到的三角剖分非常糟糕。它根本不连接到最近的点。
如果使用
CloughTocher2DInterpolator
很复杂,我也可以使用另一个连续的 2D 插值器。