mirror of
https://github.com/TheAlgorithms/Python.git
synced 2024-11-27 15:01:08 +00:00
Added 2 shaped in volume.py (#5560)
This commit is contained in:
parent
729aaf6427
commit
7390777f9a
|
@ -153,6 +153,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
|
||||
|
@ -166,6 +181,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:")
|
||||
|
@ -176,7 +211,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
|
||||
print("Spherical cap: " + str(vol_spherical_cap(1, 2))) # ~= 5.24
|
||||
print("Spheres intersetion: " + str(vol_spheres_intersect(2, 2, 1))) # ~= 21.21
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user