Я пытаюсь сделать четырехугольную сетку из поверхностной сетки (которая в основном треугольная), сгенерированной 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