/** * Returns the value of the s-component of this vector. * * @return the s-component's value. */ @Override public double getS() { return vector.getS(); }
expectedDot = product.getS(); assertEquals(expectedDot, actualDot, getEpsilon()); expectedDot = product.getS(); assertEquals(expectedDot, actualDot, getEpsilon()); expectedDot = product.getS(); assertEquals(expectedDot, actualDot, getEpsilon()); expectedDot = product.getS(); assertEquals(expectedDot, actualDot, getEpsilon());
assertTrue(vector.getY() == 0.0); assertTrue(vector.getZ() == 0.0); assertTrue(vector.getS() == 0.0); assertTrue(vector.getY() == y); assertTrue(vector.getZ() == z); assertTrue(vector.getS() == s); assertTrue(vector.getY() == y); assertTrue(vector.getZ() == z); assertTrue(vector.getS() == s); for (int i = 0; i < 3; i++) assertTrue(vector.getElement(i) == vector3D.getElement(i)); assertTrue(vector.getS() == 0.0); for (int i = 0; i < 3; i++) assertTrue(vector.getElement(i) == point3D.getElement(i)); assertTrue(vector.getS() == 1.0);
@Test public void testTransformWithVector4D() throws Exception { Random random = new Random(5634L); AffineTransform transform = EuclidCoreRandomTools.nextAffineTransform(random); Vector4D vectorOriginal = EuclidCoreRandomTools.nextVector4D(random); Vector4D vectorExpected = new Vector4D(); Vector4D vectorActual = new Vector4D(); Vector3D vector3D = new Vector3D(vectorOriginal.getX(), vectorOriginal.getY(), vectorOriginal.getZ()); transform.transform(vector3D); vectorExpected.set(vector3D); vectorExpected.setS(vectorOriginal.getS()); vectorExpected.addX(vectorExpected.getS() * transform.getM03()); vectorExpected.addY(vectorExpected.getS() * transform.getM13()); vectorExpected.addZ(vectorExpected.getS() * transform.getM23()); transform.transform(vectorOriginal, vectorActual); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); vectorActual.set(vectorOriginal); transform.transform(vectorActual); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); // Try with dense-matrix DenseMatrix64F transformDenseMatrix = new DenseMatrix64F(4, 4); transform.get(transformDenseMatrix); DenseMatrix64F vectorOriginalDenseMatrix = new DenseMatrix64F(4, 1); vectorOriginal.get(vectorOriginalDenseMatrix); DenseMatrix64F vectorTransformedDenseMatrix = new DenseMatrix64F(4, 1); CommonOps.mult(transformDenseMatrix, vectorOriginalDenseMatrix, vectorTransformedDenseMatrix); vectorExpected.set(vectorTransformedDenseMatrix); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); }
@Test public void testTransformWithVector4D() throws Exception { Random random = new Random(5634L); RigidBodyTransform transform = EuclidCoreRandomTools.nextRigidBodyTransform(random); Vector4D vectorOriginal = EuclidCoreRandomTools.nextVector4D(random); Vector4D vectorExpected = new Vector4D(); Vector4D vectorActual = new Vector4D(); Vector3D vector3D = new Vector3D(vectorOriginal.getX(), vectorOriginal.getY(), vectorOriginal.getZ()); transform.transform(vector3D); vectorExpected.set(vector3D); vectorExpected.setS(vectorOriginal.getS()); vectorExpected.addX(vectorExpected.getS() * transform.getM03()); vectorExpected.addY(vectorExpected.getS() * transform.getM13()); vectorExpected.addZ(vectorExpected.getS() * transform.getM23()); transform.transform(vectorOriginal, vectorActual); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); vectorActual.set(vectorOriginal); transform.transform(vectorActual); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); // Try with dense-matrix DenseMatrix64F transformDenseMatrix = new DenseMatrix64F(4, 4); transform.get(transformDenseMatrix); DenseMatrix64F vectorOriginalDenseMatrix = new DenseMatrix64F(4, 1); vectorOriginal.get(vectorOriginalDenseMatrix); DenseMatrix64F vectorTransformedDenseMatrix = new DenseMatrix64F(4, 1); CommonOps.mult(transformDenseMatrix, vectorOriginalDenseMatrix, vectorTransformedDenseMatrix); vectorExpected.set(vectorTransformedDenseMatrix); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); }
double yError = Math.abs(correctedPelvis_y.getDoubleValue() - error.getY()); double zError = Math.abs(correctedPelvis_z.getDoubleValue() - error.getZ()); double yawError = Math.abs(correctedPelvis_yaw.getDoubleValue() - error.getS());
double yError = Math.abs(correctedPelvis_y.getDoubleValue() - error.getY()); double zError = Math.abs(correctedPelvis_z.getDoubleValue() - error.getZ()); double yawError = Math.abs(correctedPelvis_yaw.getDoubleValue() - error.getS());
double yError = Math.abs(correctedPelvis_y.getDoubleValue() - error.getY()); double zError = Math.abs(correctedPelvis_z.getDoubleValue() - error.getZ()); double yawError = Math.abs(correctedPelvis_yaw.getDoubleValue() - error.getS());
double yError = Math.abs(correctedPelvis_y.getDoubleValue() - error.getY()); double zError = Math.abs(correctedPelvis_z.getDoubleValue() - error.getZ()); double yawError = Math.abs(correctedPelvis_yaw.getDoubleValue() - error.getS());
double yError = Math.abs(correctedPelvis_y.getDoubleValue() - error.getY()); double zError = Math.abs(correctedPelvis_z.getDoubleValue() - error.getZ()); double yawError = Math.abs(correctedPelvis_yaw.getDoubleValue() - error.getS());
double yError = Math.abs(correctedPelvis_y.getDoubleValue() - error.getY()); double zError = Math.abs(correctedPelvis_z.getDoubleValue() - error.getZ()); double yawError = Math.abs(correctedPelvis_yaw.getDoubleValue() - error.getS());
QuaternionTools.transform(quaternion, vector3D, vector3D); vectorExpected.set(vector3D); vectorExpected.setS(vectorOriginal.getS());
vectorOriginal = EuclidCoreRandomTools.nextVector4D(random); Vector4D vectorOriginalCopy = new Vector4D(vectorOriginal); vectorExpected.set(0.0, 0.0, 0.0, vectorOriginal.getS()); Matrix3DTools.transform(matrix, vectorOriginal, vectorActual); EuclidCoreTestTools.assertTuple4DEquals(vectorExpected, vectorActual, EPS); vectorExpected.setY(matrix.getM11() * vectorOriginal.getY()); vectorExpected.setZ(matrix.getM22() * vectorOriginal.getZ()); vectorExpected.setS(vectorOriginal.getS()); for (int index = 0; index < 3; index++) vectorExpected.setElement(index, denseVectorTransformed.get(index)); vectorExpected.setS(vectorOriginal.getS());
FrameVector4D frameVector4D = new FrameVector4D(randomFrame, randomTuple.getX(), randomTuple.getY(), randomTuple.getZ(), randomTuple.getS()); assertTrue(frameVector4D.getReferenceFrame() == randomFrame); EuclidCoreTestTools.assertTuple4DEquals(randomTuple, frameVector4D, EPSILON);