ŁADOWANIE
Co to są odwzorowania?

Aby stworzyć mapę świata (bądź dowolnej kuli) musimy przenieść powierzchnię kuli na płaszczyznę kartezjańską. Z tego powodu kartografowie oraz matematycy już od starożytności wymyślali tak zwane odwzorowania kartograficzne (zwane również projekcjami kartograficznymi). Pierwsze znane mapy świata pochodzą z VI i VII wieku p.n.e!

File:Baylonianmaps.JPG

Imago Mundi – najstarsza znana mapa świata.
http://commons.wikimedia.org/wiki/File:Baylonianmaps.JPG (domena publiczna)

Niestety, nie da się stworzyć idealnego odwzorowania – zawsze powstaną jakieś deformacje. Dlatego powstało wiele różnych odwzorowań, które ze względu na swoje właściwości mogą być przydatne dla różnych zastosowań. Przykładowymi cechami, których potrzebujemy są:

·         zachowanie pola – pole kuli jest równe polu projekcji. (np. projekcja sinusoidalna)

·         zachowanie odległości między dwoma punktami – przykładowo mogą być zachowane odległości między dwoma punktami na tych samych południkach, czy równoleżnikach. (np. projekcje walcowe)

·         prostokątny kształt (np. projekcje walcowe)

·         możliwość zbudowania (dobrze przybliżonej) kuli – czyli globusa. (np. przerywana projekcja sinusoidalna)

Na tej stronie postaram się przedstawić (moim zdaniem) najciekawsze i najprzydatniejsze projekcje.

Odwzorowanie wg matematyki

Każda projekcja na tej stronie jest opisana wzorem, który każdemu punktowi kuli przypisuje punkt na płaszczyźnie:


Gdzie:

·         położenie punktu rzutowanego (znajdującego się na kuli):
 – szerokość geograficzna
 – długość geograficzna

·          – położenie punktu na płaszczyźnie, na którą rzutujemy

·          – funkcje, które przypisują szerokości i długości geograficznej współrzędne na płaszczyźnie

·          – skala projekcji (będziemy ją pomijać w dalszej części strony)

Odwzorowanie walcowe

Normalne odwzorowanie walcowe otrzymujemy poprzez przeniesienie punktów z powierzchni kuli na powierzchnię walca. Możemy sobie wyobrazić, że kula zostaje umieszczona w walcu, którego powierzchnia boczna jest prostopadła do jednego z kół wielkich (w odwzorowaniach geograficznych to koło to równik).

Gotowa projekcja powstaje poprzez przecięcie walca wzdłuż dowolnego południka i rozwinięcie powierzchni bocznej tego walca na płaszczyźnie.

W praktyce normalne odwzorowanie walcowe to odwzorowanie opisane wzorem:

  𝑖 𝑟𝑝𝑑𝑎 ównoodległościowe, opisane wzorem:

niami poziomymi.rzutujemy..

To znaczy, że południki są liniami pionowymi równooddalonymi od siebie, a równoleżniki są liniami poziomymi.

W normalnych odwzorowaniach walcowych zachowane zostają kąty między południkami, a równoleżnikami (). Dodatkowo wszystkie południki są równoległe oraz w jednakowej odległości od siebie. Nie jest to zgodne z rozkładem południków na kuli, gdzie zbliżają się one do siebie wraz ze wzrostem szerokości geograficznej, a na biegunie zbiegają się w jednym punkcie.

Z tego powodu odległości na równoleżnikach zachowane są jedynie na konkretnych równoleżnikach. Im dalej znajdujemy się od tych równoleżników, tym większe niedokładności – projekcja jest „rozciągnięta”. Efekt jest taki, że biegun, który powinien być punktem, jest odcinkiem!

bitmap30  stufs-small   world

Zobacz animację w wyższej rozdzielczości.

Główną zaletą normalnych odwzorowań walcowych jest ich kształt – po rozcięciu walca otrzymujemy prostokąt.

Odwzorowanie równoodległościowe

Najprostszym odwzorowaniem walcowym jest odwzorowanie walcowe równoodległościowe, opisane wzorem:


Gdzie:

·          – południk, który ma być położony w centrum odwzorowania.

·          – szerokość geograficzna, dla której chcemy zachować skalę.
Jak to działa?


