Intuitively understanding why the volume of a cylinder of height $h$ and radius $R$ is $\pi R^2h$

Well done for trying to get this intuition. The insight comes from calculus. It’s because in your 2nd method, you put too much material near the center.

A better approximation would be to use triangles (they are pointy at one end, and that point belongs near the center of the cylinder). Triangles’ areas are half that of the rectangle with same height and base, so that’s why you overestimated by a factor of two in the second method.

More rigorously, the area element in polar coordinates is $r \ dr \ d\theta$. You should let me know how much exposure to calculus before I explain further.


Method 2 fails because rectangular slices overlap each other, especially near the axis of the cylinder. This results in the volume being over-counted.

Instead we need triangular slices (which have half the volume of the rectangular slices).

This is best understood with a diagram:

Left: vertical rectangular slices bunch up and overlap near the centre of the cylinder being approximated. Right: triangular slices do not overlap and fit perfectly.

Source code (Mathematica):

(* Cylinder dimensions *)
cylinderHeight = 2;
cylinderRadius = 1;
(* Slice dimensions *)
numSlices = 16;
sliceAngle = 2 Pi / numSlices;
sliceHalfThickness = cylinderRadius * sliceAngle / 2;
(* Slices *)
rectangularSlice =
  Cuboid[
    {0, -sliceHalfThickness, 0},
    {cylinderRadius, +sliceHalfThickness, cylinderHeight}
  ];
triangularSlice =
  Prism @ {
    {0, 0, 0},
    {cylinderRadius, -sliceHalfThickness, 0},
    {cylinderRadius, +sliceHalfThickness, 0},
    {0, 0, cylinderHeight},
    {cylinderRadius, -sliceHalfThickness, cylinderHeight},
    {cylinderRadius, +sliceHalfThickness, cylinderHeight}
  };
(* Make diagrams *)
showSlices[slice_] :=
  Graphics3D[
    Table[
      {
        FaceForm[Black],
        EdgeForm @ Directive[Thick, Hue[n / numSlices]],
        Rotate[slice, n * sliceAngle, {0, 0, 1}]
      }
      , {n, numSlices}
    ]
    , Boxed -> False
    , ImageSize -> 240
    , Lighting -> {"Ambient", White}
  ];
Row[
  showSlices /@ {rectangularSlice, triangularSlice}
]

The problem with the second approach is that although the outer side of the rectangle travels a distance of $2\pi R$ during your rotation, the inner side travels a distance of $0$, so you're not creating as much volume as you would if you extruded the rectangle "straight out". In fact, since the distance traveled by a point on the rectangle is a linear function of its horizontal position, the average distance traveled is the just the average of the inner and outer values: $\pi R$. Multiplying this average by the area of the rectangle gives you the correct volume.

What you've discovered is that it's not safe to think of "one point" as a well-defined positive distance. The cylinder is indeed the disjoint union of a bunch of one-point-thick sheets as you've described, but in decomposing it like this you've lost information about the "relative sizes" of the different "zero" thicknesses at different places in the sheet.

Instead of these sheets, you should consider the thin wedge of the cylinder that corresponds to a very small change $d\theta$ in the rotation angle. When viewed from the top, this wedge looks like a thin triangle with base $R$ and height $R\times d\theta$, and therefore area $R^2d\theta/2$. As we sweep $\theta$ from $0$ to $2\pi$, the $d\theta$s add up to $2\pi$, so the wedge volumes $\frac{R^2h}2d\theta$ add up to $\pi R^2h$.