From a47646f55b39b5f19528cb79d2658d0f38892802 Mon Sep 17 00:00:00 2001 From: Snimer Date: Sat, 23 Oct 2021 19:08:10 +0530 Subject: [PATCH] Added 2 shaped in volume.py --- maths/volume.py | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/maths/volume.py b/maths/volume.py index 51b2b9fc0334..1f71c3af9c4e 100644 --- a/maths/volume.py +++ b/maths/volume.py @@ -103,6 +103,21 @@ def vol_sphere(radius: float) -> float: return 4 / 3 * pi * pow(radius, 3) +def vol_hemisphere(radius: float): + """Calculate the volume of a hemisphere + Wikipedia reference: https://en.wikipedia.org/wiki/Hemisphere + Other references: https://www.cuemath.com/geometry/hemisphere + :return 2/3 * pi * radius^3 + + >>> vol_hemisphere(1) + 2.0943951023931953 + + >>> vol_hemisphere(7) + 718.3775201208659 + """ + return 2 / 3 * pi * pow(radius, 3) + + def vol_circular_cylinder(radius: float, height: float) -> float: """Calculate the Volume of a Circular Cylinder. Wikipedia reference: https://en.wikipedia.org/wiki/Cylinder @@ -116,6 +131,26 @@ def vol_circular_cylinder(radius: float, height: float) -> float: return pi * pow(radius, 2) * height +def vol_conical_frustum(height: float, radius_1: float, radius_2: float): + """Calculate the Volume of a Conical Frustum. + Wikipedia reference: https://en.wikipedia.org/wiki/Frustum + :return 1/3 * pi * height * (radius_1^2 + radius_top^2 + radius_1 * radius_2) + + >>> vol_conical_frustum(45, 7, 28) + 48490.482608158454 + + >>> vol_conical_frustum(1, 1, 2) + 7.330382858376184 + """ + return ( + 1 + / 3 + * pi + * height + * (pow(radius_1, 2) + pow(radius_2, 2) + radius_1 * radius_2) + ) + + def main(): """Print the Results of Various Volume Calculations.""" print("Volumes:") @@ -126,7 +161,9 @@ def main(): print("Prism: " + str(vol_prism(2, 2))) # = 4 print("Pyramid: " + str(vol_pyramid(2, 2))) # ~= 1.33 print("Sphere: " + str(vol_sphere(2))) # ~= 33.5 + print("Hemisphere: " + str(vol_hemisphere(2))) # ~= 16.75 print("Circular Cylinder: " + str(vol_circular_cylinder(2, 2))) # ~= 25.1 + print("Conical Frustum: " + str(vol_conical_frustum(2, 2, 4))) # ~= 58.6 if __name__ == "__main__":