T tuple1 = createEmptyTuple(); T tuple2 = createEmptyTuple(); T original = createRandomTuple(random); double xPos = Math.abs(original.getX()); double yPos = Math.abs(original.getY()); double zPos = Math.abs(original.getZ()); double sPos = Math.abs(original.getS()); tuple1 = createTuple(signX * xPos, signY * yPos, signZ * zPos, signS * sPos); assertEquals(tuple2.getX(), xPos, getEpsilon()); assertEquals(tuple2.getY(), yPos, getEpsilon()); assertEquals(tuple2.getZ(), zPos, getEpsilon()); assertEquals(tuple2.getS(), sPos, getEpsilon()); assertEquals(tuple1.getX(), signX * xPos, getEpsilon()); assertEquals(tuple1.getY(), signY * yPos, getEpsilon()); assertEquals(tuple1.getZ(), signZ * zPos, getEpsilon()); assertEquals(tuple1.getS(), signS * sPos, getEpsilon()); assertEquals(tuple1.getX(), xPos, getEpsilon()); assertEquals(tuple1.getY(), yPos, getEpsilon()); assertEquals(tuple1.getZ(), zPos, getEpsilon()); assertEquals(tuple1.getS(), sPos, getEpsilon());
T tuple1 = createEmptyTuple(); T tuple2 = createEmptyTuple(); tuple2 = createRandomTuple(random); tuple1.set(tuple2); EuclidCoreTestTools.assertTuple4DEquals(tuple1, tuple2, getEpsilon()); tuple2 = createRandomTuple(random); tuple1.set(tuple2); EuclidCoreTestTools.assertTuple4DEquals(tuple1, tuple2, getEpsilon()); tuple2 = createRandomTuple(random); tuple2.get(tupleArray); tuple1.set(tupleArray); EuclidCoreTestTools.assertTuple4DEquals(tuple1, tuple2, getEpsilon()); tuple2 = createRandomTuple(random); tuple2.get(2, tupleArray); tuple1.set(2, tupleArray); EuclidCoreTestTools.assertTuple4DEquals(tuple1, tuple2, getEpsilon()); tuple2 = createRandomTuple(random); tuple2.get(tupleArray); tuple1.set(tupleArray); for (int index = 0; index < 4; index++) assertEquals(tuple2.getElement32(index), tuple1.getElement32(index), Math.max(getEpsilon(), 1.0e-6)); tuple2 = createRandomTuple(random); tuple2.get(2, tupleArray);
@Test public void testSetToNaN() throws Exception { Random random = new Random(621541L); for (int i = 0; i < ITERATIONS; i++) { T tuple = createTuple(random.nextDouble(), random.nextDouble(), random.nextDouble(), random.nextDouble()); tuple.setToNaN(); assertTrue(Double.isNaN(tuple.getX())); assertTrue(Double.isNaN(tuple.getY())); assertTrue(Double.isNaN(tuple.getZ())); } }
@Override @Test public void testNormalize() { super.testNormalize(); Quaternion expected = new Quaternion(); Quaternion actual = new Quaternion(); actual.setUnsafe(0.0, 0.0, 0.0, 0.0); actual.normalize(); EuclidCoreTestTools.assertTuple4DEquals(expected, actual, getEpsilon()); Quaternion q = new Quaternion(); q.setUnsafe(1.0, 1.0, 1.0, 1.0); actual.setAndNormalize(q); assertTrue(actual.isUnitary(getEpsilon())); q.setUnsafe(1.0, 1.0, 1.0, 1.0); actual.setAndNormalize((Orientation3DReadOnly) q); assertTrue(actual.isUnitary(getEpsilon())); }
public void testNegate() throws Exception super.testNegate();
T tuple1 = createEmptyTuple(); T tuple2 = createEmptyTuple(); T original = createRandomTuple(random); double xOriginal = signX * original.getX(); double yOriginal = signY * original.getY(); double zOriginal = signZ * original.getZ(); double sOriginal = signS * original.getS(); tuple1 = createTuple(xOriginal, yOriginal, zOriginal, sOriginal); assertEquals(tuple2.getX(), -xOriginal, getEpsilon()); assertEquals(tuple2.getY(), -yOriginal, getEpsilon()); assertEquals(tuple2.getZ(), -zOriginal, getEpsilon()); assertEquals(tuple2.getS(), -sOriginal, getEpsilon()); assertEquals(tuple1.getX(), xOriginal, getEpsilon()); assertEquals(tuple1.getY(), yOriginal, getEpsilon()); assertEquals(tuple1.getZ(), zOriginal, getEpsilon()); assertEquals(tuple1.getS(), sOriginal, getEpsilon()); assertEquals(tuple1.getX(), -xOriginal, getEpsilon()); assertEquals(tuple1.getY(), -yOriginal, getEpsilon()); assertEquals(tuple1.getZ(), -zOriginal, getEpsilon()); assertEquals(tuple1.getS(), -sOriginal, getEpsilon());
T tuple1 = createRandomTuple(random); tuple1.normalize(); assertEquals(expectedLength, actualLength, getEpsilon()); T tuple2 = createRandomTuple(random); tuple2.normalize(); double scale = EuclidCoreRandomTools.nextDouble(random, 0.0, 10.0); tuple1 = createTuple(scale * tuple2.getX(), scale * tuple2.getY(), scale * tuple2.getZ(), scale * tuple2.getS()); tuple1.normalize(); EuclidCoreTestTools.assertTuple4DEquals(tuple1, tuple2, getEpsilon()); T tuple1 = createRandomTuple(random); T tuple2 = createEmptyTuple(); assertEquals(expectedLength, actualLength, getEpsilon()); tuple2 = createRandomTuple(random); tuple2.normalize(); T tuple3 = createEmptyTuple(); double scale = EuclidCoreRandomTools.nextDouble(random, 0.0, 10.0); tuple3 = createTuple(scale * tuple2.getX(), scale * tuple2.getY(), scale * tuple2.getZ(), scale * tuple2.getS()); tuple1.setAndNormalize(tuple3); EuclidCoreTestTools.assertTuple4DEquals(tuple1, tuple2, getEpsilon());