Przechowuj tylko ten kawałek który możesz aktualnie wyświetlić? |
Jeśli chodzi o dane to chcę przechowywać wszystkie dane jakie uda mi się otrzymać od serwera
by śledzić na bieżąco własne i cudze obszary (, czyli ich identyfikatory i położenie).
Skonstruowanie obrazu obszarów jest problemem.
Mógłbym to uprościć przekształcając współrzędne geograficzne
do trójwymiarowej przestrzeni euklidesowej
i wykonać projekcję ortograficzną tej uproszczonej "sfery"
z wycentrowaniem kamery na punkt na sferze tak
by kamera była współliniowa z punktem
na powierzchni tej sfery i środkiem sfery.
W ten sposób będę mógł wyświetlić pewną półkulę
lub jej fragment przy odpowiednim zbliżeniu.
Jednak przeliczanie współrzędnych na sinusy i cosinusy
jest dla mnie przerażające w takich ilościach.
Dlatego jest mi potrzebne uproszczenie
dla tego specyficznego przypadku.
Wszystkie dane zajmowały by pewnie kilka giga. |
To prawda. Liczyłem ten skrajny przypadek,
jednak na szczęście nieistniejące obszary
nie posiadają identyfikatora ani wierzchołków.
4 współrzędne na obiekt to za dużo wystarczyłyby 2 jakby rozłożyć ziemię na płasko. |
Jednakże muszę mieć sposób by móc wciąż wyznaczyć quad dla danego
obszaru i z łatwością przenieść się do punktu tego obszaru w grze.
(operacja "teleportacji" potrzebuje ID obszaru albo współrzędnych)
(chcę wciąż móc wyświetlać w przybliżeniu zajętą/wolną przestrzeń)
Ciekawostką jest też to, że serwer wysyła nam też
informację o wyśrodkowanym w obszarze punkcie.
Typy się powtarzają więc jeden interesuje na typ i oddzielna lista przechowująca typy. |
Dobrą rzeczą by było je móc grupować w wielokąt,
ale często zdarzają się dziury,
które są bronione za wszelką cenę.
Gdyby dane układały się w jakieś sensowne wzory można by zastosować obszary i trzymać jeden obiekt dla wielu id. |
Wtedy by był potrzebny algorytm łączenia ich w grupę.
Z obserwacji wiem, że ziemia została podzielona
względem konkretnych południków na wrzecionowate
powierzchnie z wykluczeniem biegunów do krzywej
biegnącej wzdłuż pewnych nieznanych mi równoleżników.
Z tego powodu niektóre "krawędziowe" obszary
sąsiadujących podziałów nachodzą na siebie.
Nie do końca zrozumiałem chyba co chcesz zrobić, [...] |
Móc przedstawić graficznie dane liczbowe.
Uzyskać coś po przekształceniach podobnego
do
siatki kartograficznej, najlepiej
walcowej,
bo można pominąć bieguny gdyż są wykluczone z rozgrywki,
jak i obszary wodne nie znajdujące się na terenie polski.
rozwiązań stosowanych w gamedevie: heightmap, octree (ew. queadtree) |
Panie... to jest trójwymiar, a ja chcę przedstawić coś
opisane w geometrii eliptycznej, a nie euklidesowej.