Linie wielkiego koła w rzucie prostokąta


12

Żeby sprawdzić, czy jestem na dobrej drodze:

Czy wszystkie wielkie kręgi na kuli i w rzucie prostokąta (tj. Pary szerokości i długości geograficznej) albo:

  1. południki (tj. przechodzenie od bieguna do bieguna)
  2. formularza tan latitude = sin360(longitude + rotation) * amplitude + offset

(z dodatkowymi ograniczeniami kombinacji przesunięcia / amplitudy - oczywiście wszystkie wielkie ścieżki okręgu o amplitudzie 0 również mają przesunięcie 0 - równik).

Czy istnieją ścieżki wielkich kół, które nie pasują do tego schematu (ponownie, tylko w układzie współrzędnych długość-szerokość, a nie w innych rzutach mapy).

Uwaga: dodałem tanpowyższe po opublikowaniu pytania, w odpowiedzi na świetne odpowiedzi. Okazuje się, że offsetwtedy zawsze wynosi 0.


Formularz nr 2 nie jest zbiorem par (szerokość, długość). Co to znaczy? I dlaczego zależy to od trzech parametrów ( rotation, amplitudei offset), kiedy wielkie koła mają naturalnie tylko dwa parametry (każdy odpowiada parze diametralnie przeciwnych punktów, które są do niego „biegunowe”)?
whuber

Tak, jeden jest zbędny, ale nie mam gotowej formuły. Jak wspomniano, amplitude==0implikuje offset=0; te dwa są oczywiście połączone. Zobacz zaktualizowane pytanie o brakujące, latitudeaby związek był dobrze uformowany.
Erich Schubert

Odpowiedzi:


11

Chociaż w niektórych rzutach geodezja wygląda trochę jak fale sinusoidalne, formuła jest niepoprawna.

Oto jedna geodezyjna w rzucie w kształcie prostokąta. Oczywiście nie jest to fala sinusoidalna:

wprowadź opis zdjęcia tutaj

(Zdjęcie tła pochodzi z http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg .)

Ponieważ wszystkie rzuty w kształcie prostokąta są przekształceniami afinicznymi tego (gdzie współrzędna x jest długością, a współrzędna y jest szerokością), a przekształcenia afiniczne fal sinusoidalnych są nadal falami sinusoidalnymi, nie możemy spodziewać się żadnych geodezji w jakiejkolwiek formie Rzut prostokątny ma być sinusoidą (z wyjątkiem równika, który wykreśla się jako linia pozioma). Zacznijmy więc od początku i opracujmy prawidłową formułę.

Niech równanie takiej geodezyjnej ma postać

latitude = f(longitude)

aby znaleźć funkcję f . (Podejście to już zrezygnowało z południków, których nie można zapisać w takiej formie, ale poza tym jest w pełni ogólne.) Konwersja na współrzędne kartezjańskie 3D (x, y, z) daje

x = cos(l) cos(f(l))
y = sin(l) cos(f(l))
z = sin(f(l))

gdzie l jest długością geograficzną i przyjmuje się promień jednostki (bez utraty ogólności). Ponieważ geodezja na kuli jest przecięciem z płaszczyznami (przechodzącymi przez jej środek), musi istnieć stały wektor (a, b, c) - który jest skierowany między biegunami geodezyjnymi - dla których

a x + b y + c z = 0

bez względu na wartość l . Rozwiązanie dla f (l) daje

f(l) = ArcTan(-(a cos(l) + b sin(l)) / c)

pod warunkiem, że c jest niezerowe. Oczywiście, gdy c zbliża się do 0, otrzymujemy w limicie parę południków różniących się o 180 stopni - właśnie geodezję, którą porzuciliśmy na początku. Więc wszystko jest dobrze. Nawiasem mówiąc, wbrew pozorom wykorzystuje to tylko dwa parametry równe a / c i b / c.

Zauważ, że wszystkie elementy geodezyjne można obracać, dopóki nie przekroczą równika na zerowej długości geograficznej. Wskazuje to, że f (l) można zapisać w kategoriach f0 (l-10), gdzie l0 jest długością przejścia równikowego, a f0 jest wyrażeniem przejścia geodezyjnego na południku zerowym. Z tego otrzymujemy równoważną formułę

f(l) = ArcTan(gamma * sin(l - l0))

gdzie -180 <= 10 <180 stopni to długość geograficzna przejścia równikowego (gdy geodezyjna wchodzi na półkulę północną podczas podróży na wschód), a gamma jest dodatnią liczbą rzeczywistą. Nie obejmuje to par południków. Gdy gamma = 0 oznacza równik z punktem początkowym na długości 10; w takim przypadku zawsze możemy przyjąć wartość l0 = 0, jeśli chcemy unikalnej parametryzacji. Są jeszcze tylko dwa parametry, podane tym razem przez L0 i gamma .


Do stworzenia obrazu użyto Mathematica 8.0. W rzeczywistości stworzył „manipulację dynamiczną”, w której wektor (a, b, c) może być kontrolowany, a odpowiednia geodezyjna jest natychmiast wyświetlana. (To całkiem fajne.) Najpierw otrzymujemy obraz tła:

i = Import[
   "http://upload.wikimedia.org/wikipedia/commons/thumb/e/ea/\
    Equirectangular-projection.jpg/800px-Equirectangular-projection.jpg"]

Oto kod w całości:

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]}]

Dzięki. arctanGdzieś to zgubiłem . Chyba arctan latitudegdzieś zacząłem .
Erich Schubert

Chciałbym móc zagłosować więcej niż jeden raz!
Ian Turton
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.