2012-02-23 105 views
1

私は、pythonを使ってメッシュを構成したい3次元点のデータセットを持っています。私が見たすべてのソフトウェアは、あなたがエッジを提供する必要があります。 pythonには、入力点として3Dの点集合をとり、三角メッシュの集合を出力するプログラムがありますか?可能であれば、私はメッシュが一様であることを望みます。Pythonでの3次元データサーフェスデータ用の三角メッシュの作成

ありがとう、 - Eli。

+0

ポイントは表面またはボリュームを表していますか?私はdelaunay三角測量でこれを一度行いましたが、最初に点を飛行機に投影する必要がありました。 – wim

+0

ちょうど私が[scicomp.SE]がこのような質問のための良い場所であることを将来の参考として言及したいと思った。 –

+0

点はサーフェスを表します。飛行機への投影はうまくいったのですか? – Eliezer

答えて

0

Pythonで既存のJavaライブラリをどれくらい簡単に使用できるか分かりませんが、Jzy3dはメッシュを生成するのに役立ちます:正規のグリッド上にある点に基づいて入力用の直交テッセラーがあり、delaunay未知の点構造のためのテッセレータ。 (免責事項:私は作者です)

1

点が表面を表す場合、Delaunay三角測量は@wimの示唆に従って使用できます。そこから

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') ; 

Delaunay triangulation

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

0

誰かが答えると私は同じ問題を抱えています。point3fで3D点を設定し、color4fで色分けして、ポイントを透明にします。ポイントは、3D空間(j3dApplet)に置かれた3D画像を表します。

[email protected]

関連する問題