MCPcopy Create free account
hub / github.com/TheAlgorithms/Python / vol_conical_frustum

Function vol_conical_frustum

maths/volume.py:443–479  ·  view source on GitHub ↗

| Calculate the Volume of a Conical Frustum. | Wikipedia reference: https://en.wikipedia.org/wiki/Frustum >>> vol_conical_frustum(45, 7, 28) 48490.482608158454 >>> vol_conical_frustum(1, 1, 2) 7.330382858376184 >>> vol_conical_frustum(1.6, 2.6, 3.6) 48.7240076620753

(height: float, radius_1: float, radius_2: float)

Source from the content-addressed store, hash-verified

441
442
443def vol_conical_frustum(height: float, radius_1: float, radius_2: float) -> float:
444 """
445 | Calculate the Volume of a Conical Frustum.
446 | Wikipedia reference: https://en.wikipedia.org/wiki/Frustum
447
448 >>> vol_conical_frustum(45, 7, 28)
449 48490.482608158454
450 >>> vol_conical_frustum(1, 1, 2)
451 7.330382858376184
452 >>> vol_conical_frustum(1.6, 2.6, 3.6)
453 48.7240076620753
454 >>> vol_conical_frustum(0, 0, 0)
455 0.0
456 >>> vol_conical_frustum(-2, 2, 1)
457 Traceback (most recent call last):
458 ...
459 ValueError: vol_conical_frustum() only accepts non-negative values
460 >>> vol_conical_frustum(2, -2, 1)
461 Traceback (most recent call last):
462 ...
463 ValueError: vol_conical_frustum() only accepts non-negative values
464 >>> vol_conical_frustum(2, 2, -1)
465 Traceback (most recent call last):
466 ...
467 ValueError: vol_conical_frustum() only accepts non-negative values
468 """
469 # Volume is 1/3 * pi * height *
470 # (radius_1 squared + radius_2 squared + radius_1 * radius_2)
471 if radius_1 < 0 or radius_2 < 0 or height < 0:
472 raise ValueError("vol_conical_frustum() only accepts non-negative values")
473 return (
474 1
475 / 3
476 * pi
477 * height
478 * (pow(radius_1, 2) + pow(radius_2, 2) + radius_1 * radius_2)
479 )
480
481
482def vol_torus(torus_radius: float, tube_radius: float) -> float:

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected