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;
         }

Reply via email to