Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dual mesh and dual geometry. #168

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

filthynobleman
Copy link

Added functionalities for computing dual meshes and geometries. The functions also handle boundaries and leave to the user the option to preserve either the bijection between primal vertices and dual faces or between primal faces and dual vertices.
Preserved bijections also preserve the indexing (i.e., primal vertex with index i is mapped to dual face with index i, and primal face with index j is mapped to dual vertex with index j).
I think the code can be optimized, but I have extensively tested it in a personal project and it produces correct results.

@patrick-laurin
Copy link

What applications would such a feature have? I'm genuinely curious!

@filthynobleman
Copy link
Author

Personally, I've used the feature for visualizing Voronoi regions onto the surface. With standard vertex coloring I got smooth transitions between regions, and with triangle coloring the result is technically incorrect. Using face coloring on the dual mesh (keeping the one-to-one correspondence between primal vertices and dual faces), I was able to visualize the partitioning correctly.

As a side note, I've also used it for some other generic visualizations of primal/dual correspondences, for batch generation of polygonal meshes, and for testing the consistency of some methods on polygonal and triangular meshes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants