Sphere Volume — Archimedes' Discovery

Plain English first

Archimedes figured this out around 250 BCE and was so proud he asked for it to be carved on his tombstone.

The trick: take a cylinder that just barely fits around a sphere (same radius, height = 2r). Now carve out two cones from that cylinder, one pointing up and one pointing down, both with radius r and height r.

What remains inside the cylinder after removing those two cones — that curved shape — has the same volume as the sphere.

So: sphere = cylinder − 2 cones = πr²(2r) − 2×(⅓πr²r) = 2πr³ − ⅔πr³ = ⅔πr³... wait, that's ⅔. The full sphere is 4/3 πr³ because each half-sphere is ⅔ of a cylinder of height r, and there are two halves.

The 4/3 is not arbitrary. It falls out of the geometry every time.


Standard math notation

V = (4/3) × π × r³

Where:
  V = volume of the sphere
  r = radius

Archimedes' relationship:
  V_sphere    = (2/3) × V_circumscribed_cylinder
  V_cylinder  = πr²(2r) = 2πr³
  V_sphere    = (2/3)(2πr³) = (4/3)πr³  ✓

Surface area (for reference):
  T = 4πr²
  (exactly 4 times the area of a great circle — another Archimedes result)

Verbose Python with descriptive names

PI = 3.141592653589793

def compute_sphere_volume(radius_of_sphere):
    """
    Sphere volume = 4/3 × π × r³
    Discovered by Archimedes via the cylinder-minus-two-cones argument.
    The circumscribed cylinder has volume 2πr³; the sphere is 2/3 of that.
    """
    radius_cubed                    = radius_of_sphere ** 3
    volume_of_sphere                = (4 / 3) * PI * radius_cubed
    return volume_of_sphere

def compute_sphere_surface_area(radius_of_sphere):
    """
    Surface area = 4πr²
    Exactly four times the area of the circle with the same radius.
    Also discovered by Archimedes.
    """
    surface_area = 4 * PI * radius_of_sphere ** 2
    return surface_area

def verify_archimedes_relationship(radius):
    """
    Confirm: sphere volume = (2/3) × circumscribed cylinder volume.
    """
    height_of_cylinder      = 2 * radius
    volume_of_cylinder      = PI * radius**2 * height_of_cylinder
    volume_of_sphere        = compute_sphere_volume(radius)
    ratio                   = volume_of_sphere / volume_of_cylinder
    return ratio  # always exactly 2/3

print(compute_sphere_volume(radius_of_sphere=3))         # 113.0973...
print(compute_sphere_surface_area(radius_of_sphere=3))   # 113.0973... (coincidence for r=3!)
print(verify_archimedes_relationship(radius=5))           # 0.6666... = 2/3 ✓

Builds on

See also

コメント

まだコメントはありません。最初のコメントを!


コメントはモデレートされ、承認後に表示されます。