Odwzorowanie ma stałą szerokość, a tym samym każdy równoleżnik ma tą samą długość (co nie jest zgodne ze stanem faktycznym). Ponadto, odwzorowanie ma stałą wysokość (amplituda wyrażenia
) równą , czyli wszystkie południki mają taką samą długość (co jest zgodne ze stanem faktycznym).


Jeśli
, amplituda wyrażenia  (czyli szerokość mapy) jest równa . Amplituda wyrażenia (czyli wysokość mapy) jest równa , więc szerokość mapy jest równa jej podwojonej wysokości. Skoro wysokość mapy jest równa długości południków, a szerokość mapy jest równa długości równoleżników, otrzymujemy:


 

Jeśli :

 

 

Naszym celem jest zachowanie stosunku:

 

 

z kuli, dla konkretnego równoleżnika. To znaczy, że chcemy zachować odległości na tym równoleżniku.

 

Sprawdźmy ile wynosi ten stosunek dla szerokości geograficznej .

123

Długość każdego południka to połowa obwodu kuli:

 

 

Rozpiszmy z rysunku .

 

A to jest równoważne z tym, że promień równoleżnika o szerokości geograficznej  jest równy:

 

Długość tego równoleżnika to długość okręgu o promieniu :

 

Sprawdźmy stosunek długości równoleżnika do południków:

 

 

 

 

A tym samym jest to zgodne ze wzorem naszego odwzorowania.

Ze względu na to, że odległość danego punktu od równika to po prostu szerokość geograficzna (porównaj ze wzorem powyżej), otrzymujemy odwzorowanie, w którym zachowana jest odległość między dowolnym punktem, a równikiem.

Najczęściej stosowanym wariantem tego odwzorowania jest:


który wygląda tak:


Oznacza to, że centrum mapy to południk , a skala zachowana zostaje dla równika.

Ta projekcja jest używana przede wszystkim, jako baza do innych projekcji (większość programów odwzorowujących prosi nas o obraz w tym formacie, żeby wygenerować inne projekcje). Powód jest bardzo prosty – wszystkie projekcje używają wzorów o formacie:

a tym samym potrzebują wartości . Dzięki prostocie projekcji równoodległościowej te wartości są równe współrzędnym na płaszczyźnie – nie trzeba wykonywać obliczeń, aby je uzyskać.

Odwzorowanie Brauna

Innym typem projekcji walcowej jest odwzorowanie Brauna.

Aby utworzyć to odwzorowanie, musimy umieścić kulę w walcu tak, aby była ona styczna do walca na całej długości równika (). Oznacza to, że koło wielkie zawierające równik jest przystające do podstawy walca.

 

Rysunek pokazuje płaszczyznę zamiast walca, aby nie zasłonić rzutowanej kuli.

Następnie wybieramy punkt o dowolnych współrzędnych geograficznych: . Punkt ten łączymy z punktem leżącym na przecięciu równika i przeciwległego południka . Powstały odcinek przedłużamy tak, aby przeciął walec, w którym znajduje się kula. Punkt przecięcia jest rzutem punktu . Konstrukcja została przedstawiona na rysunku powyżej.

 

Spróbujmy ustalić wzór tego odwzorowania.

Najpierw zastanówmy się nad długością geograficzną (). Wykonajmy rzut z góry koła wielkiego zawierającego równik.

geogebra

 Jak widzimy, odległość między punktami  i , będzie na walcu wynosiła , gdzie  jest dane w radianach. Czyli:

 

Następnie zastanówmy się nad szerokością geograficzną (). Wróćmy do naszej wcześniejszej konstrukcji. Wybierzmy płaszczyznę, na której znajdował się kąt , rzucany punkt oraz rzucony punkt:

geogebra

Szukamy odległości .

Zauważmy, że , ponieważ są to kąt wpisany i środkowy oparte na tym samym łuku. Zapiszmy tangens tego kąta:

 

Otrzymujemy:

 

Uzyskaliśmy więc wzory opisujące odwzorowanie Brauna:

 

Zauważmy, że oba wzory zawierają stały współczynnik (porównaj ze wzstępem). Możemy go pominąć:

 

Przykładowa mapa świata wykonana projekcją Brauna:

