MATLAB中的网格生成

时间:2009-11-06 08:45:49

标签: matlab mesh

MATLAB中是否有任何子程序包含一个点列表,并返回一个好的网格,我可以用来向同事展示,比如这个?

alt text

实际上,我只需要一个简单的2D网格生成器,它接收一系列X,Y坐标(定义区域的边界),并返回一个可以很好地网格化该区域的元素列表。 I can do the rest by using MATLAB command to interpolate the Z value.

编辑:我有兴趣使用MATLAB制作上面看起来的情节。我有兴趣使用MATLAB库来获取元素列表,这样当我自己绘制这些元素时(不是在MATLAB本身;而是在我自己的C#程序中),我可以获得这个网格表面。

PS:我知道有DistMesh,但我正在寻找更简单的东西 - 也许是在MATLAB中内置的东西。不,meshgrid 不是网格生成。

5 个答案:

答案 0 :(得分:6)

听起来你想创建一个finite element mesh,从一组定义一个区域边界的点开始,然后生成一个三角形网格,在该区域内创建更多的点。我不认为这个问题有一个“简单”的解决方案。

最接近的“内置”解决方案可能是Partial Differential Equation Toolbox,特别是Geometry AlgorithmsINITMESHREFINEMESH中的一些。

您提供给DistMesh的链接似乎是另一个很好的解决方案。您可以查看MathWorks File Exchange上的一些提交内容:

答案 1 :(得分:1)

  • 该图片与griddata文档中的图片完全相同。那里的例子看起来像你想要的。
  • SFTOOL可以轻松制作您展示的照片。
  • 薄板样条,例如TPAPS,也应该起作用。

答案 2 :(得分:1)

我认为用户创建的“gridfit”是我在单个表面上遇到的最好的,比griddata更好/更漂亮。

答案 3 :(得分:0)

如Delaunay Triangulation + Steiner Points中的网格生成?在MATLAB中有一个内置的Delaunay函数。

答案 4 :(得分:0)

如果表面是z = f(x,y)形式,则可以使用:

http://www.advancedmcode.org/how-to-plot-a-coloured-surface-from-3d-scatter.html

如果您的表面凹陷,请在同一网站上进行表面重建。