Conversione da coordinate cartesiane a polari e viceversa

gimli1
Salve ragazzi,

avrei un piccolo problema. Io ho un vettore n-dimensionale di coordinate cartesiane e vorrei trasformale in coordinate polari. A 2 e 3 dimensioni ci riesco, ad n dimensioni no.
Mi sono messo alla ricerca ed ho trovato un articolo che dice come fare e ve lo scrivo:


\(r = \sqrt{x_1^2 + x_2^2 + \ldots + x_n^2} \)
\(\theta_1 = \cos^{-1}(x_n/r) \)
\(\theta_2 = \cos^{-1}(x_{n-1}/r \cdot \sin(\theta_1)) \)
\(\cdots \)
\(\theta_j = \cos^{-1}(x_{n-j+1}/r \cdot \sin(\theta_1) \cdot \ldots \cdot \sin(\theta_{j-1}) \)
\(\cdots \)
\(\theta_{n-2} = \cos^{-1}(x_{n-3}/r \cdot \sin(\theta_1) \cdot \ldots \cdot \sin(\theta_{n-3})) \)
with \(\cos(\theta_{n-1} = x_1/(r \cdot \sin(\theta_1) \cdot \ldots \cdot \sin(\theta_{n-2})) \) and \(\sin(\theta_{n-1} = x_2/(r \cdot \sin(\theta_1) \cdot \ldots \cdot \sin(\theta_{n-2})) \). To calculate the value of \(\theta_{n-1}\) both the values of \(\cos(\theta_{n-1})\) and (\sin(\theta_{n-1})\) are used in determining the quadrant that \(\theta_{n-1}\) is located in.



che significa l'ultimo periodo? io il \(\theta_{n-1} \) l'ho calcolato in questo modo:

\(\theta_{n-1} = \cos^{-1}(x_{n-2}/r \cdot \sin(\theta_1) \cdot \ldots \cdot \sin(\theta_{n-2})) \)

giusto?

l'altra domanda è: se ho un vettore di coordinate polari, come lo converto in coordinate cartesiane?

grazie mille!

Risposte
Quinzio
E' la prima volta che vedo questa roba... interessante.
Credo che bisogna pensare all'unico esempio che si può capire "bene" cioè $RR^3$.
In pratica, con $n$ dimensioni abbiamo $n-1$ angoli. Tutti gli $n-2$ angoli vanno da $0$ a $\pi$. Solo l'$n-1$esimo angolo va da $[-pi,pi]$.
Quindi per ricavare tutti i primi angoli mi basta il coseno, per l'ultimo da calcolare ho bisogno di seno e coseno per capire il valore dell'angolo. In pratica per l'$n-1$esimo angolo calcolo il coseno ottenendo qualcosa tra $[0,\pi]$. Poi calcolo il seno, se è negativo inverto l'angolo ottenuto prima.

Quindi, da polare a cartesiano....
direi che si esplicitano le coordinate.
$x_n= r\ cos\theta_1 $
$x_{n-1} = (r\ cos\theta_2)/(sin \theta_1 ) $
eccetera.....
$x_1=\pm \sqrt(r^2-[(x_2)^2+...+(x_n)^2])$
a seconda del segno del seno di $\theta_{n-1}$

gimli1
grazie per la risposta, ma forse è meglio un esempio numerico per capirci... allora stabiliamo tre punti

\(x_1 = -2 \)
\(x_2 = 2 \)
\(x_3 = 0 \)

secondo quelle formulette di sopra io avrei:

\(r = \sqrt{-2^2 + 2^2 + 0^2} \approx 2,828 \)
\(\theta_1 = \cos^{-1}(0/2,828) \approx 1,571 \)

poi ho

\(\cos(\theta_{n-1}) = -2/(2,828 \cdot \sin(1,571)) \approx \ -0,707 \)
\(\sin(\theta_{n-1}) = 2/(2,828 \cdot \sin(1,571)) \approx \ 0,707 \)

visto che il seno è positivo, allora
\(\theta_{n-1} = \cos^{-1}(-0,707) \approx 0,785 \)

giusto?

perché poi quando vado a riconvertire in coordinate cartesiane mi viene


\(x_1 = 2 \)
\(x_2 = 2 \)
\(x_3 = 0 \)

Quinzio
E' sbagliato $\theta_{n-1}$.

gimli1
cosa ho sbagliato? se sono a conoscenza del valore del coseno, per ricavarmi un angolo faccio arccos del coseno, no?

Quinzio
"gimli":
cosa ho sbagliato? se sono a conoscenza del valore del coseno, per ricavarmi un angolo faccio arccos del coseno, no?

Certo. E' dall'inizio del post che non si parla d'altro... :)
E' sbagliato il calcolo numerico.
E giusto così:
$\theta_{n-1}=arccos (-1/\sqrt2) = 3/4 \pi$

gimli1
ah giusto! non mi escono, però, le coordinate cartesiane

ad esempio, secondo quando detto prima

\( x_3 = r \cdot \cos(\theta_1) = 2,828 \cdot \cos(2,356) \approx -2 \) che corrisponde a \( x_1 \)

secondo me sto ri-sbagliando di nuovo :D

un'altra banalità, tu hai detto prima che

per ricavare tutti i primi angoli mi basta il coseno, per l'ultimo da calcolare ho bisogno di seno e coseno per capire il valore dell'angolo. In pratica per l'$n-1$esimo angolo calcolo il coseno ottenendo qualcosa tra $[0,\pi]$. Poi calcolo il seno, se è negativo inverto l'angolo ottenuto prima.


invertire l'angolo significa fare

\( \pi - \arccos(\cos(\theta_{n-1})) \)

giusto?

Quinzio
"gimli":
ah giusto! non mi escono, però, le coordinate cartesiane

ad esempio, secondo quando detto prima

\( x_3 = r \cdot \cos(\theta_1) = 2,828 \cdot \cos(2,356) \approx -2 \) che corrisponde a \( x_1 \)

Era $\theta_1=\pi /2$.
Quindi
$ x_3 = r \cdot \cos(\theta_1) = 0$


secondo me sto ri-sbagliando di nuovo :D

un'altra banalità, tu hai detto prima che

[quote]per ricavare tutti i primi angoli mi basta il coseno, per l'ultimo da calcolare ho bisogno di seno e coseno per capire il valore dell'angolo. In pratica per l'$n-1$esimo angolo calcolo il coseno ottenendo qualcosa tra $[0,\pi]$. Poi calcolo il seno, se è negativo inverto l'angolo ottenuto prima.


invertire l'angolo significa fare

\( \pi - \arccos(\cos(\theta_{n-1})) \)

giusto?[/quote]

mmm...
invertire un numero $x$ significa prendere $-x$
Mi sembra che tu debba fare un po' di ripasso e qualche esercizio di trigonometria, altrimenti sei fermo ogni 2 minuti.

gimli1
Hai ragione :D
Sto un po' rincoglionito :)

Ti ringrazio veramente tanto

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.