Autor Wątek:  Teren do MaSzyny z danych SRTM  (Przeczytany 8860 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline PEKAP

  • Wiadomości: 588
    • Zobacz profil
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« dnia: 12 Stycznia 2006, 21:35:05 »
Ostatnio odkryłem jak to można zrobić i napisałem mały tutorial: http://members.lycos.co.uk/michalpkp/
-//-

Offline Grand

  • Wiadomości: 382
    • Zobacz profil
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #1 dnia: 12 Stycznia 2006, 22:34:11 »
Calkiem calkiem fajne to jest :) Teren sam sie tworzy w maxie tylko troszke gorzej z ukladaniem torow na nierownej powierzchni ale wazny jest efekt terenu.
/ \  / \  / \

Offline PEKAP

  • Wiadomości: 588
    • Zobacz profil
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #2 dnia: 12 Stycznia 2006, 22:45:00 »
Cytat: "Grand"
troszke gorzej z ukladaniem torow na nierownej powierzchni


To zawsze można jakoś teren wyrównać, jakiś nasyp zrobić itp...
-//-

Offline eu43

  • Wiadomości: 239
    • Zobacz profil
    • http://www.eu43.fora.pl/
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #3 dnia: 13 Stycznia 2006, 18:06:06 »
Z tego co piszecie, to wydaje mi się, że to nawet fajne. Proszę o jakieś screeny.

Offline PEKAP

  • Wiadomości: 588
    • Zobacz profil
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #4 dnia: 13 Stycznia 2006, 18:39:08 »
Cytat: "eu43"
Proszę o jakieś screeny.


http://www.members.lycos.co.uk/michalpkp/machajka.jpg

PKP wybudowało 100m toru gdzieś w Tatrach. Oczywiście teren jest z danych SRTM. Tekstura troszeczkę za bardzo rozciągnięta.
-//-

Offline Grand

  • Wiadomości: 382
    • Zobacz profil
  • Otrzymane polubienia: 0
/ \  / \  / \

Offline eu43

  • Wiadomości: 239
    • Zobacz profil
    • http://www.eu43.fora.pl/
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #6 dnia: 13 Stycznia 2006, 20:50:43 »
Screeny bardzo fajne. Muszę to wypróbować. To jest bardzo dobre rozwiązanie dla tych, co tworzą scenerie z dokładnością aż do bólu. Z drugiej strony, ciężko będzie dopasować torowisko i inne obiekty do tego raealistycznego terenu.
Można pomyśleć, że tworzenie terenu robiąc go za pomocą linii jest bardzo proste, ale dla mnie to takie proste nie jest, bo za Chiny nie mam żadnego pomysłu na jego ukształtowanie! A tu... mam ten problem z głowy ;P

Offline Grand

  • Wiadomości: 382
    • Zobacz profil
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #7 dnia: 13 Stycznia 2006, 23:14:07 »
Przykladowo ja owy bajer z terenem uzywam po bokach szlaku dla urozmaicenia , natomiast same tory sa prawie wszedzie plaskie, po za tym wole jezdzic po plaskim, a gorki miec po bokach.
/ \  / \  / \

Offline PEKAP

  • Wiadomości: 588
    • Zobacz profil
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #8 dnia: 13 Stycznia 2006, 23:14:21 »
Cytat: "eu43"
Z drugiej strony, ciężko będzie dopasować torowisko i inne obiekty do tego raealistycznego terenu.


Sądzę, że nie - ponieważ zobiąc dokładne modele i dokładny układ torowy będzie się to układało tak jak jest w rzeczywistości i nie będzie większego problemu z kładzeniem tego typu obiektów.
-//-

hunter

  • Gość
Teren do MaSzyny z danych SRTM
« Odpowiedź #9 dnia: 14 Stycznia 2006, 10:13:47 »
Cytat: "PEKAP"
Cytat: "eu43"
Z drugiej strony, ciężko będzie dopasować torowisko i inne obiekty do tego raealistycznego terenu.


Sądzę, że nie - ponieważ zobiąc dokładne modele i dokładny układ torowy będzie się to układało tak jak jest w rzeczywistości i nie będzie większego problemu z kładzeniem tego typu obiektów.


