Felt I should post this here to put some more eyes on this. As part of a generation algorithm, I need to divide any given polygon into quads. Specifically by dividing the edges into a set number of edges.
Copied from
my bountify post:
I require an implementation of a constrained quadmesh paving algorithm in C# that utilises no external dependencies other than what can be included as part of the answer, for a commercial solution to be included in a Unity3D project.
The required implementation takes a polygon with (integer, even) edge values, and splits the area of it into quadrilaterals, with as many quads in contact with the original edges as their assigned value (so an edge with weight 4 should have 4 quads in contact with it). The quads generated should be a similar area, with no interior angle of any quad being greater than 150 degrees, either before or after the new points generated undergo Laplacian smoothing. Solutions that leave triangles are not permitted.
The algorithm I expect to see would be the Advanced Front Quad Mesh Algorithm in C# which is detailed in the paper _"Paving: A new approach to automated quadrilateral mesh generation" (T. Blacker, M. Stephenson, 1991)_ and refinements upon this method exist as well. Methods that start with constrained Delauney triangulation and apply an algorithm such as the Blossom-Quad algorithm are also accepted.
Whilst this is a standard enough MEng problem and part of the syllabus for many graphical programming courses, as well as the cornerstone for any retopology tool in all 3D programs, finding an actual solution to this that's available out in the wild and ready for porting into Unity3D is proving impossible without needing to rewrite entire CAD libraries, and I need a solution within the week.
I've posted the bounty for this question already up at Bountify at
$50, although tips for the general solution will be given (the current stake for the question goes to charity if it's not solved by this time next week). It's my belief that more than a few people have got one of these sitting in their University portfolios that they can pretty much copy and paste the solution for after getting it to work in C# without needing gmsh or Matlab.
Payment and Solution through Bountify at this link(Edit: Clarifying title to state I need the implementation, not the algorithm)