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

Cubic intersection experimental branch #258

Draft
wants to merge 3 commits into
base: main
Choose a base branch
from
Draft

Conversation

raphlinus
Copy link
Contributor

A prototype of a cubic/cubic intersection algorithm. The core of this produces better results than the "fat line" technique (see #199), but it's not made fully robust and is not wired up with a usable API. This draft PR just snapshots work in progress and hopefully is a step toward a real solution.

A bunch of stuff toward cubic/cubic intersection.
Still prototype code, but it prints an intersection.
First step: apply min/max logic to existing parabola estimates. This may keep subdividing, so the next step will be a Frechet based bound.

WIP, just the min/max estimates.
@raphlinus
Copy link
Contributor Author

I realize I had pushed the wrong branch. This is still quite messy (and should probably be replaced with a cleaner commit), but in any case, the interesting logic is in examples/cubic_fun.rs.

@simoncozens
Copy link
Collaborator

I recently discovered there is actually an algebraic closed-form solution for cubic-cubic intersection! "All" you have to do is construct a Sturm sequence and solve a 9th-degree polynomial. Easy, really. There's an implementation here.

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.

None yet

2 participants