Polylla mesh generator

Description

New algorithm to generate polygonal meshes of arbitrary shape, using any kind of triangulation as input, adaptable to any kind of complex geometry, no addition of extra points and uses the classic Doubly connected edge list (Half edge data struct) easy to implement wih another programming language.

The algorithm needs a initial triangulation as input, any triangulations will work, in the following Figure the example of a Planar Straigh Line Graph (PSLG) with holes (left image), triangulizated (middle image) to generate a Polylla mesh (right image).

PSLG Triangulized Polylla Mesh

IO formats

The algorithm supports two file formats as input, the output is an .off file and an .ale file use for the VEM.

Input as .node, .ele, .neigh files

Triangulation is represented as a .node file with the nodes of the triangulations and the boundary marker, .ele file with the triangles of the triangulations and a .neigh file with the adjacencies of each triangle.

Input commands of polylla are:

./Polylla <input .node> <input .ele> <input .neigh> <output filename>

Example to generate pikachu

./Polylla ./Polylla pikachu.1.node pikachu.1.ele pikachu.1.neigh out

Input as a .off file

./Polylla <input .off> <output filename>

Shape of polygons

Note shape of the polygon depend on the initital triangulation, in the folowing Figure there is a example of a disk generate with a Delaunay Triangulation with random points (left image) vs a refined Delaunay triangulation with semi uniform points (right image).

Delaunay Triangulation with Random Points Refined Delaunay Triangulation with Semi-Uniform Points
Image 1
Image 2