diff --git a/Comparison/src/main/java/cz/fidentis/analyst/icp/Icp.java b/Comparison/src/main/java/cz/fidentis/analyst/icp/Icp.java index 54e8ad1c90e0dae0fa9c8edb483fa56365fea571..9d4b51d2d6d6d3677f156a5d16779d4be4fdf456 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/icp/Icp.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/icp/Icp.java @@ -7,6 +7,7 @@ import cz.fidentis.analyst.visitors.mesh.HausdorffDistance; import javax.vecmath.Matrix4d; import javax.vecmath.Point3d; + import javax.vecmath.Vector3d; import java.util.ArrayList; import java.util.Collections; diff --git a/Comparison/src/main/java/cz/fidentis/analyst/icp/Quaternion.java b/Comparison/src/main/java/cz/fidentis/analyst/icp/Quaternion.java index a5da6e0cfafae0971050e5904c14266b7b68b4c7..ad522a29d97ffa575b255133ae0aae9a100a9a1d 100644 --- a/Comparison/src/main/java/cz/fidentis/analyst/icp/Quaternion.java +++ b/Comparison/src/main/java/cz/fidentis/analyst/icp/Quaternion.java @@ -128,6 +128,7 @@ public final class Quaternion { * @return a rotation matrix (4x4) */ public Matrix4d toMatrix(){ +<<<<<<< HEAD double xx = x * x; double xy = x * y; double xz = x * z; @@ -142,6 +143,22 @@ public final class Quaternion { 2 * ( xy - zw ), 1 - 2 * ( xx + zz ), 2 * ( yz + xw ), 0, 2 * ( xz + yw ), 2 * ( yz - xw ), 1 - 2 * ( xx + yy ), 0, 0, 0,0, 1); +======= + double xx = x * x; + double xy = x * y; + double xz = x * z; + double xw = x * w; + double yy = y * y; + double yz = y * z; + double yw = y * w; + double zz = z * z; + double zw = z * w; + + return new Matrix4d(1 - 2 * ( yy + zz ),2 * ( xy + zw), 2 * ( xz - yw),0, + 2 * ( xy - zw ), 1 - 2 * ( xx + zz ), 2 * ( yz + xw ), 0, + 2 * ( xz + yw ), 2 * ( yz - xw ), 1 - 2 * ( xx + yy ), 0, + 0, 0,0, 1); +>>>>>>> 1d9816fc2b5d38ad345c195f2913fb8adf5a5de1 } }