Roma: 41° 53' 24"N, 12° 30'E; New York: 40° 39' 51"N, 73° 56' 19"W. La terra è approssimabile con una sfera di diametro (127.5±0.5)·1e5 m. Qual è la distanza, lungo la superficie terrestre, di Roma da New York? L'esercizio non è facile (conviene rappresentare i punti vettorialmente e fare il loro prodotto scalare). Se non ci riesci prova a fare una stima. Controlla la risposta con WolframAlpha (distance from Rome to New York).
Primo metodo
Ricordiamo che i punti dello spazio sono descrivibili
anche mediante coordinate sferiche:
si prende l'asse z come asse polare, si considera come ρ la distanza dall'origine
e si prendono come altre due coordinate la longitudine (o azimut), in figura indicata con θ,
e la colatitudine (ossia il complementare della latitudine), indicata con φ:
P = (ρ·sin(φ)·cos(θ),
ρ·sin(φ)·sin(θ),
ρ·cos(φ)),
P' = (ρ·sin(φ')·cos(θ'),
ρ·sin(φ')·sin(θ'),
ρ·cos(φ')).
Il prodotto interno tra OP e OP' pensati come vettori deve essere uguale a
ρ²cos(α) dove α è l'angolo tra i due vettori.
Eguagliando questo valore a quello che ottendo facendo il prototto interno ottengo la
formuletta per il calcolo.
La distanza di P da P' sulla sfera è:
ρ·arccos(cos(θ−θ')·sin(φ)·sin(φ') + cos(φ)·cos(φ')).
Nel nostro caso:
f <- (90-(41+53/60+24/3600))*pi/180 t <- (12+30/60)*pi/180 f1 <- (90-(40+39/60+51/3600))*pi/180 t1 <- -(73+56/60+19/3600)*pi/180 # esprimendoci in 10^5 m ed indicando con (R1,R2) l'intervallo # di indeterminazione per il raggio R1 <- 127/2; R2 <- 128/2 d1 <- ( acos(cos(t-t1)*sin(f)*sin(f1) + cos(f)*cos(f1)) )*R1 d2 <- ( acos(cos(t-t1)*sin(f)*sin(f1) + cos(f)*cos(f1)) )*R2 c(d1,d2) # 68.66352 69.20418 # Possiamo assumere come distanza 69·10^5 m = 69·100 kmCon WolframAlpha ottengo 6907 km.
Secondo metodo ( lo spazio tridimensionale neGli Oggetti Matematici) So che la distanza tra due punti P e Q sulla sfera unitaria è data dall'arcocoseno del prodotto scalare tra P e Q. Vediamo come trasformare le coordinate geografiche nelle coordinate cartesiane, ovvero come passare, riferendosi al punto rosso della figura a lato, da α e β ad x, y e z. s = cos(β), z = sin(β), x = s*cos(α), y = s*sin(α) Ecco i calcoli, fatti con R. |
X <- function(B,A) cos(B/180*pi)*cos(A/180*pi) Y <- function(B,A) cos(B/180*pi)*sin(A/180*pi) Z <- function(B) sin(B/180*pi) B1 <- 41+53/60+24/3600; A1 <- -(12+30/60) P <- c(X(B1,A1),Y(B1,A1),Z(B1)) B2 <- 40+39/60+51/3600; A2 <- 73+56/60+19/3600 Q <- c(X(B2,A2),Y(B2,A2),Z(B2)) R <- 12750/2 acos(drop(P %*% Q))*R # 6893.385 ## Tenendo conto dell'approssimazione del raggio terrestre, concludo che ## la distanza è di 6895 km, con una precisione di una quindicina di km.
Terzo metodo
In alternativa si può ricorrere a questo semplice script:
Arrotondo a 6890 km, tenendo conto che sarebbe meglio prendere l'arrotondamento 6900 km, tenendo conto del modo approssimato con cui sono valutate le grandezze in gioco.