これは、3D ポイントのクラスターを含むデータ ファイルです。BSpline
これでサーフェスを作成できます。
dat=Import["C:\\Users\\Andy\\Desktop\\Foil.mat"];
surface=BSplineFunction[dat];
ParametricPlot3D[surface[x,y], {x, 0, 1}, {y, 0, 1},
MaxRecursion->4,Axes->None,Mesh->All,Boxed->False]
これで構造が見えます。しかし問題は、3D ソリッドを作成したいのですが、この構造には実際には 2 つの目に見える穴があります。
次の写真では、両方の角が開いていて、構造が中実ではなく、実際に空洞になっていることがわかります。
だから私は、視覚的にはうまくいくと確信しているが、しっかりした構造を返さない解決策を思いついた。
pic=Show[Graphics3D[
{Polygon[Table[surface[0,y],{y,0,1,0.005}]],
Polygon[Table[surface[1,y],{y,0,1,.005}]]}],
ParametricPlot3D[surface[x,y],{x,0,1},{y,0,1},
MaxRecursion-> 4,PlotPoints-> 20,
Mesh-> All],Boxed->False,Axes-> None];
GraphicsGrid[ {{ParametricPlot3D[surface[x,y],{x,0,1},{y,0,1}, PlotPoints-> 20,Mesh-> All,Boxed->False,Axes-> None], Graphics3D[{Polygon[Table[surface[0,y],{y,0,1,0.005}]], Polygon[Table[surface[1,y],{y,0,1,.005}]]} ]、写真}}]
ここに出力があります。
ここで、穴が視覚的に閉じられている 3 番目の画像を *.obj ファイルとしてエクスポートします。そのファイルをMeshlabなどの CAD ベースのメッシュ エディタにインポートできます。そこには、検出される穴が見えます。
これで、 Foil.matファイル内の指定されたデータ ポイントを使用して Mathematica でソリッド構造を形成できる簡単な方法ができました。BSpline
これを実現するために、関数でいくつかのオプションを使用できると思います。期待できるように、穴のない閉じた表面が必要です。
私の問題を十分に明確に説明できたことを願っています。お返事お待ちしております。
ブラジル