Python scipy.spatial.Delaunay 和 copy.deepcopy 增量参数故障

Python scipy.spatial.Delaunay and copy.deepcopy malfunctioning with incremental parameter

我在使用 scipy.spatial.Delaunay 函数时遇到了一个大问题。

我初始化一个名为 tri 的变量,如下所示:

tri = Delaunay(ApsArray, incremental=True)

此代码完美运行,但由于我必须在 for 循环中使用此三角剖分,我想将 tri 复制到另一个名为 triTemp[= 的变量中43=](作为时间变量)。

我在 python 文档中搜索并在 copy 模块中找到 deepcopy,它允许我复制 tri 在内存中由 triTemp 指向的另一个站点:

triTemp = deepcopy(tri)

有效!但当我尝试向 triTemp 添加新点时,出现此错误:

    Traceback (most recent call last):
  File "C:\Users\user\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 2883, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-77-2f5ca634bc26>", line 1, in <module>
    tri.add_points([[0.2,0.3]])
  File "qhull.pyx", line 1544, in scipy.spatial.qhull._QhullUser.add_points (scipy\spatial\qhull.c:13938)
  File "qhull.pyx", line 446, in scipy.spatial.qhull._Qhull.add_points (scipy\spatial\qhull.c:4954)
TypeError: 'NoneType' object is not subscriptable

我认为问题出在参数 incremental 因为 triTemp, 只是内存中 [=32= 的副本]tri,但我的问题是我不知道如何在不再次初始化 triTemp 的情况下更改此参数。

我想用一个copy,不想再计算三角剖分,因为我觉得这样效率更高,所以如果有人知道达到这个的方法objective,请告诉我。

谢谢大家,抱歉英语不好!

目前 (Scipy 0.15.1) 在增量模式下无法复制 Delaunay 结构,因为三角剖分的增量状态存储在 Qhull 内部。

如果您只需要一些属性,例如simplices等只能复制