Хоча геодезичні роботи в деяких прогнозах схожі на синусоїди, формула є неправильною.
Ось одна геодезична в прямокутній проекції. Очевидно, що це не синусова хвиля:
(Фонове зображення взято з http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)
Оскільки всі Еквіректальні проекції є афінними перетвореннями цієї (де x-координата - це довгота, а y-координата - широта), а афінними перетвореннями синусоїд все ще є синусоїда, ми не можемо очікувати будь-якої геодезики в будь-якій формі Рівнокутна проекція - це синусоїдальні хвилі (за винятком екватора, який зображує горизонтальну лінію). Тож почнемо спочатку і опрацюємо правильну формулу.
Нехай рівняння такої геодезики має вигляд
latitude = f(longitude)
для функції f, яку можна знайти. (Цей підхід вже відмовився від меридіанів, які неможливо записати у такій формі, але в іншому випадку є повністю загальним.) Перетворення в трид детерміновані координати (x, y, z) дає
x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))
де l - довгота і припускається одиничний радіус (без втрати загальності). Оскільки геодезика на кулі є перетином з площинами (проходять через її центр), повинен існувати постійний вектор (a, b, c) - який спрямований між полюсами геодезичної - для якого
a x + b y + c z = 0
незалежно від значення l . Розв’язування для f (l) дає
f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)
при умови , з НЕ дорівнює нулю. Очевидно, що коли c наближається до 0, ми отримуємо в межі пари меридіанів, що відрізняються на 180 градусів - саме геодезику, яку ми відмовилися на початку. Так що все добре. До речі, незважаючи на зовнішність, тут використовуються лише два параметри, що дорівнюють a / c та b / c.
Зауважте, що всі геодезики можна обертати до тих пір, поки вони не перетнуть екватор на нульовій градусній довготі. Це вказує на те, що f (l) можна записати через f0 (l-l0), де l0 - довгота екваторіального перетину, а f0 - вираз геодезичного перетину на первинному меридіані. З цього отримуємо еквівалентну формулу
f(l) = ArcTan(gamma * sin(l - l0))
де -180 <= l0 <180 градусів - довгота екваторіального перетину (як геодезика потрапляє до Північної півкулі під час подорожі на схід), а гамма - додатне дійсне число. Сюди не входять пари меридіан. Коли гамма = 0 позначає екватор з початковою точкою на довготі l0; у такому випадку ми завжди можемо приймати l0 = 0, якщо бажаємо унікальної параметризації. Наразі є лише два параметри, задані l0 та гаммою цього разу.
Mathematica 8.0 була використана для створення зображення. Фактично, це створило "динамічну маніпуляцію", при якій можна керувати вектором (a, b, c) і миттєво відображати відповідну геодезичну. (Це досить круто.) Спочатку ми отримуємо фонове зображення:
i = Import[
"http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]
Ось код у повному обсязі:
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
іoffset
), коли великі кола природно мають лише два параметри (кожному відповідає пара діаметрально протилежних точок, "полярних" до нього)?