commit | 2f4e86b792693d4c2c0e5fb2c4f198541e1fecb6 | [log] [tgz] |
---|---|---|
author | Andreas Goß <75903169+agoss94@users.noreply.github.com> | Sun Apr 28 02:14:00 2024 +0200 |
committer | GitHub <noreply@github.com> | Sat Apr 27 20:14:00 2024 -0400 |
tree | fd700b6f488cde5e6edf114a7b9beff79a411739 | |
parent | fa831656a48a3cad2f4c0491c600a9ef138216c3 [diff] |
GEOMETRY-110: add ConvexHull3D using Quickhull algorithm * GEOMETRY-110 Add ConvexHull3D class and tests. * GEOMETRY-110 Return only an unmodifiable collection of facets. * GEOMETRY-110 Test for a large number of points. * Checkstyle Fix. * GEOMETRY-110 Points are added to candidates again instead of a new point set. * GEOMETRY-110 Only candidates points are distributed. * GEOMETRY-110 Add Simplex type * GEOMETRY-110 Create simplex while appending and cache it for later. * GEOMETRY-110 Build simplex incrementially while appending points. * GEOMETRY-110 Return facets as list and filter out duplicates in vertices. * GEOMETRY-110 Returned collections have to be unmodifiable in public methods. * GEOMETRY-110 Rename method and calculate maximum in a loop. * GEOMETRY-110 Declare variable outside of loop. * GEOMETRY-110 Rename methods. * GEOMETRY-110 Replace bounds by array. * GEOMETRY-110 Add check for appending a collection of points * [GEOMETRY-110] Delete hasOusidePoints and add exclusion for facets to spotbugs. * [GEOMETRY-110] Move isInside method into Facet class and reverse and rename it to isOutside * [GEOMETRY-110] Replace vertexToFacetMap with edgeMap * [Geometry-110] Change loop for creating edges. * [GEOMETRY-110] Facets are all located through edge operations. The edges are oriented in such a way, that neighbors share an edge in inverse orientation. * [GEOMETRY-110] Delete unnecessary debug code. * [GEOMETRY-110] Edges are oriented and lookup is done via an edgeMap. Each oriented edge is unique in association with a facet. Each facet stores the maximum offset and the associated point of outside points. * [GEOMETRY-110] - Rename Edge fields. - Improve testing and assert all outputs of the algorithm. * [GEOMETRY-110] Check isDegenerate for all non-degenerate hulls. * [GEOMETRY-110] Even though the defined region is the same the number of facets can vary depending on the execution order of the algorithm. --------- Co-authored-by: agoß <agoß@Goß> Co-authored-by: Andreas Goss <agoss@itemis.com>
The Apache Commons Geometry project provides geometric types and utilities.
More information can be found on the Apache Commons Geometry homepage. The JavaDoc can be browsed. Questions related to the usage of Apache Commons Geometry should be posted to the user mailing list.
You can download source and binaries from our download page.
Alternatively, you can pull it from the central Maven repositories:
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-geometry</artifactId> <version>1.0</version> </dependency>
We accept Pull Requests via GitHub. The developer mailing list is the main channel of communication for contributors. There are some guidelines which will make applying PRs easier for us:
mvn
.If you plan to contribute on a regular basis, please consider filing a contributor license agreement. You can learn more about contributing via GitHub in our contribution guidelines.
This code is under the Apache Licence v2.
See the NOTICE
file for required notices and attributions.
You like Apache Commons Geometry? Then donate back to the ASF to support the development.
#apache-commons
IRC channel on irc.freenode.org