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

3D delaunay #81

Open
nilgoyette opened this issue Jan 10, 2023 · 6 comments
Open

3D delaunay #81

nilgoyette opened this issue Jan 10, 2023 · 6 comments

Comments

@nilgoyette
Copy link

I don't know much about the computer science behind 2D/3D delaunay so this might be a bad question, but I might as well as it anyway!

I've been looking for a Rust 3D delaunay triangulation for some years now. Nobody's doing it! There's no crate for it. I'm currently preparing txt files by calling qhull before calling my rust binary, like so

qdelaunay Qz i < sphere_vertices.txt > faces_dti.txt

I wonder, is 3D delaunay super hard to do? Is it totally different from 2D? Also, do you have plan to add it in spade in the future?

@glennDittmann
Copy link

Hi,
I am currently doing it for my thesis in computer graphics. Would be happy to open source my code after submitting / have it be integrated with spade / spade3.

@Stoeoef
Copy link
Owner

Stoeoef commented May 3, 2024

Thank you! I'm happy to help with the integration. Good luck with the thesis!

@glennDittmann
Copy link

@Stoeoef does the dcel work for 3d data, i.e. tetrahedral meshes, out of the box?

@Stoeoef
Copy link
Owner

Stoeoef commented May 27, 2024

Unfortunately not - the dcel only works with 2d things.
I think writing a new DCEL (or similar) structure for 3d will be required.

@glennDittmann
Copy link

Okay, that is a bit more effort. I'll let you know, maybe my version is comparable enough to spades 2D dcel..

@Stoeoef
Copy link
Owner

Stoeoef commented May 27, 2024

I'm not entirely sure how much conceptual overlap there actually is between 2d and 3d triangulations - it's probably sensible to have dedicated and different APIs for both of them. Maybe the handle-code (e.g., VertexHandle and similar) could (partially) unified - but that's not much of a saving, at least in terms of LOC.
I would still count it as a win if we have any 3d-Delaunay implementation in rust available. Please don't feel obliged to do any crazy focus on the integration into Spade (unless it's simpler!).

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

3 participants