From 5d12921c544bb330d7876fe4e3faf4ea990497fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wojciech=20=C5=81ukasik?= Date: Tue, 28 Apr 2020 22:49:59 +0000 Subject: [PATCH] Zaktualizuj 'route-planning.md' --- route-planning.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/route-planning.md b/route-planning.md index 4c16098..c847ffa 100644 --- a/route-planning.md +++ b/route-planning.md @@ -9,13 +9,13 @@ Naszą główną funkcją jest funkcja `aStar(startField, goalField)`, przyjmuje `openSet` - lista zawierająca pola do sprawdzenia -`path` - lista zawierająca pola tworzące ścieszkę do wybranego celu +`path` - lista zawierająca pola tworzące ścieżkę do wybranego celu
- Dodajemy pierwszy element który będziemy sprawdzać do listy openSet: `openSet.push(startField);` - Kolorujemy punkt startowy na zielono: `colorGreen(startField, animationFrame);` -- Dopuki lista `openSet` nie bedzie pusta sprawdzamy jej elementy: `while(openSet.length > 0)` +- Dopóki lista `openSet` nie bedzie pusta sprawdzamy jej elementy: `while(openSet.length > 0)` - Wybieramy najbardziej obiecujący element z zbioru `openSet`: ```javascript @@ -28,7 +28,7 @@ for(let i = 0; i < openSet.length; i++){ let current = openSet[winner]; ``` -- Jeśli pole `current` okaże się naszym celem tworzymy ścieszkę z punktu startowego do naszego celu. +- Jeśli pole `current` okaże się naszym celem tworzymy ścieżkę z punktu startowego do naszego celu. ```javascript if(current === goalField){ @@ -40,7 +40,7 @@ if(current === goalField){ temp = temp.previous } ``` -- Następnie kolorujemy tą ścieszkę i kończymy funkcję zwracając ścieszkę `path` +- Następnie kolorujemy tą ścieżkę i kończymy funkcję zwracając ścieżkę `path` ```javascript for(var i = 0; i < path.length; i++){ @@ -56,7 +56,7 @@ closedSet.push(current); animationFrame = colorRed(current, animationFrame); ``` - Pobieramy sąsiadów pola `current`: `var neighbors = current.neighbors;` -- Dla każdego sąsiada obliczamy koszt dotarcia do niego z punktu początkowego najlepszą ścieszką. +- Dla każdego sąsiada obliczamy koszt dotarcia do niego z punktu początkowego najlepszą ścieżką. ```javascript for(var i = 0; i < neighbors.length; i++){ @@ -75,7 +75,7 @@ for(var i = 0; i < neighbors.length; i++){ ``` - Po przypisaniu kosztu do sąsiada przypisujemy jego odległość do celu:
`neighbor.h = getDistance(neighbor, goalField); -- sume jego kosztu oraz heurystki: `neighbor.f = neighbor.g + neighbor.h;` +- sumę jego kosztu oraz heurystki: `neighbor.f = neighbor.g + neighbor.h;` - oraz jego poprzednika: `neighbor.previous = current;` ### Definicja funkcji następnika @@ -94,9 +94,9 @@ let current = openSet[winner]; ``` ### Definicja przyjętej heurystyki -Jest to szacowana odległość od sprawdzanego pola do celu. Obliczana jest za pomocą wzoru na odległość Manhattana. +Jest to szacowana odległość od sprawdzanego pola do celu. Obliczana jest jako `Manhattan Distance`, ponieważ w naszym modelu Agent nie może poruszać się po skosie. -`|x1 - x2| + |y1 - y2|` +distance = `|x1 - x2| + |y1 - y2|` ### Testowanie projektu