1

Python を使用してメッシュを作成したい 3 次元ポイントのデータセットがあります。私が見たすべてのソフトウェアでは、エッジを提供する必要があります。3D の一連の点を入力として取り、一連の三角形メッシュを出力する Python のプログラムはありますか? できればメッシュを均一にしてほしいです。

ありがとう - エリ。

4

2 に答える 2

1

ポイントがサーフェスを表している場合は、@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' ) ;

ドロネー三角形分割

そこからsimplices、オブジェクトの属性を介して三角形または単純化にアクセスしtriます。たとえば、tri.simplices[0]は最初の三角形またはシンプレックスを参照し、3 つの整数の配列、たとえば を返します[ 10, 0, 5 ]。これは、最初のシンプレックスを構成する点が、配列 のインデックス 10、0、および 5 にあることを意味しdataます。

于 2013-10-14T16:19:29.120 に答える
0

Python で既存の Java ライブラリをどれだけ簡単に使用できるかはわかりませんが、Jzy3dはポイントからメッシュを生成するのに役立つ場合があります。通常のグリッド上にあるポイントに基づく入力用の直交テッセレータと、未知のグリッド用の delaunay テッセレータがあります。ポイント構造。(免責事項:私は著者です)

于 2012-02-23T23:31:11.487 に答える