If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Coordenadas polares

Cada vez que desplegamos una figura en ProcessingJS, tenemos que especificar la ubicación en pixeles, un conjunto de coordenadas x y y. Estas coordenadas se conocen como coordenadas cartesianas, en honor a René Descartes, el matemático francés que desarrolló las ideas del plano cartesiano.
Otro sistema de coordenadas muy útil, conocido como coordenadas polares, describe un punto en el espacio como un ángulo de rotación alrededor del origen y un radio desde el origen. Pensándolo en términos de un vector:
  • Coordenadas cartesianas: las componentes x,y de un vector
  • Coordenadas polares: la magnitud (longitud) y dirección (ángulo) de un vector
Sin embargo, las funciones para dibujar en ProcessingJS no entienden coordenadas polares. Cuando queremos desplegar algo en ProcessingJS, necesitamos especificar una ubicación como coordenada cartesiana (x,y). Sin embargo, a veces es mucho más conveniente para nosotros pensar en coordenadas polares cuando estamos diseñando. Afortunadamente para nosotros, con trigonometría podemos pasar de coordenadas polares a cartesianas y de regreso, lo que nos permite diseñar con cualquier sistema de coordenadas que necesitemos, pero siempre dibujar con coordenadas cartesianas.
La letra griega θ (theta) usualmente se usa para denotar un ángulo y convencionalmente nos referimos a una coordenada polar como (r, θ), en lugar de (x, y). Entonces, cuando hablemos de coordenadas polares, "theta" será el nombre preferido de nuestra variable para el ángulo.
seno(theta) = y/r → y = r * seno(theta)
coseno(theta) = x/r → x = r * coseno(theta)
Por ejemplo, si r es 75 y theta es 45 grados (o PI/4 radianes), podemos calcular x y y como se muestra a continuación. Las funciones seno y coseno en ProcessingJS son sin() y cos(), respectivamente. Cada una tiene un argumento, un ángulo medido en grados.
var r = 75;
var theta = 45;

// Convertir coordenada polar a cartesiana
var x = r * cos(theta);
var y = r * sin(theta);
Este tipo de conversión puede ser útil en ciertas aplicaciones. Por ejemplo, mover una figura alrededor de una trayectoria circular con coordenadas cartesianas no es tan fácil. Con coordenadas polares, por otro lado, es sencillo: ¡incrementa el ángulo!
Aquí está cómo podemos rotar una figura sencilla al usar la conversión a coordenadas polares:

Este curso de "Simulaciones Naturales" es un derivado de "La Naturaleza del Código" por Daniel Shiffman, usado bajo una Licencia Creative Commons Reconocimiento-NoComercial 3.0 Unported.

¿Quieres unirte a la conversación?

Sin publicaciones aún.
¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.