mirror of
https://github.com/TheAlgorithms/Java.git
synced 2026-03-13 08:40:43 +08:00
Added volume of a pyramid frustum (#7291)
* Added volume of a pyramid frustum Added a function calculating volume of a pyramid frustum, V=(S1+S2+sqrt(S1*S2))*h/3 * compiler error fixed * Added pyramid frustum test case * extra space removed
This commit is contained in:
@@ -102,4 +102,16 @@ public final class Volume {
|
||||
public static double volumeFrustumOfCone(double r1, double r2, double height) {
|
||||
return (Math.PI * height / 3) * (r1 * r1 + r2 * r2 + r1 * r2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Calculate the volume of a frustum of a pyramid.
|
||||
*
|
||||
* @param upperBaseArea area of the upper base
|
||||
* @param lowerBaseArea area of the lower base
|
||||
* @param height height of the frustum
|
||||
* @return volume of the frustum
|
||||
*/
|
||||
public static double volumeFrustumOfPyramid(double upperBaseArea, double lowerBaseArea, double height) {
|
||||
return (upperBaseArea + lowerBaseArea + Math.sqrt(upperBaseArea * lowerBaseArea)) * height / 3;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,5 +35,8 @@ public class VolumeTest {
|
||||
|
||||
/* test frustum */
|
||||
assertEquals(359.188760060433, Volume.volumeFrustumOfCone(3, 5, 7));
|
||||
|
||||
/* test pyramid frustum */
|
||||
assertEquals(140.0, Volume.volumeFrustumOfPyramid(6, 24, 10));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user