Koledze @eu43 chodziło chyba o "przyklejanie" budynków, torowiska do terenu. Niestety pechowy 3ds max nie posiada tej opcji i jak będziemy wstawiać drzewa to musimy je ręcznie podnosić :(

Pozdrawiam.

Offline eu43

  • Wiadomości: 239
    • Zobacz profil
    • http://www.eu43.fora.pl/
  • Otrzymane polubienia: 0
Teren do MaSzyny z danych SRTM
« Odpowiedź #10 dnia: 14 Stycznia 2006, 12:15:56 »
Cytat: "Hunter"
Cytat: "PEKAP"
Cytat: "eu43"
Z drugiej strony, ciężko będzie dopasować torowisko i inne obiekty do tego raealistycznego terenu.


Sądzę, że nie - ponieważ zobiąc dokładne modele i dokładny układ torowy będzie się to układało tak jak jest w rzeczywistości i nie będzie większego problemu z kładzeniem tego typu obiektów.


Koledze @eu43 chodziło chyba o "przyklejanie" budynków, torowiska do terenu. Niestety pechowy 3ds max nie posiada tej opcji i jak będziemy wstawiać drzewa to musimy je ręcznie podnosić :(

Pozdrawiam.


Właśnie. Trzeba przechwycać wysokość terenu na który chce sie dać np. budynek. Potem najlepiej na górkach, albo nierównym terenie ten budynek/model trochę obniżyć, bo z jednej strony model byłby pod ziemią, a z drugiej byłby w "lufcie" (czyli w powietrzu).

Offline Ra

  • Zasłużony dla Symulatora
  • Wiadomości: 6306
  • Ostatni gasi światło...
    • Zobacz profil
    • Instalator+Starter+Edytor
  • Otrzymane polubienia: 336
SRTM inaczej
« Odpowiedź #11 dnia: 25 Sierpnia 2007, 23:16:28 »
Witam!
Chciałbym dorzucić moje doświadczenia w temacie SRTM.
Skoro jest już ten wątek, wkleję to tutaj...

Jakiś czas temu wzięło mnie na przetwarzanie plików wysokościowych SRTM, do których ktoś podał link (http://netgis.geo.uw.edu.pl/srtm/Poland).

Ponieważ akurat mieszkam w okolicy 19°E 52°N, ściągnąłem pliki jej dotyczące. Pierwszym etapem przetworzenia było stworzenie pliku BMP, z odcieniami szarości od 0 do 255 w zakresie od minimum do maksimum wysokości na danym obszarze. W moim rozumieniu (bo nie czytałem dokumentacji do tych plików), w plikach jest po 1200 wysokości na stopień, zarówno długości jak i szerokości (co 3 sekundy kąta). Podane są one w metrach npm. Jest ich 1201, a nie 1200, dlatego, że powielone są wysokości z kolejnego południka i równoleżnika. Zszywając 2 takie kwadraty, należałoby usunąć jedną skrajną kolumnę wartości.

Pierwszy problem, jaki napotkałem, to były punkty z wpisaną wysokością 32768, podczas gdy normalnie wysokość jest w przedziale rzędu 90 do 280 (kopalnia Bełchatów: od 1 do 394). Wygląda na to, że wartość 32768 występuje w miejscach zbiorników wodnych. Na skutek drobnej pomyłki zacząłem od kwadratu 19-20°E 51-52°N, gdzie wyraźnie widać wykop kopalni oraz hałdę.

Jasna plama u góry to wzgórze, na którym znajduje się Łódź. Regularne kształty wokół (figury o dobrze zarysowanych brzegach) to lasy. Druga jasna plama poniżej, to okolice Tuszyna. Czarne koryto po prawej, idące w dół, to Wolbórka. Poniżej z białymi punktami (wspomniane 32768) to jezioro Sulejowskie. Jeszcze niżej i bardziej na środku widać hałdę kopalni a obok wykop. (Widać, gdzie w wykopie zbiera się woda.)


Tutaj, na czterokrotnym powiększeniu, widać lasy w okolicy Koluszek (u góry po środku) oraz układ torów przebiegających przez las. W lewo do Łodzi (nad lasem, słabo to widać), skosem w lewy dół do Piotrkowa, w prawo w skos do Radomia. W górę do Warszawy, czego nie nie widać.

Po eksploracji sąsiedniego kwadratu, wziąłem się za swój 18-19°E 51-52°N. Widać na nim doliny Prosny (po lewej) oraz Warty (po prawej). Charakterystyczne jest zakole Warty (na dole). W prawym, górnym rogu jest jeszcze Ner.


Ponieważ interesowała mnie okolica Poddębic, zrobiłem sobie mniejszy obrazek (301×201 pikseli), odpowiadający wojskowej mapie topograficznej M-34-2-B. Znajdujące się w pliku przedział wysokości to 96-172 (77 różnych). Chciałem sobie wygenerować z tych danych scenerię. Przyjąłem, że generowany obszar (15' dł. × 10' sz.) ma 17250×18550 metrów (320km²). Oznacza to, że punkty wysokościowe wypadają co 57.5m w długości (na obrazku w poziomie) oraz 92.75m w szerokości (pionie). Proporcja między nimi to 100:161 oraz 62:100. (Prawie złoty podział...)

Wygenerowałem scenerię - po 2 trójkąty na każde 4 punkty wysokości (120 tysięcy) z teksturą grass.bmp (jako wektor normalny dałem 0 1 0). Pierwsza próba dała plik 30MB oraz trójkąty widoczne od spodu. W zbliżeniu jedna zielona plama.

Zdecydowałem się nie czekać więcej na generację i wczytanie tak dużego pliku i ograniczyłem teren do 1/3 w długości i 1/2 w szerokości. Wyszło więc 100×100 punktów, 5750×9275 m i plik wielkości 5MB (20 tysięcy trójkątów). Po kilku dalszych próbach i oglądaniu krawędzi uznałem, że potrzebne będą jednak wektory normalne, bo "po wyjściu" na środek wszystko się zlewa, a nierówności terenu są widoczne jedynie z profilu (na brzegu scenerii i krawędzi horyzontu).

Wektory normalne [nx,nz,ny] postanowiłem wygenerować w sposób uproszczony. Dla każdego punktu powierzchni z(x,y) wyliczałem średnią zmiany wysokości (nachylenia) w długości zx=(z(x+1,y)-z(x-1,y))/2 i szerokości zy=(z(x,y+1)-z(x,y-1))/2. Następnie z proporcji wyliczałem współrzędne nx i ny wektora normalnego (zakładając, że wektor normalny długości 1m jest prostopadły do nachylenia X oraz Y - czyli przeciwprostokątnych trójkątów prostokątnych o bokach zx i 57.5m oraz o bokach zy oraz 92.75m). Współrzędna nz została wyliczona tak, aby wektor miał długość 1. Wyglądało to już nieco lepiej, ale nadal było dalekie od sensu.

Kolejny pomysł polegał uzależnieniu tekstury od zawartości mapy wojskowej. Odpowiedni fragment (5'×5') przeskalowałem do kwadratu 100×100 pikseli. Pierwotnie miało to być tylko odróżnienie obszaru lasu (zielone), ale narysowałem też piksele na drogach (żółte), linii kolejowej (czerwone) oraz rzekach i zbiornikach wodnych (niebieskie).


To, co mi wyszło wyglądało już jak jakiś teren, ale nadal nie układało się w większy sens. Po bliższym przyjrzeniu się i nałożeniu obrazka wysokości na obrazek treści okazało się, że są one przesunięte względem siebie o 3 piksele w poziomie i 1 w pionie (porównywałem zarysy lasów).


Przesunięcie pikseli względem siebie (obrazek powyżej) spowodowało, że sceneria zaczęła już przypominać znaną mi okolicę. Ostatnim pomysłem było kilkukrotne zwiększenie różnic wysokości (razy 7 to już przesada, ale 3 do 5 daje całkiem ciekawy efekt).

Moim zdaniem wnioski są następujące:

1. Trzeba uważać na współrzędne geograficzne. Nie ma gwarancji, że mając na myśli 19°E 52°N trafimy za każdym razem na ten sam punkt na każdej mapie (plik wysokości SRTM, wojskowa mapa topograficzna, Google maps, GPS). Różnice mogą być rzędu 200m, przez co nie wiadomo, które uważać za absolutnie właściwe. Być może wynika to z tego, że mapa wojskowa ma "Układ współrzędnych 1942", a około 1992 wprowadzono jakaś zmiany.

2. Bardziej optymalnym układem do celów tworzenia realistycznych scenerii wydaje się być siatka kilometrowa z map wojskowych (widziałem też wytartą siatkę na mapie turystycznej, ale po pozostałościach da się ją odtworzyć). Siatka kilometrowa gwarantuje (przynajmniej teoretycznie) synchronizację obiektów z dokładnością do 25m niezależnie od miejsca. Po ustaleniu położenia danego przecięcia w terenie można z dowolną dokładnością (1mm) ustawić elementy w scenerii. Przy odrobinie staranności można tę siatkę przenieść na inne mapy (plany miast 1:25000, geodezyjne 1:10000). Można też poprawić dokładność poprzez zaznaczenie wielu przecięć na mapie docelowej i pozycjonowanie siatki metodami statystycznymi (np. najmniejszych kwadratów). Wadą siatki kilometrowej jest to, że w niektórych obszarach wymagane jest "szycie" sąsiednich siatek pod kątem zależnym od długości i szerokości geograficznej. (Zawsze będzie jakiś problem z rzutowaniem sfery na płaszczyznę.)

3. Raczej mało realne jest automatyczne tworzenie scenerii z mapy. Należało by stworzyć narzędzie, które wczyta mapę wojskową jako tło i pozwoli zwektoryzować określone linie (tory, koleje, rzeki, linie wysokiego napięcia, krawędzie lasów, warstwice). Układ warstwic można by weryfikować danymi SRTM po wypozycjonowaniu map. Dopiero taka mapa wektorowa nadawała by się do automatycznego generowania scenerii. SRTM by się zdało głównie do kreowania wzgórz znajdujących się w większej odległości (powyżej 2km).

4. Przydała by się opcja upraszania trójkątów miejsc będących w większej odległości od interesujących nas pozycji (np. od torów - nie ma sensu dokładnie odwzorowywać wzgórz, które są 3km od linii kolejowej, ale niemniej są widoczne z daleka). Wydaje mi się, że 120000 trójkątów (plik 30MB) to bardzo dużo, jak na niewielki obszar 320 km² (15' N-S × 10' E-W), a ich rozdzielczość nie jest wystarczająca! Quark ma powierzchnię dwukrotnie większą przy pliku 6MB. Można też sobie darować trójkąty nie widoczne z toru, chociaż wtedy ghostview straci na uroku.

4. Atrakcyjną alternatywą mogłoby być zdobycie wektorowych map geodezyjnych.
¯\_( ͡° ͜ʖ ͡°)_/¯ Ra

Polecam: kręgarz Wojciech Walczak, projekt masarni