我想对带孔的复杂(但不是自相交)多边形进行三角剖分,以便生成的三角形都位于多边形内,完全覆盖该多边形,并遵守Delaunay三角形规则。显然,我可以为所有点构建Delaunay三角剖分,但我担心多边形的某些边不会包含在生成的三角剖分中。那么,这样的三角测量可能吗?如果是,我该怎么做?以防万一-我需要它来构造多边形中轴的近似值(我希望它可以通过连接所得三角形的所有圆周点来完成)。 最佳答案 听起来你想要constrainedDelaunaytriangulation.“孔”可以通过限制输入边在三角剖分中保持不间断来实现。参见Trian
我在名为pointsList的np.array中有一个3D点列表,值为float:[[1.,2.,10.],[2.,0.,1.],[3.,6.,9.],[1.,1.,1.],[2.,2.,2.],[10.,0.,10.],[0.,10.,5.],...etc.此代码对点云进行Delaunay三角剖分:importnumpyasnpimportscipy.spatialtri=scipy.spatial.Delaunay(pointsList)#Delaunaytriangulationindices=tri.simplices#indicesofverticesvertices=poi
我有一个点列表=[p1,p2,p3...]其中p1=[x1,y1],p2=[x2,y2]...我想使用scipy.spatial.Delaunay对这些点云进行三角剖分,然后绘制它我该怎么做?Delaunay的文档真的很少到目前为止我有这段代码fromsubprocessimportPopen,PIPEimportosos.environ['point_num']="2000"cmd='rbox$point_numD2|tail-n$point_num'sub_process=Popen(cmd,shell=True,stdout=PIPE,stderr=PIPE)output=sub
似乎matplotlib.tri.Triangulation使用了一个有缺陷且可能不正确的Delaunay三角剖分实现,该三角剖分将被qHull取代.我正在尝试使用mpl_toolkits.mplot3d.plot_trisurf()绘制trisurf并遇到一堆无用的异常(IndexError和主要是KeyError,没有指出到底出了什么问题)。因为scipy.spatial.Delaunay已经使用了qHull,我想知道是否有办法构建一个matplotlib.tri.Triangulation对象以与一起使用mpl_toolkits.mplot3d.plot_trisurf()使用s
是否有某种方法可以像MatlabDelaunay生成的那样在2D中获得更有序的三角剖分?这是Matlab的2DDelaunay三角剖分的示例。使用这段代码:xPoints=np.arange(0,11,1)yPoints=np.arange(0,11,1)gridPoints=np.array([[x,y]foryinyPointsforxinxPoints])tri=Delaunay(gridPoints)plt.triplot(gridPoints[:,0],gridPoints[:,1],tri.simplices.copy())plt.plot(gridPoints[:,0],
猛戳!跟哥们一起玩蛇啊 ? 《一起玩蛇》??写在前面:本章我们将介绍的是计算机和领域的Delaunay三角剖分算法(即德劳内三角剖分),它是一种用于将点集划分成三角形网格的算法。点集的三角剖分属于计算几何学科范畴,对数值分析、有限元分析与图形学来说是极为重要的一项预处理技术。得益于德劳内三角剖分的独特性,关于点集的很多种几何图都与德劳内三角剖分密切相关,如沃罗诺伊图,EMST树,Gabriel图等。本章我们介绍完之后,下一章我们就介绍介绍沃罗诺伊图。柠檬叶子C经典表情包写作风格暂时下架,本篇博客没有表情包,唯一的表情包就是开头放了个兔斯基拿大砍刀的表情。 本篇博客全站热榜排名:
猛戳!跟哥们一起玩蛇啊 ? 《一起玩蛇》??写在前面:本章我们将介绍的是计算机和领域的Delaunay三角剖分算法(即德劳内三角剖分),它是一种用于将点集划分成三角形网格的算法。点集的三角剖分属于计算几何学科范畴,对数值分析、有限元分析与图形学来说是极为重要的一项预处理技术。得益于德劳内三角剖分的独特性,关于点集的很多种几何图都与德劳内三角剖分密切相关,如沃罗诺伊图,EMST树,Gabriel图等。本章我们介绍完之后,下一章我们就介绍介绍沃罗诺伊图。柠檬叶子C经典表情包写作风格暂时下架,本篇博客没有表情包,唯一的表情包就是开头放了个兔斯基拿大砍刀的表情。 本篇博客全站热榜排名:
目录一、分而治之算法二、三角网生长算法三、逐点插入算法四、约束Delaunay三角网1、方法一1、原始点云2、构网结果1、方法二1、原始点云2、普通Delaunay3、约束Delaunay Delaunay三角剖分分为直接三角剖分和间接三角剖分。间接三角剖分首先计算为Voronoi图,然后由Voronoi图产生Delaunay三角网。这种方法的算法复杂、内存开销大、效率低,现今很少使用。直接Delaunay三角剖分是利用离散点按照空外接圆或者最大最小内角性质,直接生成Delaunay三角网,是目前基于离散点三角剖分的主流算法。 Delaunay三角剖分分成三类:分而治之算法、三角网增长算法
我有一组3D点。这些点以恒定水平采样(z=0,1,...,7)。图片应该清楚:这些点位于形状为(N,3)的numpyndarray中,称为X。上面的图是使用以下方法创建的:importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3DX=load('points.npy')fig=plt.figure()ax=fig.gca(projection='3d')ax.plot_wireframe(X[:,0],X[:,1],X[:,2])ax.scatter(X[:,0],X[:,1],X[:,2])plt.draw()我想
我有一组3D点。这些点以恒定水平采样(z=0,1,...,7)。图片应该清楚:这些点位于形状为(N,3)的numpyndarray中,称为X。上面的图是使用以下方法创建的:importmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3DX=load('points.npy')fig=plt.figure()ax=fig.gca(projection='3d')ax.plot_wireframe(X[:,0],X[:,1],X[:,2])ax.scatter(X[:,0],X[:,1],X[:,2])plt.draw()我想