我目前正在使用scipy.spatial.Delaunay中的Delaunay函数,如下所示(简化):
import numpy as np
from scipy.spatial import Delaunay
points1 = np.random.rand(10,2)
points2 = np.random.rand(10,2)
tri = Delaunay(points1)
# tri2 = tri(points2)? - need help here
我希望将相同的三角剖分应用于point2 -如果我再次运行Delaunay,我可能会得到不同的三角剖分。
是否可以“复制”一个三角剖
我使用Scypi的Delaunay三角剖分构建了一个应用程序。为了验证它,我想做一个保持一次的测试,这意味着下面提到的代码段被多次调用(~1e9)。因此,我想尽快做到这一点。
下面是我想要加快的最低工作示例:
from scipy.spatial import Delaunay as Delaunay
import numpy as np
import time
n_pts = 100 # around 1e9 in the real application
pts = np.random.random((n_pts, 2))
t = time.time()
for i in r
我使用Delaunay三角剖分来插值在一个规则的四维网格上的一组参数上计算的函数值。有时,当一个参数值发生少量的变化,从而使它变成一个新的单纯形时,单形中的多个点会发生变化。我希望,由于我不断地改变一个参数,我会从单纯形移动到单纯形,一次只改变单形中的一个点(通常在我的代码中也是这样)。相反,请考虑以下脚本:
import numpy as np
from scipy.spatial import Delaunay
# hideous construction to get the desired 4d grid of points
# with points at [-1, -0.5, 0
我正试图从主框架UI中打开另一个wx框架。我遵循了这里显示的示例:,但是我的主UI仍然被阻塞。
下面是主UI上的事件侦听器:
def testShowGUI(self):
# This process is a long one
# It uses the vtk to read point cloud file and reconstruct the surface
file = "cache/d9c5e8ef-7b7f-485e-8fc8-23098c32afcb.ply"
reader = vtk.vtkPLYReader()
re
我很难理解如何计算n维点是否在n维ConvexHull中。
这里有一个非常类似的问题(同样的问题):
然而,答案让我困惑,或者似乎不适合我,我也不知道为什么。
def in_hull(p, hull):
""" Copied and from the Top Original answer """
from scipy.spatial import Delaunay
if not isinstance(hull,Delaunay):
hull = Delaunay(hull)
return hul
我有一组点,我从这些点使用scipy.spatial.Delaunay函数计算Delaunay三角剖分。例如,下面的内容:
import numpy as np
from scipy.spatial import Delaunay
tri = Delaunay(np.random.rand(10,2))
计算完成后,我想做的就是去掉一个单纯形。有什么简单的方法可以做到这一点吗?我注意到Delaunay对象有一个用于add_point的方法,但没有用于remove_point或remove_simplex的方法。
在我看来,我有两个选择。我自己知道点的列表,所以我只需删除必要的点并重新计算De
我试图将Delaunay_mesher_2::refine_mesh应用于一组编号顶点(即顶点类为Triangulation_vertex_base_with_id_2)。我希望流程中创建的任何顶点都应该有id()==0。然而,事实证明并非如此。相反,ID具有不同的正/负值。
我试过使用Triangulation_vertex_base_with_info_2,但结果是一样的。
我的代码大致是这样工作的:
using K = CGAL::Exact_predicates_inexact_constructions_kernel;
using Vb = CGAL::Triangulation_v
我想使用scipy.spatial.delaunay,从三维点云中获取三角形网格。并使用三角网格将三角形网格保存为.ply格式。但结果似乎很糟糕。所有的点都扮演着顶点的角色,所以它的工作缓慢而糟糕.如何使用这个delaunay方法获得更好的网格输出?
代码:
#pcd is 3d point cloud
tri = Delaunay(pcd)
#faces
f = tri.simplices
# Mesh
mesh = trimesh.Trimesh(vertices=pos_combine, faces=f)
# show mesh and export it
mesh.show()
我正在使用以下代码加载一个.csv文件:
import csv
import numpy as np
import scipy.spatial
points = np.array([((int(R), int(G), int(B)),float(X), float(Y), float(Z))
for R, G, B, X, Y, Z in csv.reader(open('XYZcolorlist_D65.csv'))])
# load R,G,B,X,Y,Z coordinates of 'points' in a np.
我试图使用spatstat函数' Delaunay‘在R中生成delaunay三角剖分。但是,我查看了文档,似乎没有设置最大长度的参数。我注意到了这篇文章:How to set maximum length of triangle side in Delaunay triangulation in R?这似乎和我想做的事情是一样的,但因为我的点模式很大,所以我更喜欢一个简单而快速的解决方案。谢谢! 下面是我的代码: pts <- data.frame(readMat(paste('./TMA - Coordinates/HE_Rescaled_Coords/',