Skip to content

Conversation

@WeiqunZhang
Copy link
Member

This adds the marching cubes algorithm of "Efficient implementation of Marching Cubes' cases with topological guarantees" by Lewiner, Lopes, Vieira & Tavares, Journal of Graphics Tools 8(2): pp. 1-15 (2003). The implementation is adapted from the source code available at http://thomas.lewiner.org/publication_page.php%EF%B9%96pubkey=marching_cubes_jgt.html.

Given a signed distance function (e.g., from our STL tools), this generates a list of topologically consistent triangles. Every cut cell's EB surfaces are decomposed into up to 9 triangles. There could be multiple cuts and/or volumes in a cell. The cuts are shared faces and edges between neighbor cells are consistent.

For debugging purpose, we have also added a function that can save these triangles into a STL file.

Future work involves the computation of EB information such as volume fraction, area faction, etc. based on the triangles.

This adds the marching cubes algorithm of "Efficient implementation of
Marching Cubes' cases with topological guarantees" by Lewiner, Lopes, Vieira
& Tavares, Journal of Graphics Tools 8(2): pp. 1-15 (2003). The
implementation is adapted from the source code available at
http://thomas.lewiner.org/publication_page.php%EF%B9%96pubkey=marching_cubes_jgt.html.

Given a signed distance function (e.g., from our STL tools), this generates
a list of topologically consistent triangles. Every cut cell's EB surfaces
are decomposed into up to 9 triangles. There could be multiple cuts and/or
volumes in a cell. The cuts are shared faces and edges between neighbor
cells are consistent.

For debugging purpose, we have also added a function that can save these
triangles into a STL file.

Future work involves the computation of EB information such as volume
fraction, area faction, etc. based on the triangles.
@WeiqunZhang WeiqunZhang marked this pull request as ready for review November 14, 2025 00:58
@WeiqunZhang WeiqunZhang requested a review from atmyers November 14, 2025 00:58
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.

1 participant