Cada vez que desplegamos una figura en Processing JS,
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!