@Test public void multTran_2d_3d() { Vector2D_F64 a = new Vector2D_F64(-1, 2); DenseMatrix64F M = new DenseMatrix64F(3, 3, true, 1, 2, 3, 4, 5, 6, 7, 8, 9); Vector3D_F64 c = new Vector3D_F64(); GeometryMath_F64.multTran(M, a, c); assertEquals(14, c.getX(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(16, c.getY(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(18, c.getZ(), GrlConstants.DOUBLE_TEST_TOL); }
@Test public void sub() { Vector3D_F64 a = new Vector3D_F64(1, 2, 3); Vector3D_F64 b = new Vector3D_F64(3, 1, 4); Vector3D_F64 c = new Vector3D_F64(); GeometryMath_F64.sub(a, b, c); assertEquals(-2, c.getX(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(1, c.getY(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(-1, c.getZ(), GrlConstants.DOUBLE_TEST_TOL); }
@Test public void add_scale() { Vector3D_F64 a = new Vector3D_F64(1, 2, 3); Vector3D_F64 b = new Vector3D_F64(3, 1, 4); Vector3D_F64 c = new Vector3D_F64(); GeometryMath_F64.add(2, a, -1, b, c); assertEquals(-1, c.getX(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(3, c.getY(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(2, c.getZ(), GrlConstants.DOUBLE_TEST_TOL); }
@Test public void addMult() { Vector3D_F64 a = new Vector3D_F64(1, 2, 3); Vector3D_F64 b = new Vector3D_F64(2, 3, 4); Vector3D_F64 c = new Vector3D_F64(); DenseMatrix64F M = new DenseMatrix64F(3, 3, true, 1, 1, 1, 1, 1, 1, 1, 1, 1); GeometryMath_F64.addMult(a, M, b, c); assertEquals(10, c.getX(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(11, c.getY(), GrlConstants.DOUBLE_TEST_TOL); assertEquals(12, c.getZ(), GrlConstants.DOUBLE_TEST_TOL); }