-
Notifications
You must be signed in to change notification settings - Fork 110
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
Booleans are precision sensitive #676
Comments
This is working as intended - I don't think What I was asking for is simplified cases that return shard manifolds when the verts are identical (hence my use of |
Given that the Minkowski Sums are formed from Hulls (which lose all the symbolic perturbation information?), is there some way to synthetically reintroduce that back into the system? Hrm, I suppose there shouldn’t be non-identical verts with that, but I have a suspicion that Hull moves the points around a bit… I’ll investigate that a bit later… |
It would be interesting if Hull moves the verts at all. Symbolic perturbation isn't really information to be lost - it just means that when verts have floating-point equal X, Y, or Z values, we break the tie by looking at the direction of the normals of one of the two input objects to decide which one is one which side of the other. The Boolean op itself uses the input float coordinates as though they are exact and doesn't use our |
@elalish 's request here: #669 (comment)
The results of Boolean Ops can differ depending on small differences in precision.
Here's a simple test with two cube manifolds unioned together by "exactly" touching faces:
Near Cube Genus: 0, Far Cube Genus: -1
These problems exacerbate as faces rotate, extrude, dilate, etc. as seen in the Offset PRs and related BatchBoolean-based modelling.
I believe this is separate from the order-dependency/non-determinism bug...
The text was updated successfully, but these errors were encountered: