GCoiffier / mouette

Simple geometry processing and mesh handling library in Python.
MIT License
14 stars 2 forks source link

Mouette for quad meshes? #3

Open matsupin opened 3 weeks ago

matsupin commented 3 weeks ago

Hi!

Is it possible to create a quad mesh from a simple Delaunay mesh using Mouette?

From what I understand, the frame field function is intended to provide directional guidance, and the parametrization step helps integrate that frame field across the mesh to generate a coordinate system aligned with the field.

If I'm not mistaken, this final coordinate system should dictate how the quads should be placed.

Now, my question might seem extremely naive, but can the UV coordinates of the 2D flattened version of the original mesh (uv_coords = ff_integration.uvs.as_array()) be used to compute a quad mesh? And if so, how?

If this procedure is too complex to explain in detail, could you recommend any references (articles, research papers, known procedures, etc.) on this subject?

Regards

GCoiffier commented 3 weeks ago

Hi,

It is currently not possible to do quad remeshing using only mouette. Only the two first steps of the pipeline have been implemented:

Unfortunately, this coordinate system is not suited for the extraction of a quadmesh as a step called quantization is needed afterwards to align everything. I haven't implemented this step yet (though I plan to do it in the future). For now, you can look at this paper that does exactly that: https://onlinelibrary.wiley.com/doi/abs/10.1111/cgf.14928 The (C++) code is in the supplemental ( 'Supporting Information' drop down menu)

Once you have performed the quantization, you can extract quads by tracing vertical and horizontal lines in parameter space. A robust way to do that is to use the Qex software: https://www.graphics.rwth-aachen.de/software/libQEx/

I hope this helps, Guillaume