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.