Skip to content

3D Binary Subdivision#164

Draft
GeorgeR227 wants to merge 3 commits intomainfrom
gr/3d-subdiv
Draft

3D Binary Subdivision#164
GeorgeR227 wants to merge 3 commits intomainfrom
gr/3d-subdiv

Conversation

@GeorgeR227
Copy link
Contributor

Following the success of the binary and cubic subdivisions for 2D meshes, this PR is introducing the binary subdivision for 3D meshes. The idea behind this subdivision is to take any coarse 3D mesh, which can be made manually, and to subdivide it automatically to quickly get a mesh that can be used in simulations.

The subdivision technique works on a per-tetrahedron basis. Working on the hollow 2-simplex, a binary subdivision is applied via the 2D binary subdivision. Then tetrahedra are glued on, first those on the outer portions which have as one of their vertices an original vertex (vs. a midpoint vertex) of which there are four. This leaves an octahedron in the center which can be further subdivided into four other tetrahedra. The end result for any particular tetrahedron should look as follows:
image

Tested on a tetrahedron
Needs testing. Orient algorithm seems to fail on subdivided mesh, even when subdivision is done manually.
@lukem12345
Copy link
Member

Here is a sketch of a tetrahedron subdivided into 8 tetrahedra. I have not double-checked this.

image

@GeorgeR227
Copy link
Contributor Author

This is still immensely helpful though, thanks. I was hoping we could just use the lower dim subdivisions to make the code easier but it seems like I might just have to recreate the whole thing.

@lukem12345 lukem12345 added the enhancement New feature or request label Jun 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants