diff --git a/src/main/java/com/thealgorithms/maths/Volume.java b/src/main/java/com/thealgorithms/maths/Volume.java index caa8f8bece57..9d311b71c09c 100644 --- a/src/main/java/com/thealgorithms/maths/Volume.java +++ b/src/main/java/com/thealgorithms/maths/Volume.java @@ -88,4 +88,14 @@ public static double volumePrism(double basearea, double height) { public static double volumePyramid(double basearea, double height) { return (basearea * height) / 3; } + + /** + * Calculate the volume of an ellipsoid. + * + * @param semi-axes of an ellipsoid. + * @return volume of given ellipsoid. + */ + private static double volumeEllipsoid(double x, double y, , double z) { + return (Math.PI * x * y * z )/(6 * Math.sqrt(2)); + } } diff --git a/src/test/java/com/thealgorithms/maths/VolumeTest.java b/src/test/java/com/thealgorithms/maths/VolumeTest.java index e9a80b4bbb7f..2bf50da3e89a 100644 --- a/src/test/java/com/thealgorithms/maths/VolumeTest.java +++ b/src/test/java/com/thealgorithms/maths/VolumeTest.java @@ -31,5 +31,8 @@ public void volume() { /* test pyramid */ assertTrue(Volume.volumePyramid(10, 3) == 10.0); + + /* test ellipsoid */ + assertTrue(Volume.volumeEllipsoid(2, 5, 7) == 11.666666666666666); } }