|
@@ -13,28 +13,26 @@ ____
|
|
|
|
|
|
|
|
|
### Cвойства: <br><br>
|
|
|
-> <b> int width, height; </b> - широта и высота <br>
|
|
|
->
|
|
|
-> <b> Row <T\> *data; </b> - массив строк данных, которые хранятся в ячейке <br>
|
|
|
->
|
|
|
+<b> int width, height; </b> - широта и высота <br>
|
|
|
+<b> Row <T\> *data; </b> - массив строк данных, которые хранятся в ячейке <br>
|
|
|
<b> Settings settings; </b> - настройки для разных типов данных (если это будет работа с картинкой) <br> <br>
|
|
|
|
|
|
### Методы: <br><br>
|
|
|
-> <b> Img(int width, int height) </b>- конструктор с укозанием широты и высоты <br>
|
|
|
-> <b> Img() </b>- конструктор по умолчанию <br>
|
|
|
-> <b> init() </b> - инициализация картинки(данных) по широте и высоте <br>
|
|
|
-> <b>Row <T\> operator[](int n)</b> - перегрузка оператора [] для возможности обращения к каждой строке данных<br>
|
|
|
+<b> Img(int width, int height) </b>- конструктор с укозанием широты и высоты <br>
|
|
|
+<b> Img() </b>- конструктор по умолчанию <br>
|
|
|
+<b> init() </b> - инициализация картинки(данных) по широте и высоте <br>
|
|
|
+<b>Row <T\> operator[](int n)</b> - перегрузка оператора [] для возможности обращения к каждой строке данных<br>
|
|
|
_____
|
|
|
###### template <class T\> class Row
|
|
|
Вспомогательный класс, для реализации структуры 2х мерного массива с данными
|
|
|
|
|
|
### Cвойства: <br><br>
|
|
|
-> <b>int width;</b> - ширина строки<br>
|
|
|
- <b> T** pixel; </b> - ячейка с хранимыми данными<br><br>
|
|
|
+<b>int width;</b> - ширина строки<br>
|
|
|
+<b> T** pixel; </b> - ячейка с хранимыми данными<br><br>
|
|
|
### Методы: <br><br>
|
|
|
-> <b>Row()</b> - конструктор по умолчанию<br>
|
|
|
-> <b> Row(int width)</b> - конструктор с шириной, инициализация по ширине<br>
|
|
|
-> <b> T* operator[](int n)</b> - перегрузка оператора [] для возможности обращения к каждой ячейке данных<br>
|
|
|
+<b>Row()</b> - конструктор по умолчанию<br>
|
|
|
+<b> Row(int width)</b> - конструктор с шириной, инициализация по ширине<br>
|
|
|
+<b> T* operator[](int n)</b> - перегрузка оператора [] для возможности обращения к каждой ячейке данных<br>
|
|
|
|
|
|
_____
|
|
|
##### Работа с BMP
|
|
@@ -48,8 +46,8 @@ int b; - синий цвет<br>
|
|
|
int a; - канал<br>
|
|
|
|
|
|
### Методы:
|
|
|
-> конструктор (r, g, b),<br> конструктор (), <br>конструктор (r, g, b, a)<br>
|
|
|
->
|
|
|
+конструктор (r, g, b),<br> конструктор (), <br>конструктор (r, g, b, a)<br>
|
|
|
+
|
|
|
_____
|
|
|
##### Структура settings - для прописания настроек картинки
|
|
|
|
|
@@ -77,9 +75,9 @@ _____
|
|
|
|
|
|
### Cвойства: что и у IMG
|
|
|
### Методы:
|
|
|
-> <b>void read()</b> - считывание bmp картинки<br>
|
|
|
-> <b>void write()</b> - запись bmp картинки <br>
|
|
|
-> BMP() {} - конструктор по умолчанию;
|
|
|
+<b>void read()</b> - считывание bmp картинки <br>
|
|
|
+<b>void write()</b> - запись bmp картинки <br>
|
|
|
+BMP() {} - конструктор по умолчанию;
|
|
|
_____
|
|
|
### Приминение:
|
|
|
|
|
@@ -106,9 +104,9 @@ ___
|
|
|
<b>Node *branches[8];</b> - соседние узлы<br>
|
|
|
|
|
|
### Методы: <br><br>
|
|
|
-> <b> void calcWeight</b> - подсчет веса узла <br>
|
|
|
-> <b>calcDistation(Node previos)</b> - рассчет расстояния относительно переданного предыдущего узла<br>
|
|
|
-> <b>operator < (const Node &v2) const</b> - перегрузка операторов больше меньше, для очереди с приорететом <br>
|
|
|
+<b> void calcWeight</b> - подсчет веса узла <br>
|
|
|
+<b>calcDistation(Node previos)</b> - рассчет расстояния относительно переданного предыдущего узла<br>
|
|
|
+<b>operator < (const Node &v2) const</b> - перегрузка операторов больше меньше, для очереди с приорететом <br>
|
|
|
____
|
|
|
###### struct fo_sort - структура для сортировки указателей на узлы дерева
|
|
|
|
|
@@ -120,9 +118,9 @@ ____
|
|
|
<b>BMP map;</b> - картина на основе которой строится граф<br>
|
|
|
<b>Position start;</b> - позиция откуда начнется поиск<br>
|
|
|
### Методы: <br><br>
|
|
|
-> <b> Graph(BMP map)</b> - конструктор дерева по картинке (собирает из картинки граф)<br>
|
|
|
-> <b> calcdijkstra(Position start)</b> - рассчет расстояний до каждого узла дерева от точки start<br>
|
|
|
-> <b> drowRoad(Position end)</b> - рисует дорогу от начальной точки до точки end;<br>
|
|
|
+ <b> Graph(BMP map)</b> - конструктор дерева по картинке (собирает из картинки граф)<br>
|
|
|
+ <b> calcdijkstra(Position start)</b> - рассчет расстояний до каждого узла дерева от точки start<br>
|
|
|
+ <b> drowRoad(Position end)</b> - рисует дорогу от начальной точки до точки end;<br>
|
|
|
|
|
|
### Приминение:
|
|
|
|
|
@@ -151,6 +149,6 @@ ____
|
|
|
}
|
|
|
### Результат для кривой дракона:
|
|
|
### Лабиринт:
|
|
|
-<img src = "http://git.fl8.ru/Babycar/RoadSearcher/test29.bmp" width = '400px'>
|
|
|
+<img src = "https://git.fl8.ru/Babycar/RoadSearcher/test29.bmp" width = '400px'>
|
|
|
### Выход (зеленая линия):
|
|
|
-<img src = "http://git.fl8.ru/Babycar/RoadSearcher/output29.bmp" width = '400px'>
|
|
|
+<img src = "https://git.fl8.ru/Babycar/RoadSearcher/output29.bmp" width = '400px'>
|