• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyszukiwanie drogi

Object Storage Arubacloud
+1 głos
250 wizyt
pytanie zadane 10 listopada 2017 w C i C++ przez 10kw10 Pasjonat (22,880 p.)
Juz chyba od ponad 2 miesiecy zastanawiam sie jak zrobic algorytm wyszukiwania drogi. Na necie czytalem przyklady z mapami kafelkowymi,  gdzie petla musieliśmy przeleciec po calej mapie. A co gdy mamy mape 5000+ x 5000+, ktora nie jest mapa kafelkowa?

Jak dziala takie wyszukiwanie drogi w np. Gta v gdzie mapa jest ogromna?

3 odpowiedzi

+1 głos
odpowiedź 10 listopada 2017 przez maciej.tokarz Nałogowiec (27,280 p.)

Kafelki mapy to jest efekt renderingu informacji geoprzestrzennej i jeśli mowa o jakiś obliczeniach (routing) to w oparciu o takie dane to się przeprowadza. Nie jestem w tym zakresie specjalistą, tylko taką ogólną informację mogę Ci podsunąć.

M.

komentarz 10 listopada 2017 przez 10kw10 Pasjonat (22,880 p.)
Em srednio rozumiem. Mozna powiedzieć ze moja mapa to kafelki 1x1 px.
komentarz 10 listopada 2017 przez maciej.tokarz Nałogowiec (27,280 p.)

Kafelek jest grafiką i ciężko mówić o obliczeniach w oparciu o taki materiał. Kafelki powstają na bazie informacji wektorowej (punkty, linie, współrzędne). Mając takie dane można pokusić się o wyznaczanie drogi. W grze pewnie jest to podobnie realizowane. Chyba, że czegoś nie rozumiem :-)

M.

+1 głos
odpowiedź 10 listopada 2017 przez Aisekai Nałogowiec (42,190 p.)
edycja 10 listopada 2017 przez Aisekai
A jakbyś zmodyfikował algorytm dijkstra, żeby zamiast wartości najkrótszej drogi zwracał tą drogę? I tylko jakbyś zboczyl z trasy dopiero wtedy generowal nowa drogę?

Edit: mógłby być problem taki, że trzeba mieć listę punktów. I o tyle byłoby lepiej, że mógłbyś sobie ograniczyć je, zakładając że np długość drogi nie będzie większa od powiedzmy 5x odległość.

Edit2: nie wiem czy o tym mówiłeś, bo nie znalazłem czegoś takiego jak mapy kafelkowe.
+1 głos
odpowiedź 10 listopada 2017 przez obl Maniak (51,280 p.)

Dość dawno temu napisałem taki programik, który pokazuje proces znajdowania drogi tutaj możesz zobaczyć jak działa https://www.youtube.com/watch?v=9fZhoPan4Rc

W GTA mapa jest raczej podzielona na sektory i jak się przemieszczasz to kolejny sektor jest wczytywany. Dzięki temu dużo mniej obliczeń trzeba robić żeby znaleźć trasę. Mapy o rozmiarach 5000 x 5000 raczej muszą być również dzielone na mniejsze sektory bo przy tak dużej mapie powstają spore problemy z znajdowaniem drogi.

Podobne pytania

0 głosów
1 odpowiedź 164 wizyt
pytanie zadane 24 stycznia 2023 w C i C++ przez piotr_domanski Bywalec (2,080 p.)
0 głosów
2 odpowiedzi 313 wizyt
pytanie zadane 31 października 2017 w JavaScript przez Vorex444 Dyskutant (9,610 p.)
0 głosów
2 odpowiedzi 444 wizyt

92,555 zapytań

141,402 odpowiedzi

319,552 komentarzy

61,939 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...