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
等只能复制
我在使用 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
等只能复制