Я пытаюсь создать четырехугольную сетку из поверхностной сетки (которая в основном является треугольной), созданной системой Mathematica. Я не ищу качественный сетчатый объект, а простой алгоритм обхода. Я использую GMSH для внешних целей. Мы можем использовать возможности импорта САПР в Mathematic для создания трехмерной геометрии, понятной ядру Mathematica.
Мы видим импортированные объекты 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}]
Теперь я ищу алгоритм для формирования четырехугольной сетки из информации о многоугольнике, доступной для ММА. Любое простое решение приветствуется. Под простым решением я имею в виду то, что не будет работать в очень общих настройках (где сетка состоит из многоугольников со сторонами более 5 или 6) и которое может быть довольно неэффективным по сравнению с коммерческим программным обеспечением. Но можно видеть, что существует не так много генераторов четырехугольной поверхностной сетки, кроме нескольких дорогих коммерческих.
BR