.[ ČeskéHry.cz ].
Pathfinding (A* + nav. mesh/waypoint)

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 28. květen 2010, 19:17:07    Předmět: Pathfinding (A* + nav. mesh/waypoint) Odpovědět s citátem

Tak sem si s pomoci tohoto nejak napsal pathfinding na pravidelny mrizce.
Akorat mi neni uplne jasny jak by mnela vypadat funkce g(n). Mnela by asi vyjadrovat cenu nodu n od zacatku cesty.
Dalsi vec je co musim upravit, abych mohl A* pouzit na nepravidelnou sit waypointu (kromne heuristicke funkce h(n), ktera asi bude prima vzdalenost od cile).
A podobne nevim jak to prizpusobit pro nav. mesh. U nej bych se chtel pokusit o jeho automaticky generovani. Tam zhruba vim jak na to, rozdelim si povrch na mrizku, najdu si pruchozi ctverce a tim si vytvorim nejakej n-gon.
Tady mam problem stim, ze nevim jak ho potom rozrezat na konvexni polygony.
Budu rad za jakoukoli radu/link co se neceho z tohohle tyka.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 28. květen 2010, 20:08:39    Předmět: Odpovědět s citátem

Vsak cely A* je o tom, ze si tu g(n) napocitavas... g(start) = 0, a pak je g(n) pocet kroku (resp. delky cest) ze startu do daneho uzlu. Vzdycky kdyz prehazujes nejaky uzel z open do closed, tak pro nej to g(n) zafixujes (na zaklade g(n) nejakeho drive zpracovaneho uzlu a delky cesty z tohohle uzlu do n).
Pro nepravidelnou mrizku je ten zakladni algoritmus uplne stejny a je to jenom o tom, jak ten graf mas reprezentovany (takze o uprave datovych struktur).
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 28. květen 2010, 20:24:45    Předmět: Odpovědět s citátem

OndraSej: Dik, nebyl sem si jistej, jestli to ma byt to samy co h(n), ale od startu k n, nebo "delka" uz "projite" cesty.
No a pri pouziti toho nav. meshe bych mnel brat jako uzel spolecnou hranu 2 polygonu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 28. květen 2010, 21:56:34    Předmět: Odpovědět s citátem

Deluxe> typicky g(n) je delka "uz ujite" cesty a h(n) je odhad zbyvajici cesty do cile. A pokud to neni takhle, tak naopak. Pri pouziti meshe bych bral spis polygon jako uzel a hranu mezi polygony jako hranu.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 28. květen 2010, 22:32:01    Předmět: Odpovědět s citátem

a aby si dostal spravne vysledky tak ti musi h(n) splnat dve podmienky. v ciely musi vracat 0 a odhad vzdialenosti do ciela musi byt mensi nanajvys rovny skutocnej vzdialenosti.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 28. květen 2010, 23:34:01    Předmět: Odpovědět s citátem

nou> to je jenom jedna podminka Wink
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 31. květen 2010, 20:26:45    Předmět: Odpovědět s citátem

OndraSej: Takze musim pouzit heuristiku pro oblast? nebo by stacilo i zvolit treba jen stred toho polygonu a pocitat to k nemu?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 31. květen 2010, 21:12:19    Předmět: Odpovědět s citátem

Deluxe: nerozumim dotazu. Tu heuristiku pouzivas vzdycky pro uzel navigacniho grafu. Pokud vytvaris uzel pro kazdy polygon, tak ta heuristika bude definovana pro ten konkretni polygon (at uz to znamena cokoliv).

Jinak ta heuristika nemusi byt kdovijak genialni, pokud splnuje podminky co napsal nou, tak to s ni bude fungovat. Typicky jde pouzit treba euklidovska vzdalenost do cile.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 1. červen 2010, 08:43:17    Předmět: Odpovědět s citátem

Myslel jsem to udelat tak jak pisou tady:
citace:
If you want to search for any spot near some goal, instead of one particular space, you could construct a heuristic h'(x) that is the minimum of h1(x), h2(x), h3(x), ... where h1, h2, h3 are heuristics to each of the nearby spots.

S tim, ze bych jako cile pouzil vertexy toho cilovyho polygonu. Ale asi to bude zbytecny a kdyz jako cil budu pocitat stred polygonu, tak to bude stacit...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 1. červen 2010, 10:48:12    Předmět: Odpovědět s citátem

To moc nechapu. Co mysleji tim "nearby spots"?
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 1. červen 2010, 11:07:43    Předmět: Odpovědět s citátem

Tohle bylo spis pro "grid maps" takze pokud je mi jedno ke kterymu policku se dostanu z nejaky skupiny tak muzu pouzit tohle. Tak mne napadlo ze by se to mozna dalo pouzit i v pripade polygonu, ale asi je to blbost.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna