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

What is the correct way to apply marching cubes to volumetric data. #14

Open
odinsbane opened this issue Sep 20, 2024 · 0 comments
Open

Comments

@odinsbane
Copy link

This issue is a bit subjective. Here is the basis of the problem. If I have a binary blob 3x3x3 that I want to mesh the outside of. Marching cubes will produce a 2x2x2 cube. Where the shape connects the center points of the voxels.

image

This image shows the 3x3x3 voxel data backing, the marching cubes generated mesh, and a mesh that surrounds the whole pixels/voxels.

I think a mesh representation shouldn't change based on the scale of the image. How would you expect a binary image to scale? If we double the resolution of the image then our 3x3x3 blob should be come 6x6x6. Then our marching cubes representation would become 5x5x5. The original mesh volume was 8au, the voxel volume was 27au. With the new resolution the mesh will be 15.6au where the voxel volume wouldn't change.

This discrepancy goes away at higher resolutions, but it can be quite noticeable for 3D volumes with anisotropic pixel sizes.

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

No branches or pull requests

1 participant