我试图用Mathematica生成的表面网格(主要是三角形)制作四边形网格。我不是在寻找高质量的网格物体,而是一种简单的算法算法。我使用GMSH进行外部操作。我们可以利用Mathematic的CAD导入功能来生成Mathematica内核所理解的3D几何。
我们可以看到导入的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的多边形),与商业软件相比可能效率很低。但可以看出,除了少数昂贵的商用网格之外,没有太多的四边形表面网格生成器可供使用。
BR
答案 0 :(得分:0)
无论输入拓扑如何,都会产生四边形: