
[英]generating a hemispherical surface with triangular_mesh and representing a data( as value or as colors) at each vertex
[英]Constructing Triangular Mesh for 3-Dimensional Data Surface Data in Python
我有一个3维点的数据集,我想使用python构建一个网格。 我见过的所有软件都要求您提供优势。 python中是否有一个程序将3D点作为输入并输出一组三角形网格? 如果可能的话,我希望网格划分是统一的。
谢谢-伊莱
如果这些点表示一个曲面,则可以使用@wim建议的Delaunay三角剖分。
import numpy as np
import scipy.spatial
import pylab
data = np.random.random((12,3)) # arbitrary 3D data set
tri = scipy.spatial.Delaunay( data[:,:2] ) # take the first two dimensions
pylab.triplot( data[:,0], data[:,1], tri.simplices.copy() )
pylab.plot( data[:,0], data[:,1], 'ro' ) ;
从那里,可以通过tri
对象的simplices
属性访问三角形或simplices
。 例如, tri.simplices[0]
引用第一个三角形或单形,它返回三个整数的数组,例如tri.simplices[0]
[ 10, 0, 5 ]
。 这意味着组成第一个单纯形的点位于data
数组中的索引10、0和5处。
我不知道可以在python中使用现有的Java库有多容易,但是Jzy3d可能会帮助您从点生成网格:有一个基于正交网格的tesselator用于基于规则网格上的点的输入,而delaunay tesselator则用于未知的点结构。 (免责声明:我是作者)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.