首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于BSpline的问题

关于BSpline的问题
EN

Stack Overflow用户
提问于 2011-09-14 10:26:35
回答 1查看 381关注 0票数 5

这里是一个带有3D点集群的数据文件。现在我们可以用它形成一个BSpline曲面。

代码语言:javascript
复制
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]

现在我们可以看到结构了。但问题是,我想做一个三维实体,这个结构实际上有两个可见的洞。

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

因此,我想出了一个解决方案,我相信这可能会在视觉上起作用,但不会返回一个坚实的结构。

代码语言:javascript
复制
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

EN

回答 1

Stack Overflow用户

发布于 2011-09-14 12:06:57

您可能想要探索TetGenLink,一种数学中的“隐藏特性”。

代码语言:javascript
复制
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.

“帮助”中的图像:

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7414766

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档