viernes, 14 de diciembre de 2012

Conversión de coordenadas



Diagrama ilustrativo de la relación entre las coordenadas polares y las coordenadas cartesianas.
En el plano de ejes xy con centro de coordenadas en el punto O se puede definir un sistema de coordenadas polares de un punto M del plano, definidas por la distancia r al centro de coordenadas, y el ángulo  \theta  del vector de posición sobre el eje x.

[editar]Conversión de coordenadas polares a rectangulares

Definido un punto en coordenadas polares por su ángulo  \theta  sobre el eje x, y su distancia r al centro de coordenadas, se tiene:
 x= r \cos \theta \,
 y= r \sen \theta \,

[editar]Conversión de coordenadas rectangulares a polares

Definido un punto del plano por sus coordenadas rectangulares (x,y), se tiene que la coordenada polar r es:
 r= \sqrt{x^2 +y^2}  (aplicando el Teorema de Pitágoras)
Para determinar la coordenada angular θ, se deben distinguir dos casos:
  • Para r = 0, el ángulo θ puede tomar cualquier valor real.
  • Para r ≠ 0, para obtener un único valor de θ, debe limitarse a un intervalo de tamaño 2π. Por convención, los intervalos utilizados son [0, 2π) y (−π, π].
Para obtener θ en el intervalo [0, 2π), se deben usar las siguientes fórmulas (\arctan denota la inversa de la función tangente):
\theta = 
\begin{cases}
\arctan(\frac{y}{x})        & \mbox{si } x > 0 \mbox{ y } y \ge 0\\ 
\arctan(\frac{y}{x}) + 2\pi & \mbox{si } x > 0 \mbox{ y } y < 0\\
\arctan(\frac{y}{x}) + \pi  & \mbox{si } x < 0\\
\frac{\pi}{2}               & \mbox{si } x = 0 \mbox{ y } y > 0\\
\frac{3\pi}{2}              & \mbox{si } x = 0 \mbox{ y } y < 0
\end{cases}
Para obtener θ en el intervalo (−π, π], se deben usar las siguientes fórmulas:
\theta = 
\begin{cases}
2\arctan(\frac{y}{x + |z|})        & \mbox{si } x \not\in \Bbb R^-\\ 
\pi               & \mbox{si }  x \in \Bbb R^- \\
\end{cases}
o equivalentemente
\theta = 
\begin{cases}
\arctan(\frac{y}{x}) & \mbox{si } x > 0\\
\arctan(\frac{y}{x}) + \pi & \mbox{si } x < 0 \mbox{ y } y \ge 0\\
\arctan(\frac{y}{x}) - \pi & \mbox{si } x < 0 \mbox{ y } y < 0\\
\frac{\pi}{2} & \mbox{si } x = 0 \mbox{ y } y > 0\\
-\frac{\pi}{2} & \mbox{si } x = 0 \mbox{ y } y < 0
\end{cases}
Muchos lenguajes de programación modernos evitan tener que almacenar el signo del numerador y del denominador gracias a la implementación de la función atan2, que tiene argumentos separados para el numerador y el denominador. En los lenguajes que permiten argumentos opcionales, la función atan puede recibir como parámetro la coordenada x (como ocurre en Lisp).

No hay comentarios:

Publicar un comentario