Una galleria, la cui sezione è un semicerchio di diametro 8.4 metri, è lunga 858 metri.   Quanti metri cubi di terra e roccia, all'incirca, si sono dovuti asportare per la sua costruzione?
[a destra è schematizzata la struttura della galleria, senza il disegno della collina in cui è stata scavata]
    

Devo trovare il volume di un cilindro di diametro 8.4 e "altezza" 858, e dividerne il valore per 2.  Facendo i calcoli (area del cerchio di base per altezza, diviso 2) trovo 23774.19 m³. Le misure sono arrotondate, e poi il materiale asportato non è esattamente pari a mezzo cilindro, per cui posso dire che ho dovuto asportare circa 24 mila metri cubi di materiale.
Sotto i calcoli, con l'intervallo di indeterminazione corrispondente al caso in cui il materiale asportato fosse esattamente mezzo cilindro (si ottiene che il valore sarebbe compreso tra 23480 e 24070, per cui potremmo prendere tra 23 mila e 25 mila metri cubi una stima realistica del volume del materiale effettivamente asportato).

r = 8.4/2; V = pi*r^2*858/2; V
# 23774.19
r1 = 8.35/2; V1 = pi*r1^2*857.5/2; V1
# 23478.32                           appr. per difetto
r2 = 8.45/2; V2 = pi*r2^2*858.5/2; V2
# 24072.08                           appr. per eccesso



# Se qualcuno è interessato, come è stata costruita la galleria con R (vedi):
source("http://macosa.dima.unige.it/r.R")
marg = function(x) par( mai=c(x,x,x,x) )              # I margini, che posso cambiare
BF=8; HF=3; NW()      # or  BOXW(0,0,0,0)             # Apro una finestra bianca
x = c(0,25); y = c(-2,2); w = c(0,4); z = array(c(0,0,0,0),dim=c(2,2))
marg(0); th = -40; ph = 30                            # scelgo 0 come margine e un punto di vista
F = persp(x,y,z, theta=th,phi=ph, scale=FALSE, xlim=x,ylim=y,zlim=w,
                 d=0.1, border="white", box=FALSE)
lines(trans3d(c(0,25),0.25,0,pmat=F),col="black")      # un binario
lines(trans3d(c(0,25),-0.25,0,pmat=F),col="black")     # l'altro e poi le traversine
for(xx in seq(0,25,0.25)) lines(trans3d(xx,c(-0.25,0.25),0,pmat=F),col="black")
lines(trans3d(c(5,17),1.5,0,pmat=F),col="black")        # il lato posteriore della galleria
t = seq(0,pi, len=1000)
lines(trans3d(17,cos(t)*1.5,sin(t)*1.5,pmat=F),col="black")   # la fine della galleria
# the gallery
for(xx in seq(5.01,16.99,0.01)) lines(trans3d(xx,cos(t)*1.5,sin(t)*1.5,pmat=F),col="brown")
lines(trans3d(c(5,17),-1.5,0,pmat=F),col="black")       # il lato anteriore della galleria
lines(trans3d(5,cos(t)*1.5,sin(t)*1.5,pmat=F),col="black")    # l'inizio della galleria
t = seq(pi/3,pi, len=1000)
lines(trans3d(17,cos(t)*1.5,sin(t)*1.5,pmat=F),col="black")   # parte del retro