我正在尝试从由Mathematica生成的表面网格(主要是三角形)制作四边形网格。我不需要高质量的网格,只需要一个简单的解决方案算法。我使用GMSH来进行外部处理。我们可以利用Mathematica的CAD导入功能生成被Mathematica内核理解的3D几何体。
我们可以看到导入的
现在我需要的是一种算法,可以从 MMA 提供的多边形信息中形成四边形网格。非常欢迎任何简单的解决方案。所谓简单的解决方案是指不适用于非常普遍的情况(其中网格由具有5或6个边的多边形组成),并且与商业软件相比可能效率相当低下。但是可以看出,除了少数昂贵的商业软件之外,几乎没有四边形表面网格生成器。
我们可以看到导入的
Geometry3D
对象以及它们所包含的多边形边数的绘图。可以看出,构成网格的多边形并不总是三角形。Name3D=RandomChoice[ExampleData["Geometry3D"][[All,2]],6];
AllPic=
Table[
Vertex=ExampleData[{"Geometry3D",Name3D[[i]]},"VertexData"];
Polygons=ExampleData[{"Geometry3D",Name3D[[i]]},"PolygonData"];
GraphicsGrid[
{{ListPlot[#,Frame-> True,PlotLabel->Name3D[[i]] ]&@(Length[#]&/@Polygons),
Graphics3D[GraphicsComplex[Vertex,Polygon[Polygons]],Boxed-> False]}}
,ImageSize-> 300,Spacings-> {0,0}],
{i,1,Length@Name3D}];
GraphicsGrid[Partition[AllPic,2],Spacings-> {0,0}]
现在我需要的是一种算法,可以从 MMA 提供的多边形信息中形成四边形网格。非常欢迎任何简单的解决方案。所谓简单的解决方案是指不适用于非常普遍的情况(其中网格由具有5或6个边的多边形组成),并且与商业软件相比可能效率相当低下。但是可以看出,除了少数昂贵的商业软件之外,几乎没有四边形表面网格生成器。