Comments (5)
The issue should be fixed in the git repository.
Note that as the spherical polygons in the test case are very small with respect to the tolerance
(or rather the tolerance is very large with respect to the spherical polygons), the result of the union
operation is now a consistent BSP tree, but is not very accurate. As several points from the two
polygons are too close to each other, they are considered equal, which distorts the result.
This is considered normal.
I agree that the consistency of the tree needed to be fixed.
Thanks for the report, for the analysis, and for the simple test case!
from hipparchus.
Thanks for the quick turnaround. Is there a planned release date for 1.4?
from hipparchus.
No release date planned for now, but we could do that.
Do you need a release soon or would a release in the next few months suit your needs?
from hipparchus.
I've been playing around with tolerance values to try to determine if there is an "ideal" setting that will fit my use case but keep running into issues. The latest is a "this should never happen" exception that can be reproduced using the code below. I can submit this as a new issue but it may already be fixed by your previous commit. I'm going to put in a check for minimum allowable size for shapes to see if that gets me past this. I'm hopeful that I can find a workaround without the need for an accelerated release.
S2Point[] s2pA = new S2Point[]{
new S2Point(new Vector3D(0.1504230736114679, -0.6603084987333554, 0.7357754993377947)),
new S2Point(new Vector3D(0.15011191112224423, -0.6603400871954631, 0.7358106980616113)),
new S2Point(new Vector3D(0.15008035620222715, -0.6605195692153062, 0.7356560238085725)),
new S2Point(new Vector3D(0.1503914563063968, -0.6604879854490165, 0.7356208472763267))
};
final SphericalPolygonsSet spsA = new SphericalPolygonsSet(1E-100, s2pA);
spsA.getSize();
from hipparchus.
Please open a new issue. It is not fixed by the previous commit.
from hipparchus.
Related Issues (20)
- Add option for Butcher-based Field integrators to use doubles as coefficients
- Improvable performance in Gradient HOT 3
- Rotation.getAngles(ZYX, VECTOR_OPERATOR) inconsistent in 'Gimbal Lock' HOT 3
- Define reasonable iteration limit for `LaguerreSolver#solveAllComplex()`method
- Infinite loop with SQPOptimizerGM HOT 1
- Cannot invoke "Object.equals(Object)" because the return value of "org.hipparchus.geometry.partitioning.BSPTree.getAttribute()" is null HOT 2
- `EmpiricalDistribution#density()` shouldn't return `NaN` if kernel density is `0.0`
- Introduce Mockito as test dependency
- Make JacobiKey public in PolynomialsUtils HOT 1
- CI/CD failure HOT 2
- Allow variable arguments to build PolynomialFunction
- Add inverse transform method to UnscentedTransformProvider
- Change visibility of Adams(Field)Integrator to protected
- Add Field version of GraggBulrischStoer integrator
- Add Gauss-Markov generator
- Change signature of currentInterval in (Field)AdapatableInterval
- Avoid exception "org.hipparchus.exception.MathIllegalArgumentException: matrix is singular" for complex implementations HOT 2
- Remove link to yandex
- org.hipparchus.special.Erf.erfInv(0.5) gives wrong result HOT 1
- hipparchus.org website: issue with lists on documentation pages
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from hipparchus.