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

Overlap removal #96

Open
pca006132 opened this issue Jan 26, 2025 · 12 comments
Open

Overlap removal #96

pca006132 opened this issue Jan 26, 2025 · 12 comments

Comments

@pca006132
Copy link

Outline

Remove overlaps in meshes that contain self-intersection, assuming the mesh is a manifold.

Details

Basically, a valid solid mesh should be both manifold and has no self-intersection. However, models from the internet may contain defects. This project is about coming up with an algorithm that removes self-intersections.

See elalish/manifold#289 for details about ideas for the algorithm.

Expected Outcome

Implementation of said algorithm.

Future Possibilities

Project Properties

Skills

  • C++
  • Graph data structure.
  • Algorithms.

Difficulty

Hard.

Size

Long (350h)

Additional Information

@vinayakjeet
Copy link

Hi @elalish @pca006132 and team,

I've reviewed the discussion in #289 and the overall objectives for overlap removal (#96), and I'm excited to begin tackling this feature.
🚀

@vinayakjeet
Copy link

With respect to the discussion in #289, how does the triangulator deal with polygons, like bowtie or star-shaped polygons with nested holes? Is this an area for improvement?

@pca006132
Copy link
Author

With respect to the discussion in #289, how does the triangulator deal with polygons, like bowtie or star-shaped polygons with nested holes? Is this an area for improvement?

No, it works fine with these polygons. I think you can try to look at the regular triangulation algorithms first, understand how they work with non-convex polygons and polygons with holes, and then come back to this.

@elalish
Copy link
Contributor

elalish commented Feb 20, 2025

Here's some info on our triangulator: https://github.com/elalish/manifold/wiki/Manifold-Library#polygon-triangulation

What's your background? Have you written computational geometry algorithms before?

@vinayakjeet
Copy link

I've explored curve approximations but haven't written full geometry algorithms. I'll study triangulation methods and Manifold's approach—thanks for the reference!

@vinayakjeet
Copy link

Do you have an IRC channel where I can ask questions?

@pca006132
Copy link
Author

There is an unofficial discord: https://discord.gg/22kHZVpKBP, manifold channel.

@elalish
Copy link
Contributor

elalish commented Feb 24, 2025

You're also welcome to ask questions here or make a github discussion thread - I haven't gotten in the habit of checking discord yet, though I can if necessary.

@vinayakjeet
Copy link

No issues, I'll ask here if needed.

@wasup-yash
Copy link

Hey, This feature seems fascinating to work on, I read the discussion on overlap removal and would be starting to draft a proposal with a formulated structure on how to go about this, Need to go through the methods too, and about their implementation meanwhile :)
also, can you inviteme again ? cause the above invite of discord seems to be expired.

@pca006132
Copy link
Author

Hey, This feature seems fascinating to work on, I read the discussion on overlap removal and would be starting to draft a proposal with a formulated structure on how to go about this, Need to go through the methods too, and about their implementation meanwhile :) also, can you inviteme again ? cause the above invite of discord seems to be expired.

Weird, it seems that it is not expired:

Image

Anyway, here is another link that hopefully is not yet expired: https://discord.gg/6PB7qZ4HC7

@wasup-yash
Copy link

Hey, This feature seems fascinating to work on, I read the discussion on overlap removal and would be starting to draft a proposal with a formulated structure on how to go about this, Need to go through the methods too, and about their implementation meanwhile :) also, can you inviteme again ? cause the above invite of discord seems to be expired.

Weird, it seems that it is not expired:

Image

Anyway, here is another link that hopefully is not yet expired: https://discord.gg/6PB7qZ4HC7

thank you, Joined

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

No branches or pull requests

5 participants