这里是一个带有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]现在我们可以看到结构了。但问题是,我想做一个三维实体,这个结构实际上有两个可见的洞。

在下一张图中,我们可以看到,在两个角落是开放的,结构不是坚实的,但实际上是空心的。

因此,我想出了一个解决方案,我相信这可能会在视觉上起作用,但不会返回一个坚实的结构。
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[ParametricPlot3D,y,{x,0,1},{ y,0,1},点-> 20,网格->所有,框->假,轴->无],Graphics3D[表[surface0,y,{y,0,1,0.005}]],多边形[表[surface1,y,{y,0,1,.005}]}[pic}]
这是输出。

现在,我们导出第三张图片,其中的漏洞作为一个*.obj文件在视觉上关闭。我们可以在任何基于梅斯拉布的网格编辑器中导入该文件。在那里人们可以看到要探测到的洞。

现在有一种简单的方法,这样我们就可以用Foil.mat文件中给定的数据点在Mathematica中形成一个坚实的结构。我希望可以在BSpline函数中使用一些选项来实现这一点。可以预料的是,我希望有一个没有洞的封闭表面。
希望我能清楚地解释我的问题。等你的回复。
BR
发布于 2011-09-14 12:06:57
您可能想要探索TetGenLink,一种数学中的“隐藏特性”。
TetGen is a quality tetrahedral mesh generator and a three-dimensional
Delaunay triangulator.
TetGenLink is a Mathematica application that uses Wolfram Library Link
to link to TetGen functions. It is used automatically by Mathematica for
various operations such as interpolation in three-dimensional convex domains.
However, it can also be used directly where it gives a flexible and innovative
way to use the functionality of TetGen.“帮助”中的图像:

https://stackoverflow.com/questions/7414766
复制相似问题