Animacja sferyczna (obracająca się kula ziemska) w JavaScript

Autor podstrony: Krzysztof Zajączkowski

Stronę tą wyświetlono już: 3771 razy

Przekonwertowanie płaskiej bitmapy z wykorzystaniem uproszczonego algorytmu wymaga zastosowania odpowiedniej funkcji transformacji. Taka funkcja dla dwóch różnych przestrzeni X i Y tworzy pewne odwzorowanie współrzędnej xX przestrzeni X na współrzędną xY przestrzeni Y i tak samo dla współrzędnych y-kowych tychże przestrzeni. Ogólnie więc współrzędne przestrzeni Y odpowiadające współrzędnym przestrzeni X będą dane funkcjami:

left{begin{matrix}x_Y=f(x_X) \ y_Y=g(y_X)end{matrix}right} [1]

Zapis wyrażenia w formacie TeX-a:

\left\{\begin{matrix}x_Y=f(x_X) \\ y_Y=g(y_X)\end{matrix}\right}

Dokładniejszy opis funkcji odwzorowania został przeze mnie już wcześniej opisany na stronie Programowanie → Projekty C++ → Obracająca się Ziemia. Animacja jest realizowana dwuetapowo:

  1. przycinanie bitmapy;
  2. transformacja bitmapy do postaci sferycznej.

Przez wzgląd na niedokładność zagęszczenia punktów transformacji konieczne jest zagęszczenie ułożenia punktów, przez co docelowa bitmapa Ziemi jest już dwa razy mniejsza.

Rys. 1
Animacja obracającej się Ziemi stworzona w JavaScript.
Źródło:
Grafika wykorzystywana w animacji jest dostępna w domenie publicznej na stronie NASA
Propozycje książek