This is an automated email from the ASF dual-hosted git repository. erans pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-geometry.git
The following commit(s) were added to refs/heads/master by this push: new be34ad9 GEOMETRY-21: Return known value for the norm of a normalized vector. be34ad9 is described below commit be34ad93c0b0554ce5927811e0f762312172b9ea Author: Gilles Sadowski <gil...@harfang.homelinux.org> AuthorDate: Mon Sep 24 02:19:19 2018 +0200 GEOMETRY-21: Return known value for the norm of a normalized vector. Adjust threshold in "angle" method so that all unit tests pass (cf. JIRA discussion). Not done yet: magic number should be replaced by a declared constant. --- .../java/org/apache/commons/geometry/euclidean/oned/Vector1D.java | 6 ++++++ .../org/apache/commons/geometry/euclidean/threed/Vector3D.java | 8 +++++++- .../java/org/apache/commons/geometry/euclidean/twod/Vector2D.java | 6 ++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java index 7b1507b..087ac82 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/oned/Vector1D.java @@ -363,6 +363,12 @@ public class Vector1D extends Cartesian1D implements EuclideanVector<Point1D, Ve /** {@inheritDoc} */ @Override + public double getNorm() { + return 1; + } + + /** {@inheritDoc} */ + @Override public Vector1D normalize() { return this; } diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java index 13f6da7..252848d 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/threed/Vector3D.java @@ -221,7 +221,7 @@ public class Vector3D extends Cartesian3D implements MultiDimensionalEuclideanVe double normProduct = getCheckedNorm() * v.getCheckedNorm(); double dot = dotProduct(v); - double threshold = normProduct * 0.9999; + double threshold = normProduct * 0.99; if ((dot < -threshold) || (dot > threshold)) { // the vectors are almost aligned, compute using the sine Vector3D cross = crossProduct(v); @@ -557,6 +557,12 @@ public class Vector3D extends Cartesian3D implements MultiDimensionalEuclideanVe /** {@inheritDoc} */ @Override + public double getNorm() { + return 1; + } + + /** {@inheritDoc} */ + @Override public Vector3D normalize() { return this; } diff --git a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java index 9915a32..a906dc7 100644 --- a/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java +++ b/commons-geometry-euclidean/src/main/java/org/apache/commons/geometry/euclidean/twod/Vector2D.java @@ -505,6 +505,12 @@ public class Vector2D extends Cartesian2D implements MultiDimensionalEuclideanVe /** {@inheritDoc} */ @Override + public double getNorm() { + return 1; + } + + /** {@inheritDoc} */ + @Override public Vector2D normalize() { return this; }