@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000,expected = RuntimeException.class) public void testSolidEllipsoidNegativeYRadius() { double mass = 1.0; double xRadius = 1.0; double yRadius = -1.0; double zRadius = 1.0; RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, xRadius, yRadius, zRadius); }
@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000,expected = RuntimeException.class) public void testSolidEllipsoidNegativeMass() { double mass = -1.0; double xRadius = 1.0; double yRadius = 1.0; double zRadius = 1.0; RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, xRadius, yRadius, zRadius); }
@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000,expected = RuntimeException.class) public void testSolidEllipsoidNegativeXRadius() { double mass = 1.0; double xRadius = -1.0; double yRadius = 1.0; double zRadius = 1.0; RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, xRadius, yRadius, zRadius); }
@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000,expected = RuntimeException.class) public void testSolidEllipsoidNegativeZRadius() { double mass = 1.0; double xRadius = 1.0; double yRadius = 1.0; double zRadius = -1.0; RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, xRadius, yRadius, zRadius); }
private Link ball(double radius, double mass, AppearanceDefinition color) { Link ret = new Link("ball"); ret.setMass(mass); ret.setMomentOfInertia(RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, radius, radius, radius)); ret.setComOffset(0.0, 0.0, 0.0); Graphics3DObject linkGraphics = new Graphics3DObject(); linkGraphics.addSphere(radius, color); ret.setLinkGraphics(linkGraphics); return ret; }
@ContinuousIntegrationTest(estimatedDuration = 0.0) @Test(timeout = 30000) public void testSolidEllipsoid() { for( int i = 0 ; i < ITERATIONS; i++) { double mass = randomPositiveDouble(); double xRadius = randomPositiveDouble(); double yRadius = randomPositiveDouble(); double zRadius = randomPositiveDouble(); double Ixx = mass * (MathTools.square(yRadius) + MathTools.square(zRadius)) / 5.0; double Iyy = mass * (MathTools.square(xRadius) + MathTools.square(zRadius)) / 5.0; double Izz = mass * (MathTools.square(yRadius) + MathTools.square(xRadius)) / 5.0; Matrix3D inertiaTensor = RotationalInertiaCalculator.getRotationalInertiaMatrixOfSolidEllipsoid(mass, xRadius, yRadius, zRadius); assertEquals(Ixx, inertiaTensor.getM00(), DELTA); assertEquals(Iyy, inertiaTensor.getM11(), DELTA); assertEquals(Izz, inertiaTensor.getM22(), DELTA); } }