Odwzorowanie sinusoidalne

Istnieją projekcje, które zachowują pole powierzchni kuli. Przykładem może być odwzorowanie sinusoidalne, mające wzór:


Gdzie  to centralny południk.

 

sinusoidal

Oprócz zachowania powierzchni, zachowuje ono również długość południka centralnego oraz długości równoleżników.

Udowodnijmy, że zachowane są długości równoleżników:

Rozpiszmy z rysunku .

 

A to jest równoważne z tym, że promień równoleżnika o szerokości geograficznej  jest równy:

 

Długość tego równoleżnika to długość okręgu o promieniu :

 

Teraz sprawdźmy długość równoleżnika w odwzorowaniu sinusoidalnym:

Długość równoleżnika o szerokości geograficznej  będzie równa amplitudzie wyrażenia: , gdzie k to dowolna skala projekcji (por. wstęp). Przyjmijmy .

·         Dla danego ,  jest wartością stałą.

·         Amplituda wyrażenia  wyniesie , ponieważ długości geograficzne należą do przedziału .

Z powyższych wynika, że amplituda wyrażenia:  jest równa .

Uzyskujemy zgodność.

Jak powstają globusy?

A co zrobić, jeśli chcemy na płaskiej powierzchni wydrukować kulę, a następnie ją złożyć (by otrzymać globus)? Teoretycznie nie jest to możliwe, ale w praktyce jesteśmy w stanie uzyskać bardzo dobre przybliżenie.

Jednymi z najważniejszych właściwości odwzorowania sinusoidalnego są zachowanie długości równoleżników oraz centralnego południka. Dzięki temu niedokładności są minimalne w pobliżu centralnego południka i rosną wraz ze wzrostem długości geograficznej. Można jednak podzielić kulę na wycinki o małej amplitudzie długości geograficznej:

Wykonując projekcję sinusoidalną nie na całości mapy, a na poszczególnych jej fragmentach, otrzymamy obraz w tym kształcie:

gores

Jak zostało zbudowane to przekształcenie? Każdy fragment to tak naprawdę wycinek projekcji sinusoidalnej całej kuli, której centralny południk znajduje się w centrum fragmentu:

Z tego wynika, że wzór odwzorowania dla fragmentu, jest taki sam jak i dla całej kuli, pod warunkiem, że ograniczymy zakres :


Gdzie  to szerokość fragmentu.

To właśnie z takich fragmentów skleja się globusy, a im więcej fragmentów, tym bardziej dokładne jest odwzorowanie.

Na zdjęciu poniżej przedstawiono globus z widocznymi liniami rozcięć:

Zdjęcie wykonane przez Kennetha Lu (https://www.flickr.com/photos/toasty/1540997910/).

 

Stwórz własną projekcję
Na bazie wiedzy zawartej na tej stronie napisałem algorytm, który wykonuje odwzorowania. Do poprawnego działania wymaga on obsługi WebGL (wykonuje się jako shader na karcie graficznej) i z tego powodu może nie zadziałać na przeglądarce Safari.

Wybierz plik wejściowy (w projekcji równoodległościowej):

Wybierz projekcję wynikową:



Jeśli nie posiadasz żadnych plików w projekcji równoodległościowej, służę pomocą:
Mars
Księżyc
Ziemia w dzień
Ziemia w nocy
Te pliki pochodzą z NASA Earth Observatory/NOAA NGDC i są w domenie publicznej.
Dziękuję

Strona powstała na konkurs Zobaczyć Matematykę, a do jej stworzenia użyłem wyłącznie programów dozwolonych przez regulamin:

  • Microsoft Word - tekst strony oraz równania
  • Notepad++ - edycja kodu HTML, CSS, JavaScript oraz shaderów GLSL (algorytmy z sekcji "stwórz własną projekcję")
  • GIMP - edycja obrazów
  • GeoGebra - tworzenie rysunków geometrycznych
  • SketchUp Make - tworzenie rysunków trójwymiarowych
  • jQuery
  • jQuery Color - wtyczka do jQuery, która pozwala animować kolory
  • localscroll - biblioteka odpowiedzialna za animację przewijania

Użyłem następujących obrazów:

Dziękuję za poświęcony czas i mam nadzieję, że podobało Ci się!