Le coordinate polari del punto $P$, identificate dalla terna raggio, longitudine e latitudine:

($r,\theta,\varphi$)

possono essere convertite facilmente nelle corrispondenti coordinate rettangolari della terna ($x,y,z$).

Essendo “O” l’origine degli assi e $P’$ la proiezione ortogonale di $P$ sul piano $XY$, osserviamo che:

$z = PP’ =r \cdot \sin(\varphi)$

$OP’ = r \cdot \cos(\varphi)$

$y = OP’ \cdot \sin(\theta)$

$x = OP’ \cdot \cos(\theta)$

In sintesi:

$x = r \cdot \cos(\varphi) \cdot \cos(\theta)$

$y = r \cdot \cos(\varphi) \cdot \sin(\theta)$

$z = r \cdot \sin(\varphi)$

Se invece della latitudine $\varphi$ utilizziamo la colatitudine $p$, avremo:

$OP’ = r \cdot \sin(p)$

e

$z = PP’ =r \cdot \cos(p)$

E quindi le tre formule di trasformazione precedenti diventano:

$x = r \cdot \sin(p) \cdot \cos(\theta)$

$y = r \cdot \sin(p) \cdot \sin(\theta)$

$z = r \cdot \cos(p)$

Ecco invece la trasformazione inversa, dalle coordinate rettangolari $(x,y,z)$ alle coordinate polari:

$r = \sqrt{x^2+y^2+z^2}$

$tan(\theta) = \frac{y}{x}$

$\cos(p) = \frac{z}{r}$

$\sin(\varphi) = \frac{z}{r}$

Il calcolo di $p$ e di $\varphi$ si ottiene senza ambiguità con le funzioni arcoseno e arcocoseno. Per evitare l’ambiguità nel calcolo di $\theta$ è invece opportuno l’uso della funzione arcotangente a due argomenti. Nei linguaggi di programmazione essa è generalmente denominata come atan2. Perciò:

$\theta = atan2(y,x)

Lascia un commento