Aunque las geodésicas se parecen un poco a las ondas sinusoidales en algunas proyecciones, la fórmula es incorrecta.
Aquí hay una geodésica en una proyección equirectangular. Claramente no es una onda sinusoidal:
(La imagen de fondo está tomada de http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)
Debido a que todas las proyecciones equirectangulares son transformaciones afines de esta (donde la coordenada x es la longitud y la coordenada y es la latitud), y las transformaciones afines de ondas sinusoidales siguen siendo ondas sinusoidales, no podemos esperar ninguna geodésica en ninguna forma de La proyección equirrectangular es ondas sinusoidales (excepto el ecuador, que se traza como una línea horizontal). Entonces, comencemos por el principio y busquemos la fórmula correcta.
Deje que la ecuación de tal geodésica tenga la forma
latitude = f(longitude)
para que se encuentre una función f . (Este enfoque ya se ha dado por vencido en los meridianos, que no pueden escribirse de esa forma, pero por lo demás es completamente general). La conversión a coordenadas cartesianas 3D (x, y, z) da
x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))
donde l es la longitud y se supone un radio unitario (sin pérdida de generalidad). Dado que las geodésicas en la esfera son intersecciones con planos (que pasan por su centro), debe existir un vector constante (a, b, c), que se dirige entre los polos de la geodésica, para lo cual
a x + b y + c z = 0
no importa cuál sea el valor de l . Resolver para f (l) da
f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)
siempre que c sea distinto de cero. Evidentemente, cuando c se aproxima a 0, obtenemos en el límite un par de meridianos que difieren en 180 grados, precisamente las geodésicas que abandonamos al principio. Entonces todo está bien. Por cierto, a pesar de las apariencias, esto usa solo dos parámetros iguales a a / c y b / c.
Tenga en cuenta que todas las geodésicas pueden rotarse hasta que crucen el ecuador a cero grados de longitud. Esto indica que f (l) puede escribirse en términos de f0 (l-l0) donde l0 es la longitud del cruce ecuatorial y f0 es la expresión de un cruce geodésico en el primer meridiano. De esto obtenemos la fórmula equivalente
f(l) = ArcTan(gamma * sin(l - l0))
donde -180 <= 10 <180 grados es la longitud del cruce ecuatorial (cuando la geodésica ingresa al hemisferio norte cuando viaja hacia el este) y gamma es un número real positivo. Esto no incluye los pares de meridianos. Cuando gamma = 0 designa el ecuador con un punto de inicio en longitud 10; siempre podemos tomar l0 = 0 en ese caso si deseamos una parametrización única. Todavía hay solo dos parámetros, dados por 10 y gamma esta vez.
Se utilizó Mathematica 8.0 para crear la imagen. De hecho, creó una "manipulación dinámica" en la que el vector (a, b, c) puede controlarse y la geodésica correspondiente se muestra instantáneamente. (Eso es genial.) Primero obtenemos la imagen de fondo:
i = Import[
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]
Aquí está el código en su totalidad:
Manipulate[
{a, b, c} = {Cos[u] Cos[v], Sin[u] Cos[v], Sin[v]};
Show[Graphics[{Texture[i],
Polygon[{{-\[Pi], -\[Pi]/2}, {\[Pi], -\[Pi]/2}, {\[Pi], \[Pi]/2}, {-\[Pi], \[Pi]/2}},
VertexTextureCoordinates -> {{0, 0}, {1, 0}, {1, 1}, {0, 1}}]}],
Plot[ArcTan[(a Cos[\[Lambda]] + b Sin[\[Lambda]]) / (-c)], {\[Lambda], -\[Pi], \[Pi]},
PlotRange -> {Automatic, {-\[Pi]/2, \[Pi]/2}}, PlotStyle -> {Thick, Red}]],
{u, 0, 2 \[Pi]}, {v, -\[Pi]/2, \[Pi]}]
rotation
,amplitude
yoffset
) cuando los grandes círculos tienen naturalmente solo dos parámetros (cada uno corresponde a un par de puntos diametralmente opuestos que son "polares")?