You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Steven Fontaine <si...@gmail.com> on 2019/09/23 07:12:56 UTC

[math] Question about constructing a PolyhedronsSet using B-rep (commons-math3 v3.6.1)

Hi, I have a (hopefully) simple question regarding constructing a
PolyhedronsSet using the constructor PolyhedronsSet(List<Vector3D>
vertices, List<int[]> facets, double tolerance). Currently I have the
following code to construct a simple tetrahedron:

List<Vector3D> verts = Arrays.asList(new Vector3D(0, 0, 0), new Vector3D(0,
1, 1), new Vector3D(1, 1, 0), new Vector3D(1, 0, 1));
List<int[]> facets = Arrays.asList(new int[] {0, 3, 1}, new int[] {3, 2,
1}, new int[] {2, 1, 0}, new int[] {3, 2, 0});
PolyhedronsSet set = new PolyhedronsSet(verts, facets, 1e-10);

To the best of my knowledge, according to the documentation for this
constructor, the previous code should be right. However, it obviously
isn't. I'm getting the following error:

org.apache.commons.math3.exception.MathIllegalArgumentException: facets
orientation mismatch around edge joining points (0, 0, 0) and (1, 0, 1)

at
org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.successors(PolyhedronsSet.java:403)
at
org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.buildBoundary(PolyhedronsSet.java:274)
at
org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.<init>(PolyhedronsSet.java:131)
at ...


So, my question is, what am I doing wrong? If it's something more complex
than can easily be explained via email, feel free to link me to some
articles which might help. (Preferably articles which someone with very
limited experience with BSP trees and such could understand.)

Thanks for your time. -Steven

Re: [math] Question about constructing a PolyhedronsSet using B-rep (commons-math3 v3.6.1)

Posted by Gilles Sadowski <gi...@gmail.com>.
Hello.

Short answer: The "geometry" package of "Commons Math" will
be deprecated, as we currently work on a new component:
    https://gitbox.apache.org/repos/asf?p=commons-geometry.git

There is no official release yet, but you should definitely test it.

Best regards,
Gilles

P.S. We seek help in order to release this component ASAP... ;-)

2019-09-23 9:12 UTC+02:00, Steven Fontaine <si...@gmail.com>:
> Hi, I have a (hopefully) simple question regarding constructing a
> PolyhedronsSet using the constructor PolyhedronsSet(List<Vector3D>
> vertices, List<int[]> facets, double tolerance). Currently I have the
> following code to construct a simple tetrahedron:
>
> List<Vector3D> verts = Arrays.asList(new Vector3D(0, 0, 0), new Vector3D(0,
> 1, 1), new Vector3D(1, 1, 0), new Vector3D(1, 0, 1));
> List<int[]> facets = Arrays.asList(new int[] {0, 3, 1}, new int[] {3, 2,
> 1}, new int[] {2, 1, 0}, new int[] {3, 2, 0});
> PolyhedronsSet set = new PolyhedronsSet(verts, facets, 1e-10);
>
> To the best of my knowledge, according to the documentation for this
> constructor, the previous code should be right. However, it obviously
> isn't. I'm getting the following error:
>
> org.apache.commons.math3.exception.MathIllegalArgumentException: facets
> orientation mismatch around edge joining points (0, 0, 0) and (1, 0, 1)
>
> at
> org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.successors(PolyhedronsSet.java:403)
> at
> org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.buildBoundary(PolyhedronsSet.java:274)
> at
> org.apache.commons.math3.geometry.euclidean.threed.PolyhedronsSet.<init>(PolyhedronsSet.java:131)
> at ...
>
>
> So, my question is, what am I doing wrong? If it's something more complex
> than can easily be explained via email, feel free to link me to some
> articles which might help. (Preferably articles which someone with very
> limited experience with BSP trees and such could understand.)
>
> Thanks for your time. -Steven
>

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org