游戏中的自动寻路-A*算法(走斜线篇——带DEBUG)
一、简述以及地图
- G 表示从起点移动到网格上指定方格的移动距离 (暂时不考虑沿斜向移动,只考虑上下左右移动)。
- H 表示从指定的方格移动到终点的预计移动距离,只计算直线距离,走直角篇走的是直角路线。
- 令 F = G + H ,F 即表示从起点经过此点预计到终点的总移动距离接下来我们从起点开始,按照以下寻路步骤,直至找到目标。
- 从起点开始, 把它作为待处理的方格存入一个预测可达的节点列表,简称 openList, 即把起点放入“预测可达节点列表”, 可达节点列表 openList 就是一个等待检查方格的列表。
- 寻找 openList 中 F 值最小的点 min(一开始只有起点)周围可以到达的方格(可到达的意思是其不是障碍物,也不存 在关闭列表中的方格,即不是已走过的方格)。计算 min 周围可到达的方格的 F 值。将还没在 openList 中点放入其中, 并 设置它们的"父方格"为点 min,表示他们的上一步是经过 min 到达的。如果 min 下一步某个可到达的方格已经在 openList 列表那么并且经 min 点它的 F 值更优,则修改 F 值并把其"父方格"设为点 min。
- 把 2 中的点 min 从"开启列表"中删除并存入"关闭列表"closeList 中, closeList 中存放的都是不需要再次检查的方格。如 果 2 中点 min 不是终点并且开启列表的数量大于零,那么继续从第 2 步开始。如果是终点执行第 4 步,如果 openList 列 表数量为零,那么就是找不到有效路径。
- 如果第 3 步中 min 是终点,则结束查找,直接追溯父节点到起点的路径即为所选路径
案例地图说明:
起点:5.2
终点:5.10
障碍:中央红色坐标
二、示例代码:
代码中带有 DEBUG 打印,开关在 Astar.h 的宏定义中
main.cpp
1 #include "Astar.h" 2 #include <list> 3 #include <iostream> 4 #include <windows.h> 5 6 7 using namespace std; 8 9 //定义地图数组,二维数组在内存顺序存储的 10 int map[13][13] = { 11 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 12 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 13 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 14 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 15 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 16 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 17 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 18 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 19 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 20 { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 }, 21 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 22 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, 23 { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } 24 }; 25 26 void AStarTest() 27 { 28 InitAstarMaze(&map[0][0], 13, 13); 29 30 //设置起始和结束点 31 Point* start = AllocPoint(5, 2); 32 Point* end = AllocPoint(5, 10); 33 34 //A*算法找寻路径 35 list<Point*> path = GetPath(start, end); 36 cout << "\n寻路结果:" << endl; 37 38 for(list<Point*>::const_iterator iter = path.begin(); iter != path.end(); iter++) 39 { 40 cout << '(' << (*iter)->x << ',' << (*iter)->y << ')' << endl; 41 Sleep(10); 42 } 43 44 ClearAstarMaze(); 45 } 46 47 int main(void) 48 { 49 AStarTest(); 50 system("pause"); 51 return 0; 52 }
Astar.h
1 #pragma once 2 3 #include <list> 4 5 #define DEBUG 1 //打印 DEBUG 6 7 const int kCost1 = 10; //直移一格消耗 8 const int kCost2 = 14; //斜移一格消耗 9 10 typedef struct _Point 11 { 12 int x, y; //点坐标,这里为了方便按照 C++的数组来计算,x 代表横排,y 代表竖列 13 int F, G, H; //F=G+H 14 struct _Point* parent; //parent 的坐标 15 }Point; 16 17 /*分配一个节点(格子)*/ 18 Point* AllocPoint(int x, int y); 19 20 /*初始化地图*/ 21 void InitAstarMaze(int* _maze, int _lines, int _colums); 22 23 /*通过 A* 算法寻找路径*/ 24 std::list<Point*> GetPath(Point* startPoint, Point* endPoint); 25 26 /*清理资源,结束后必须调用*/ 27 void ClearAstarMaze();
Astar.cpp
1 #include <math.h> 2 #include "Astar.h" 3 #include <iostream> 4 #include <vector> 5 6 static int* maze; //迷宫对应的二维数组,使用一级指针表示 7 static int lines; //二维数组对应的行数 8 static int cols; //二维数组对应的列数 9 static std::list<Point*> openList; //开放列表 10 static std::list<Point*> closeList; //关闭列表 11 12 /*搜索从起点到终点的最佳路径*/ 13 static Point* findPath(Point* startPoint, Point* endPoint); 14 15 /*从开启列表中返回 F 值最小的节点*/ 16 static Point* getLeastFpoint(); 17 18 /*获取当前点周围可达的节点*/ 19 static std::vector<Point*> getSurroundPoints(const Point* point); 20 21 /*判断某点是否可以用于下一步判断 */ 22 static bool isCanreach(const Point* point, const Point* targetNode); 23 24 /*判断开放/关闭列表中是否包含某点*/ 25 static Point* isInList(const std::list<Point*>& list, const Point* point); 26 27 //计算 FGH 值 28 static int calcG(Point* temp_start, Point* point); 29 static int calcH(Point* point, Point* end); 30 static int calcF(Point* point); 31 32 /*分配一个节点(格子)*/ 33 Point* AllocPoint(int x, int y) 34 { 35 Point* temp = new Point; 36 memset(temp, 0, sizeof(Point)); //C语法 初始值清零 37 temp->x = x; 38 temp->y = y; 39 return temp; 40 } 41 42 /*初始化 A*搜索的地图*/ 43 void InitAstarMaze(int* _maze, int _lines, int _colums) 44 { 45 maze = _maze; 46 lines = _lines; 47 cols = _colums; 48 } 49 50 /*通过 A* 算法寻找路径*/ 51 std::list<Point*> GetPath(Point* startPoint, Point* endPoint) 52 { 53 Point* result = findPath(startPoint, endPoint); 54 std::list<Point*> path; 55 56 //返回路径,如果没找到路径,返回空链表 57 while(result) 58 { 59 path.push_front(result); 60 result = result->parent; 61 } 62 return path; 63 } 64 65 /*搜索从起点到终点的最佳路径*/ 66 static Point* findPath(Point* startPoint, Point* endPoint) 67 { 68 openList.push_back(AllocPoint(startPoint->x, startPoint->y)); //置入起点,拷贝开辟一个节点,内外隔离 69 70 71 while(!openList.empty()) 72 { 73 //第一步,从开放列表中取最小 F 的节点 74 Point* minNodeF = getLeastFpoint(); //找到 F 值最小的点 75 76 if(DEBUG) 77 { 78 int i = 1; 79 for(std::list<Point*>::const_iterator iter = openList.begin(); iter != openList.end(); iter++) 80 { 81 std::cout << "开放链表第" << i++ << "个节点为: " << (*iter)->x << "," << (*iter)->y << " F值为:" << (*iter)->F; 82 if ((*iter)->parent != NULL) 83 { 84 std::cout << " --->父节点为:" << (*iter)->parent->x << "," << (*iter)->parent->y << std::endl; 85 } 86 else 87 { 88 std::cout << std::endl; 89 } 90 } 91 std::cout << "===================================" << std::endl; 92 std::cout << "从开放列表中取最小 F 的节点为:" << minNodeF->x << "." << minNodeF->y << std::endl; 93 std::cout << "=============================================" << std::endl; 94 } 95 96 //第二步,把当前节点放到关闭列表中 97 openList.remove(minNodeF); 98 if(DEBUG) 99 { 100 std::cout << "开放链表移除、关闭链表增加节点为: " << minNodeF->x << "," << minNodeF->y << " F值为:" << minNodeF->F << std::endl; 101 std::cout << "=======================================================" << std::endl; 102 } 103 closeList.push_back(minNodeF); 104 if(DEBUG) 105 { 106 int i = 1; 107 for(std::list<Point*>::const_iterator iter = closeList.begin(); iter != closeList.end(); iter++) 108 { 109 std::cout << "关闭链表第" << i++ << "个节点为: " << (*iter)->x << "," << (*iter)->y << " F值为:" << (*iter)->F; 110 if ((*iter)->parent != NULL) 111 { 112 std::cout << " --->父节点为:" << (*iter)->parent->x << "," << (*iter)->parent->y << std::endl; 113 } 114 else 115 { 116 std::cout << std::endl; 117 } 118 } 119 std::cout << "===========================================================\n\n" << std::endl; 120 } 121 122 //第三步,找到当前节点周围可达的节点,并计算 F 值 123 std::vector<Point*> surroundPoints = getSurroundPoints(minNodeF); 124 for(std::vector<Point*>::const_iterator iter = surroundPoints.begin(); iter != surroundPoints.end(); iter++) 125 { 126 //周围可到达点 127 Point* targetNode = *iter; 128 129 /*对某一个格子,如果它不在开放列表中,设置当前格为其父节点,计算 F G H, 并加入到开启列表。否则重新计算G值*/ 130 Point* exist = isInList(openList, targetNode); 131 if(!exist) 132 { 133 targetNode->parent = minNodeF; 134 targetNode->G = calcG(minNodeF, targetNode); 135 targetNode->H = calcH(targetNode, endPoint); 136 targetNode->F = calcF(targetNode); 137 openList.push_back(targetNode); 138 } 139 else 140 { 141 if (DEBUG) 142 { 143 std::cout << ">>" << exist->x << "," << exist->y << " 在开放链表 跳过<<" << std::endl; 144 } 145 //int tempG = calcG(minNodeF, targetNode); 146 //if (tempG < targetNode->G) 147 //{ 148 // exist->parent = minNodeF; 149 // exist->G = tempG; 150 // exist->F = calcF(targetNode); 151 //} 152 //delete targetNode; 153 } 154 } 155 surroundPoints.clear(); 156 Point* resPoint = isInList(openList, endPoint); 157 if(resPoint) 158 { 159 if (DEBUG) 160 { 161 std::cout << "开放链表中找到了结束节点: " << resPoint->x << "," << resPoint->y; 162 if (resPoint->parent != NULL) 163 { 164 std::cout << " --->父节点为:" << resPoint->parent->x << "," << resPoint->parent->y << std::endl; 165 } 166 else 167 { 168 std::cout << std::endl; 169 } 170 } 171 return resPoint; 172 } 173 } 174 return NULL; 175 } 176 177 /*从开启列表中返回 F 值最小的节点*/ 178 static Point* getLeastFpoint() 179 { 180 if(!openList.empty()) 181 { 182 Point* resPoint = openList.front(); 183 184 for(std::list<Point*>::const_iterator itor = openList.begin(); itor != openList.end(); itor++) 185 { 186 if((*itor)->F < resPoint->F) 187 { 188 resPoint = *itor; 189 } 190 } 191 return resPoint; 192 } 193 return NULL; 194 } 195 196 /*获取当前点周围可达的节点*/ 197 static std::vector<Point*> getSurroundPoints(const Point* point) 198 { 199 std::vector<Point*> surroundPoints; 200 for(int x = point->x - 1; x <= point->x + 1; x++) 201 { 202 for(int y = point->y - 1; y <= point->y + 1; y++) 203 { 204 Point* temp = AllocPoint(x, y); 205 if (DEBUG) 206 { 207 std::cout << " 判断周围坐标点: " << temp->x << "," << temp->y << std::endl; 208 } 209 if(isCanreach(point, temp)) 210 { 211 surroundPoints.push_back(temp); 212 } 213 else 214 { 215 delete temp; 216 } 217 } 218 } 219 if (DEBUG) 220 { 221 std::cout << "minNodeF周围点收集判断完毕" << std::endl; 222 } 223 224 return surroundPoints; 225 } 226 227 /*判断某点是否可以用于下一步判断 */ 228 static bool isCanreach(const Point* point, const Point* targetNode) 229 { 230 if(targetNode->x<0 231 || targetNode->x>(lines - 1) 232 || targetNode->y<0 233 || targetNode->y>(cols - 1) 234 || maze[targetNode->x * cols + targetNode->y] == 1 //为 1 的障碍物判断 235 || maze[targetNode->x * cols + targetNode->y] == 2 //为 2 的障碍物判断 236 || (targetNode->x == point->x && targetNode->y == point->y) 237 || isInList(closeList, targetNode)) 238 { 239 if(DEBUG) 240 { 241 std::cout << ">>" << targetNode->x << "," << targetNode->y << "不可用于下步判断" << "<<" << std::endl; 242 } 243 return false; 244 } 245 if(abs(point->x - targetNode->x) + abs(point->y - targetNode->y) == 1 || abs(point->x - targetNode->x) + abs(point->y - targetNode->y) == 2) //相邻4个点判断 246 { 247 return true; 248 } 249 else 250 { 251 return false; 252 } 253 } 254 255 //判断某个节点是否在列表中,在则返回指针,不在则返回空 256 static Point* isInList(const std::list<Point*>& list, const Point* point) 257 { 258 //判断某个节点是否在列表中,这里不能比较指针,因为每次加入列表是新开辟的节点,只能比较坐标 259 for(std::list<Point*>::const_iterator itor = list.begin(); itor != list.end(); itor++) 260 { 261 if((*itor)->x == point->x && (*itor)->y == point->y) 262 { 263 return *itor; 264 } 265 } 266 return NULL; 267 } 268 269 /*计算节点的 G 值 temp_start:minNodeF point:minNodeF周边的可到达点 */ 270 static int calcG(Point* temp_start, Point* point) 271 { 272 int extraG = (abs(point->x - temp_start->x) + abs(point->y - temp_start->y)) == 1 ? kCost1 : kCost2; 273 //如果是初始节点,则其父节点是空 274 int parentG = (point->parent == NULL ? NULL : point->parent->G); 275 int num = parentG + extraG; 276 if(DEBUG) 277 { 278 std::cout << "----------------------------G值计算开始----------------------------" << std::endl; 279 std::cout << "检测坐标:" << point->x << "," << point->y << std::endl; 280 std::cout << "检测坐标->x:" << point->x << std::endl; 281 std::cout << "minNodeF->x:" << temp_start->x << std::endl; 282 std::cout << "检测坐标->x - minNodeF->x == " << abs(point->x - temp_start->x) << std::endl; 283 std::cout << "----------------------------------" << std::endl; 284 std::cout << "检测坐标->y:" << point->y << std::endl; 285 std::cout << "minNodeF->y:" << temp_start->y << std::endl; 286 std::cout << "检测坐标->y - minNodeF->y == " << abs(point->y - temp_start->y) << std::endl; 287 std::cout << "----------------------------------" << std::endl; 288 std::cout << "(abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == " << abs(point->x - temp_start->x) + abs(point->y - temp_start->y) << std::endl; 289 std::cout << "检测坐标:" << point->x << "." << point->y << " -->G值 == " << num << std::endl; 290 std::cout << "============================G值计算完毕============================\n" << std::endl; 291 } 292 return num; 293 } 294 295 static int calcH(Point* point, Point* end) 296 { 297 //定理:A^2 + B^2 == C^2 距离计算 H 298 double num = sqrt((double)(end->x - point->x) * (double)(end->x - point->x) + (double)(end->y - point->y) * (double)(end->y - point->y)) * kCost1; 299 300 if(DEBUG) 301 { 302 std::cout << "检测坐标:" << point->x << "." << point->y << std::endl; 303 std::cout << "终点->x:" << end->x << std::endl; 304 std::cout << "检测坐标->x:" << point->x << std::endl; 305 std::cout << "(double)(终点->x - 检测坐标->x) == " << (double)(end->x - point->x) << std::endl; 306 std::cout << "(double)(终点->x - 检测坐标->x)^2 == " << (double)(end->x - point->x) * (double)(end->x - point->x) << std::endl; 307 std::cout << "----------------------------------" << std::endl; 308 std::cout << "终点->y:" << end->y << std::endl; 309 std::cout << "检测坐标->y:" << point->y << std::endl; 310 std::cout << "(double)(终点->y - 检测坐标->y) == " << (double)(end->y - point->y) << std::endl; 311 std::cout << "(double)(终点->y - 检测坐标->y)^2 == " << (double)(end->y - point->y) * (double)(end->y - point->y) << std::endl; 312 std::cout << "----------------------------------" << std::endl; 313 std::cout << "(double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == " << (double)(end->x - point->x) * (double)(end->x - point->x) + (double)(end->y - point->y) * (double)(end->y - point->y) << std::endl; 314 std::cout << "----------------------------------" << std::endl; 315 std::cout << "sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == " << sqrt((double)(end->x - point->x) * (double)(end->x - point->x) + (double)(end->y - point->y) * (double)(end->y - point->y)) << std::endl; 316 std::cout << "----------------------------------" << std::endl; 317 std::cout << "sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==" << sqrt((double)(end->x - point->x) * (double)(end->x - point->x) + (double)(end->y - point->y) * (double)(end->y - point->y)) * kCost1 << std::endl; 318 std::cout << "检测坐标:" << point->x << "." << point->y << " H值 == " << num << std::endl; 319 std::cout << "============================H值计算完毕============================\n" << std::endl; 320 } 321 322 return num; 323 } 324 325 /*计算节点的 F 值*/ 326 static int calcF(Point* point) 327 { 328 int num = point->G + point->H; 329 330 if(DEBUG) 331 { 332 std::cout << "检测坐标:" << point->x << "." << point->y << " F值 == " << num << std::endl; 333 std::cout << "=============================================================================================\n\n" << std::endl; 334 } 335 return num; 336 } 337 338 /*清理资源,结束后必须调用*/ 339 void ClearAstarMaze() 340 { 341 maze = NULL; 342 lines = 0; 343 cols = 0; 344 std::list<Point*>::iterator itor; 345 346 //清除 openList 中的元素 347 for(itor = openList.begin(); itor != openList.end();) 348 { 349 delete* itor; 350 itor = openList.erase(itor);//获取到下一个节点 351 } 352 353 //清理 closeList 中的元素 354 for(itor = closeList.begin(); itor != closeList.end();) 355 { 356 delete* itor; 357 itor = closeList.erase(itor); 358 } 359 }
三、Log打印,细看算法步骤:
1 开放链表第1个节点为: 5,2 F值为:0 2 =================================== 3 从开放列表中取最小 F 的节点为:5.2 4 ================================================= 5 开放链表移除、关闭链表增加节点为: 5,2 F值为:0 6 ======================================================= 7 关闭链表第1个节点为: 5,2 F值为:0 8 =========================================================== 9 10 11 判断周围坐标点: 4,1 12 判断周围坐标点: 4,2 13 判断周围坐标点: 4,3 14 判断周围坐标点: 5,1 15 判断周围坐标点: 5,2 16 >>5,2不可用于下步判断<< 17 判断周围坐标点: 5,3 18 判断周围坐标点: 6,1 19 判断周围坐标点: 6,2 20 判断周围坐标点: 6,3 21 minNodeF周围点收集判断完毕 22 ----------------------------G值计算开始---------------------------- 23 检测坐标:4,1 24 检测坐标->x:4 25 minNodeF->x:5 26 检测坐标->x - minNodeF->x == 1 27 ---------------------------------- 28 检测坐标->y:1 29 minNodeF->y:2 30 检测坐标->y - minNodeF->y == 1 31 ---------------------------------- 32 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 33 检测坐标:4.1 -->G值 == 14 34 ============================G值计算完毕============================ 35 36 检测坐标:4.1 37 终点->x:5 38 检测坐标->x:4 39 (double)(终点->x - 检测坐标->x) == 1 40 (double)(终点->x - 检测坐标->x)^2 == 1 41 ---------------------------------- 42 终点->y:10 43 检测坐标->y:1 44 (double)(终点->y - 检测坐标->y) == 9 45 (double)(终点->y - 检测坐标->y)^2 == 81 46 ---------------------------------- 47 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 82 48 ---------------------------------- 49 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9.05539 50 ---------------------------------- 51 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==90.5539 52 检测坐标:4.1 H值 == 90.5539 53 ============================H值计算完毕============================ 54 55 检测坐标:4.1 F值 == 104 56 ============================================================================================= 57 58 59 ----------------------------G值计算开始---------------------------- 60 检测坐标:4,2 61 检测坐标->x:4 62 minNodeF->x:5 63 检测坐标->x - minNodeF->x == 1 64 ---------------------------------- 65 检测坐标->y:2 66 minNodeF->y:2 67 检测坐标->y - minNodeF->y == 0 68 ---------------------------------- 69 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 70 检测坐标:4.2 -->G值 == 10 71 ============================G值计算完毕============================ 72 73 检测坐标:4.2 74 终点->x:5 75 检测坐标->x:4 76 (double)(终点->x - 检测坐标->x) == 1 77 (double)(终点->x - 检测坐标->x)^2 == 1 78 ---------------------------------- 79 终点->y:10 80 检测坐标->y:2 81 (double)(终点->y - 检测坐标->y) == 8 82 (double)(终点->y - 检测坐标->y)^2 == 64 83 ---------------------------------- 84 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 65 85 ---------------------------------- 86 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.06226 87 ---------------------------------- 88 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==80.6226 89 检测坐标:4.2 H值 == 80.6226 90 ============================H值计算完毕============================ 91 92 检测坐标:4.2 F值 == 90 93 ============================================================================================= 94 95 96 ----------------------------G值计算开始---------------------------- 97 检测坐标:4,3 98 检测坐标->x:4 99 minNodeF->x:5 100 检测坐标->x - minNodeF->x == 1 101 ---------------------------------- 102 检测坐标->y:3 103 minNodeF->y:2 104 检测坐标->y - minNodeF->y == 1 105 ---------------------------------- 106 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 107 检测坐标:4.3 -->G值 == 14 108 ============================G值计算完毕============================ 109 110 检测坐标:4.3 111 终点->x:5 112 检测坐标->x:4 113 (double)(终点->x - 检测坐标->x) == 1 114 (double)(终点->x - 检测坐标->x)^2 == 1 115 ---------------------------------- 116 终点->y:10 117 检测坐标->y:3 118 (double)(终点->y - 检测坐标->y) == 7 119 (double)(终点->y - 检测坐标->y)^2 == 49 120 ---------------------------------- 121 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 50 122 ---------------------------------- 123 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.07107 124 ---------------------------------- 125 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==70.7107 126 检测坐标:4.3 H值 == 70.7107 127 ============================H值计算完毕============================ 128 129 检测坐标:4.3 F值 == 84 130 ============================================================================================= 131 132 133 ----------------------------G值计算开始---------------------------- 134 检测坐标:5,1 135 检测坐标->x:5 136 minNodeF->x:5 137 检测坐标->x - minNodeF->x == 0 138 ---------------------------------- 139 检测坐标->y:1 140 minNodeF->y:2 141 检测坐标->y - minNodeF->y == 1 142 ---------------------------------- 143 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 144 检测坐标:5.1 -->G值 == 10 145 ============================G值计算完毕============================ 146 147 检测坐标:5.1 148 终点->x:5 149 检测坐标->x:5 150 (double)(终点->x - 检测坐标->x) == 0 151 (double)(终点->x - 检测坐标->x)^2 == 0 152 ---------------------------------- 153 终点->y:10 154 检测坐标->y:1 155 (double)(终点->y - 检测坐标->y) == 9 156 (double)(终点->y - 检测坐标->y)^2 == 81 157 ---------------------------------- 158 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 81 159 ---------------------------------- 160 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9 161 ---------------------------------- 162 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==90 163 检测坐标:5.1 H值 == 90 164 ============================H值计算完毕============================ 165 166 检测坐标:5.1 F值 == 100 167 ============================================================================================= 168 169 170 ----------------------------G值计算开始---------------------------- 171 检测坐标:5,3 172 检测坐标->x:5 173 minNodeF->x:5 174 检测坐标->x - minNodeF->x == 0 175 ---------------------------------- 176 检测坐标->y:3 177 minNodeF->y:2 178 检测坐标->y - minNodeF->y == 1 179 ---------------------------------- 180 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 181 检测坐标:5.3 -->G值 == 10 182 ============================G值计算完毕============================ 183 184 检测坐标:5.3 185 终点->x:5 186 检测坐标->x:5 187 (double)(终点->x - 检测坐标->x) == 0 188 (double)(终点->x - 检测坐标->x)^2 == 0 189 ---------------------------------- 190 终点->y:10 191 检测坐标->y:3 192 (double)(终点->y - 检测坐标->y) == 7 193 (double)(终点->y - 检测坐标->y)^2 == 49 194 ---------------------------------- 195 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 49 196 ---------------------------------- 197 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7 198 ---------------------------------- 199 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==70 200 检测坐标:5.3 H值 == 70 201 ============================H值计算完毕============================ 202 203 检测坐标:5.3 F值 == 80 204 ============================================================================================= 205 206 207 ----------------------------G值计算开始---------------------------- 208 检测坐标:6,1 209 检测坐标->x:6 210 minNodeF->x:5 211 检测坐标->x - minNodeF->x == 1 212 ---------------------------------- 213 检测坐标->y:1 214 minNodeF->y:2 215 检测坐标->y - minNodeF->y == 1 216 ---------------------------------- 217 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 218 检测坐标:6.1 -->G值 == 14 219 ============================G值计算完毕============================ 220 221 检测坐标:6.1 222 终点->x:5 223 检测坐标->x:6 224 (double)(终点->x - 检测坐标->x) == -1 225 (double)(终点->x - 检测坐标->x)^2 == 1 226 ---------------------------------- 227 终点->y:10 228 检测坐标->y:1 229 (double)(终点->y - 检测坐标->y) == 9 230 (double)(终点->y - 检测坐标->y)^2 == 81 231 ---------------------------------- 232 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 82 233 ---------------------------------- 234 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9.05539 235 ---------------------------------- 236 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==90.5539 237 检测坐标:6.1 H值 == 90.5539 238 ============================H值计算完毕============================ 239 240 检测坐标:6.1 F值 == 104 241 ============================================================================================= 242 243 244 ----------------------------G值计算开始---------------------------- 245 检测坐标:6,2 246 检测坐标->x:6 247 minNodeF->x:5 248 检测坐标->x - minNodeF->x == 1 249 ---------------------------------- 250 检测坐标->y:2 251 minNodeF->y:2 252 检测坐标->y - minNodeF->y == 0 253 ---------------------------------- 254 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 255 检测坐标:6.2 -->G值 == 10 256 ============================G值计算完毕============================ 257 258 检测坐标:6.2 259 终点->x:5 260 检测坐标->x:6 261 (double)(终点->x - 检测坐标->x) == -1 262 (double)(终点->x - 检测坐标->x)^2 == 1 263 ---------------------------------- 264 终点->y:10 265 检测坐标->y:2 266 (double)(终点->y - 检测坐标->y) == 8 267 (double)(终点->y - 检测坐标->y)^2 == 64 268 ---------------------------------- 269 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 65 270 ---------------------------------- 271 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.06226 272 ---------------------------------- 273 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==80.6226 274 检测坐标:6.2 H值 == 80.6226 275 ============================H值计算完毕============================ 276 277 检测坐标:6.2 F值 == 90 278 ============================================================================================= 279 280 281 ----------------------------G值计算开始---------------------------- 282 检测坐标:6,3 283 检测坐标->x:6 284 minNodeF->x:5 285 检测坐标->x - minNodeF->x == 1 286 ---------------------------------- 287 检测坐标->y:3 288 minNodeF->y:2 289 检测坐标->y - minNodeF->y == 1 290 ---------------------------------- 291 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 292 检测坐标:6.3 -->G值 == 14 293 ============================G值计算完毕============================ 294 295 检测坐标:6.3 296 终点->x:5 297 检测坐标->x:6 298 (double)(终点->x - 检测坐标->x) == -1 299 (double)(终点->x - 检测坐标->x)^2 == 1 300 ---------------------------------- 301 终点->y:10 302 检测坐标->y:3 303 (double)(终点->y - 检测坐标->y) == 7 304 (double)(终点->y - 检测坐标->y)^2 == 49 305 ---------------------------------- 306 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 50 307 ---------------------------------- 308 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.07107 309 ---------------------------------- 310 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==70.7107 311 检测坐标:6.3 H值 == 70.7107 312 ============================H值计算完毕============================ 313 314 检测坐标:6.3 F值 == 84 315 ============================================================================================= 316 317 318 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 319 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 320 开放链表第3个节点为: 4,3 F值为:84 --->父节点为:5,2 321 开放链表第4个节点为: 5,1 F值为:100 --->父节点为:5,2 322 开放链表第5个节点为: 5,3 F值为:80 --->父节点为:5,2 323 开放链表第6个节点为: 6,1 F值为:104 --->父节点为:5,2 324 开放链表第7个节点为: 6,2 F值为:90 --->父节点为:5,2 325 开放链表第8个节点为: 6,3 F值为:84 --->父节点为:5,2 326 =================================== 327 从开放列表中取最小 F 的节点为:5.3 328 ================================================= 329 开放链表移除、关闭链表增加节点为: 5,3 F值为:80 330 ======================================================= 331 关闭链表第1个节点为: 5,2 F值为:0 332 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 333 =========================================================== 334 335 336 判断周围坐标点: 4,2 337 判断周围坐标点: 4,3 338 判断周围坐标点: 4,4 339 判断周围坐标点: 5,2 340 >>5,2不可用于下步判断<< 341 判断周围坐标点: 5,3 342 >>5,3不可用于下步判断<< 343 判断周围坐标点: 5,4 344 判断周围坐标点: 6,2 345 判断周围坐标点: 6,3 346 判断周围坐标点: 6,4 347 minNodeF周围点收集判断完毕 348 >>4,2 在开放链表 跳过<< 349 >>4,3 在开放链表 跳过<< 350 ----------------------------G值计算开始---------------------------- 351 检测坐标:4,4 352 检测坐标->x:4 353 minNodeF->x:5 354 检测坐标->x - minNodeF->x == 1 355 ---------------------------------- 356 检测坐标->y:4 357 minNodeF->y:3 358 检测坐标->y - minNodeF->y == 1 359 ---------------------------------- 360 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 361 检测坐标:4.4 -->G值 == 24 362 ============================G值计算完毕============================ 363 364 检测坐标:4.4 365 终点->x:5 366 检测坐标->x:4 367 (double)(终点->x - 检测坐标->x) == 1 368 (double)(终点->x - 检测坐标->x)^2 == 1 369 ---------------------------------- 370 终点->y:10 371 检测坐标->y:4 372 (double)(终点->y - 检测坐标->y) == 6 373 (double)(终点->y - 检测坐标->y)^2 == 36 374 ---------------------------------- 375 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 37 376 ---------------------------------- 377 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.08276 378 ---------------------------------- 379 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==60.8276 380 检测坐标:4.4 H值 == 60.8276 381 ============================H值计算完毕============================ 382 383 检测坐标:4.4 F值 == 84 384 ============================================================================================= 385 386 387 ----------------------------G值计算开始---------------------------- 388 检测坐标:5,4 389 检测坐标->x:5 390 minNodeF->x:5 391 检测坐标->x - minNodeF->x == 0 392 ---------------------------------- 393 检测坐标->y:4 394 minNodeF->y:3 395 检测坐标->y - minNodeF->y == 1 396 ---------------------------------- 397 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 398 检测坐标:5.4 -->G值 == 20 399 ============================G值计算完毕============================ 400 401 检测坐标:5.4 402 终点->x:5 403 检测坐标->x:5 404 (double)(终点->x - 检测坐标->x) == 0 405 (double)(终点->x - 检测坐标->x)^2 == 0 406 ---------------------------------- 407 终点->y:10 408 检测坐标->y:4 409 (double)(终点->y - 检测坐标->y) == 6 410 (double)(终点->y - 检测坐标->y)^2 == 36 411 ---------------------------------- 412 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 36 413 ---------------------------------- 414 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6 415 ---------------------------------- 416 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==60 417 检测坐标:5.4 H值 == 60 418 ============================H值计算完毕============================ 419 420 检测坐标:5.4 F值 == 80 421 ============================================================================================= 422 423 424 >>6,2 在开放链表 跳过<< 425 >>6,3 在开放链表 跳过<< 426 ----------------------------G值计算开始---------------------------- 427 检测坐标:6,4 428 检测坐标->x:6 429 minNodeF->x:5 430 检测坐标->x - minNodeF->x == 1 431 ---------------------------------- 432 检测坐标->y:4 433 minNodeF->y:3 434 检测坐标->y - minNodeF->y == 1 435 ---------------------------------- 436 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 437 检测坐标:6.4 -->G值 == 24 438 ============================G值计算完毕============================ 439 440 检测坐标:6.4 441 终点->x:5 442 检测坐标->x:6 443 (double)(终点->x - 检测坐标->x) == -1 444 (double)(终点->x - 检测坐标->x)^2 == 1 445 ---------------------------------- 446 终点->y:10 447 检测坐标->y:4 448 (double)(终点->y - 检测坐标->y) == 6 449 (double)(终点->y - 检测坐标->y)^2 == 36 450 ---------------------------------- 451 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 37 452 ---------------------------------- 453 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.08276 454 ---------------------------------- 455 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==60.8276 456 检测坐标:6.4 H值 == 60.8276 457 ============================H值计算完毕============================ 458 459 检测坐标:6.4 F值 == 84 460 ============================================================================================= 461 462 463 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 464 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 465 开放链表第3个节点为: 4,3 F值为:84 --->父节点为:5,2 466 开放链表第4个节点为: 5,1 F值为:100 --->父节点为:5,2 467 开放链表第5个节点为: 6,1 F值为:104 --->父节点为:5,2 468 开放链表第6个节点为: 6,2 F值为:90 --->父节点为:5,2 469 开放链表第7个节点为: 6,3 F值为:84 --->父节点为:5,2 470 开放链表第8个节点为: 4,4 F值为:84 --->父节点为:5,3 471 开放链表第9个节点为: 5,4 F值为:80 --->父节点为:5,3 472 开放链表第10个节点为: 6,4 F值为:84 --->父节点为:5,3 473 =================================== 474 从开放列表中取最小 F 的节点为:5.4 475 ================================================= 476 开放链表移除、关闭链表增加节点为: 5,4 F值为:80 477 ======================================================= 478 关闭链表第1个节点为: 5,2 F值为:0 479 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 480 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 481 =========================================================== 482 483 484 判断周围坐标点: 4,3 485 判断周围坐标点: 4,4 486 判断周围坐标点: 4,5 487 判断周围坐标点: 5,3 488 >>5,3不可用于下步判断<< 489 判断周围坐标点: 5,4 490 >>5,4不可用于下步判断<< 491 判断周围坐标点: 5,5 492 判断周围坐标点: 6,3 493 判断周围坐标点: 6,4 494 判断周围坐标点: 6,5 495 minNodeF周围点收集判断完毕 496 >>4,3 在开放链表 跳过<< 497 >>4,4 在开放链表 跳过<< 498 ----------------------------G值计算开始---------------------------- 499 检测坐标:4,5 500 检测坐标->x:4 501 minNodeF->x:5 502 检测坐标->x - minNodeF->x == 1 503 ---------------------------------- 504 检测坐标->y:5 505 minNodeF->y:4 506 检测坐标->y - minNodeF->y == 1 507 ---------------------------------- 508 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 509 检测坐标:4.5 -->G值 == 34 510 ============================G值计算完毕============================ 511 512 检测坐标:4.5 513 终点->x:5 514 检测坐标->x:4 515 (double)(终点->x - 检测坐标->x) == 1 516 (double)(终点->x - 检测坐标->x)^2 == 1 517 ---------------------------------- 518 终点->y:10 519 检测坐标->y:5 520 (double)(终点->y - 检测坐标->y) == 5 521 (double)(终点->y - 检测坐标->y)^2 == 25 522 ---------------------------------- 523 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 26 524 ---------------------------------- 525 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.09902 526 ---------------------------------- 527 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==50.9902 528 检测坐标:4.5 H值 == 50.9902 529 ============================H值计算完毕============================ 530 531 检测坐标:4.5 F值 == 84 532 ============================================================================================= 533 534 535 ----------------------------G值计算开始---------------------------- 536 检测坐标:5,5 537 检测坐标->x:5 538 minNodeF->x:5 539 检测坐标->x - minNodeF->x == 0 540 ---------------------------------- 541 检测坐标->y:5 542 minNodeF->y:4 543 检测坐标->y - minNodeF->y == 1 544 ---------------------------------- 545 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 546 检测坐标:5.5 -->G值 == 30 547 ============================G值计算完毕============================ 548 549 检测坐标:5.5 550 终点->x:5 551 检测坐标->x:5 552 (double)(终点->x - 检测坐标->x) == 0 553 (double)(终点->x - 检测坐标->x)^2 == 0 554 ---------------------------------- 555 终点->y:10 556 检测坐标->y:5 557 (double)(终点->y - 检测坐标->y) == 5 558 (double)(终点->y - 检测坐标->y)^2 == 25 559 ---------------------------------- 560 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 25 561 ---------------------------------- 562 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5 563 ---------------------------------- 564 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==50 565 检测坐标:5.5 H值 == 50 566 ============================H值计算完毕============================ 567 568 检测坐标:5.5 F值 == 80 569 ============================================================================================= 570 571 572 >>6,3 在开放链表 跳过<< 573 >>6,4 在开放链表 跳过<< 574 ----------------------------G值计算开始---------------------------- 575 检测坐标:6,5 576 检测坐标->x:6 577 minNodeF->x:5 578 检测坐标->x - minNodeF->x == 1 579 ---------------------------------- 580 检测坐标->y:5 581 minNodeF->y:4 582 检测坐标->y - minNodeF->y == 1 583 ---------------------------------- 584 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 585 检测坐标:6.5 -->G值 == 34 586 ============================G值计算完毕============================ 587 588 检测坐标:6.5 589 终点->x:5 590 检测坐标->x:6 591 (double)(终点->x - 检测坐标->x) == -1 592 (double)(终点->x - 检测坐标->x)^2 == 1 593 ---------------------------------- 594 终点->y:10 595 检测坐标->y:5 596 (double)(终点->y - 检测坐标->y) == 5 597 (double)(终点->y - 检测坐标->y)^2 == 25 598 ---------------------------------- 599 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 26 600 ---------------------------------- 601 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.09902 602 ---------------------------------- 603 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==50.9902 604 检测坐标:6.5 H值 == 50.9902 605 ============================H值计算完毕============================ 606 607 检测坐标:6.5 F值 == 84 608 ============================================================================================= 609 610 611 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 612 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 613 开放链表第3个节点为: 4,3 F值为:84 --->父节点为:5,2 614 开放链表第4个节点为: 5,1 F值为:100 --->父节点为:5,2 615 开放链表第5个节点为: 6,1 F值为:104 --->父节点为:5,2 616 开放链表第6个节点为: 6,2 F值为:90 --->父节点为:5,2 617 开放链表第7个节点为: 6,3 F值为:84 --->父节点为:5,2 618 开放链表第8个节点为: 4,4 F值为:84 --->父节点为:5,3 619 开放链表第9个节点为: 6,4 F值为:84 --->父节点为:5,3 620 开放链表第10个节点为: 4,5 F值为:84 --->父节点为:5,4 621 开放链表第11个节点为: 5,5 F值为:80 --->父节点为:5,4 622 开放链表第12个节点为: 6,5 F值为:84 --->父节点为:5,4 623 =================================== 624 从开放列表中取最小 F 的节点为:5.5 625 ================================================= 626 开放链表移除、关闭链表增加节点为: 5,5 F值为:80 627 ======================================================= 628 关闭链表第1个节点为: 5,2 F值为:0 629 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 630 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 631 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 632 =========================================================== 633 634 635 判断周围坐标点: 4,4 636 判断周围坐标点: 4,5 637 判断周围坐标点: 4,6 638 >>4,6不可用于下步判断<< 639 判断周围坐标点: 5,4 640 >>5,4不可用于下步判断<< 641 判断周围坐标点: 5,5 642 >>5,5不可用于下步判断<< 643 判断周围坐标点: 5,6 644 >>5,6不可用于下步判断<< 645 判断周围坐标点: 6,4 646 判断周围坐标点: 6,5 647 判断周围坐标点: 6,6 648 >>6,6不可用于下步判断<< 649 minNodeF周围点收集判断完毕 650 >>4,4 在开放链表 跳过<< 651 >>4,5 在开放链表 跳过<< 652 >>6,4 在开放链表 跳过<< 653 >>6,5 在开放链表 跳过<< 654 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 655 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 656 开放链表第3个节点为: 4,3 F值为:84 --->父节点为:5,2 657 开放链表第4个节点为: 5,1 F值为:100 --->父节点为:5,2 658 开放链表第5个节点为: 6,1 F值为:104 --->父节点为:5,2 659 开放链表第6个节点为: 6,2 F值为:90 --->父节点为:5,2 660 开放链表第7个节点为: 6,3 F值为:84 --->父节点为:5,2 661 开放链表第8个节点为: 4,4 F值为:84 --->父节点为:5,3 662 开放链表第9个节点为: 6,4 F值为:84 --->父节点为:5,3 663 开放链表第10个节点为: 4,5 F值为:84 --->父节点为:5,4 664 开放链表第11个节点为: 6,5 F值为:84 --->父节点为:5,4 665 =================================== 666 从开放列表中取最小 F 的节点为:4.3 667 ================================================= 668 开放链表移除、关闭链表增加节点为: 4,3 F值为:84 669 ======================================================= 670 关闭链表第1个节点为: 5,2 F值为:0 671 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 672 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 673 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 674 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 675 =========================================================== 676 677 678 判断周围坐标点: 3,2 679 判断周围坐标点: 3,3 680 判断周围坐标点: 3,4 681 判断周围坐标点: 4,2 682 判断周围坐标点: 4,3 683 >>4,3不可用于下步判断<< 684 判断周围坐标点: 4,4 685 判断周围坐标点: 5,2 686 >>5,2不可用于下步判断<< 687 判断周围坐标点: 5,3 688 >>5,3不可用于下步判断<< 689 判断周围坐标点: 5,4 690 >>5,4不可用于下步判断<< 691 minNodeF周围点收集判断完毕 692 ----------------------------G值计算开始---------------------------- 693 检测坐标:3,2 694 检测坐标->x:3 695 minNodeF->x:4 696 检测坐标->x - minNodeF->x == 1 697 ---------------------------------- 698 检测坐标->y:2 699 minNodeF->y:3 700 检测坐标->y - minNodeF->y == 1 701 ---------------------------------- 702 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 703 检测坐标:3.2 -->G值 == 28 704 ============================G值计算完毕============================ 705 706 检测坐标:3.2 707 终点->x:5 708 检测坐标->x:3 709 (double)(终点->x - 检测坐标->x) == 2 710 (double)(终点->x - 检测坐标->x)^2 == 4 711 ---------------------------------- 712 终点->y:10 713 检测坐标->y:2 714 (double)(终点->y - 检测坐标->y) == 8 715 (double)(终点->y - 检测坐标->y)^2 == 64 716 ---------------------------------- 717 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 68 718 ---------------------------------- 719 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.24621 720 ---------------------------------- 721 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==82.4621 722 检测坐标:3.2 H值 == 82.4621 723 ============================H值计算完毕============================ 724 725 检测坐标:3.2 F值 == 110 726 ============================================================================================= 727 728 729 ----------------------------G值计算开始---------------------------- 730 检测坐标:3,3 731 检测坐标->x:3 732 minNodeF->x:4 733 检测坐标->x - minNodeF->x == 1 734 ---------------------------------- 735 检测坐标->y:3 736 minNodeF->y:3 737 检测坐标->y - minNodeF->y == 0 738 ---------------------------------- 739 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 740 检测坐标:3.3 -->G值 == 24 741 ============================G值计算完毕============================ 742 743 检测坐标:3.3 744 终点->x:5 745 检测坐标->x:3 746 (double)(终点->x - 检测坐标->x) == 2 747 (double)(终点->x - 检测坐标->x)^2 == 4 748 ---------------------------------- 749 终点->y:10 750 检测坐标->y:3 751 (double)(终点->y - 检测坐标->y) == 7 752 (double)(终点->y - 检测坐标->y)^2 == 49 753 ---------------------------------- 754 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 53 755 ---------------------------------- 756 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.28011 757 ---------------------------------- 758 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==72.8011 759 检测坐标:3.3 H值 == 72.8011 760 ============================H值计算完毕============================ 761 762 检测坐标:3.3 F值 == 96 763 ============================================================================================= 764 765 766 ----------------------------G值计算开始---------------------------- 767 检测坐标:3,4 768 检测坐标->x:3 769 minNodeF->x:4 770 检测坐标->x - minNodeF->x == 1 771 ---------------------------------- 772 检测坐标->y:4 773 minNodeF->y:3 774 检测坐标->y - minNodeF->y == 1 775 ---------------------------------- 776 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 777 检测坐标:3.4 -->G值 == 28 778 ============================G值计算完毕============================ 779 780 检测坐标:3.4 781 终点->x:5 782 检测坐标->x:3 783 (double)(终点->x - 检测坐标->x) == 2 784 (double)(终点->x - 检测坐标->x)^2 == 4 785 ---------------------------------- 786 终点->y:10 787 检测坐标->y:4 788 (double)(终点->y - 检测坐标->y) == 6 789 (double)(终点->y - 检测坐标->y)^2 == 36 790 ---------------------------------- 791 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 40 792 ---------------------------------- 793 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.32456 794 ---------------------------------- 795 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==63.2456 796 检测坐标:3.4 H值 == 63.2456 797 ============================H值计算完毕============================ 798 799 检测坐标:3.4 F值 == 91 800 ============================================================================================= 801 802 803 >>4,2 在开放链表 跳过<< 804 >>4,4 在开放链表 跳过<< 805 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 806 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 807 开放链表第3个节点为: 5,1 F值为:100 --->父节点为:5,2 808 开放链表第4个节点为: 6,1 F值为:104 --->父节点为:5,2 809 开放链表第5个节点为: 6,2 F值为:90 --->父节点为:5,2 810 开放链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 811 开放链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 812 开放链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 813 开放链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 814 开放链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 815 开放链表第11个节点为: 3,2 F值为:110 --->父节点为:4,3 816 开放链表第12个节点为: 3,3 F值为:96 --->父节点为:4,3 817 开放链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 818 =================================== 819 从开放列表中取最小 F 的节点为:6.3 820 ================================================= 821 开放链表移除、关闭链表增加节点为: 6,3 F值为:84 822 ======================================================= 823 关闭链表第1个节点为: 5,2 F值为:0 824 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 825 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 826 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 827 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 828 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 829 =========================================================== 830 831 832 判断周围坐标点: 5,2 833 >>5,2不可用于下步判断<< 834 判断周围坐标点: 5,3 835 >>5,3不可用于下步判断<< 836 判断周围坐标点: 5,4 837 >>5,4不可用于下步判断<< 838 判断周围坐标点: 6,2 839 判断周围坐标点: 6,3 840 >>6,3不可用于下步判断<< 841 判断周围坐标点: 6,4 842 判断周围坐标点: 7,2 843 判断周围坐标点: 7,3 844 判断周围坐标点: 7,4 845 minNodeF周围点收集判断完毕 846 >>6,2 在开放链表 跳过<< 847 >>6,4 在开放链表 跳过<< 848 ----------------------------G值计算开始---------------------------- 849 检测坐标:7,2 850 检测坐标->x:7 851 minNodeF->x:6 852 检测坐标->x - minNodeF->x == 1 853 ---------------------------------- 854 检测坐标->y:2 855 minNodeF->y:3 856 检测坐标->y - minNodeF->y == 1 857 ---------------------------------- 858 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 859 检测坐标:7.2 -->G值 == 28 860 ============================G值计算完毕============================ 861 862 检测坐标:7.2 863 终点->x:5 864 检测坐标->x:7 865 (double)(终点->x - 检测坐标->x) == -2 866 (double)(终点->x - 检测坐标->x)^2 == 4 867 ---------------------------------- 868 终点->y:10 869 检测坐标->y:2 870 (double)(终点->y - 检测坐标->y) == 8 871 (double)(终点->y - 检测坐标->y)^2 == 64 872 ---------------------------------- 873 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 68 874 ---------------------------------- 875 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.24621 876 ---------------------------------- 877 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==82.4621 878 检测坐标:7.2 H值 == 82.4621 879 ============================H值计算完毕============================ 880 881 检测坐标:7.2 F值 == 110 882 ============================================================================================= 883 884 885 ----------------------------G值计算开始---------------------------- 886 检测坐标:7,3 887 检测坐标->x:7 888 minNodeF->x:6 889 检测坐标->x - minNodeF->x == 1 890 ---------------------------------- 891 检测坐标->y:3 892 minNodeF->y:3 893 检测坐标->y - minNodeF->y == 0 894 ---------------------------------- 895 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 896 检测坐标:7.3 -->G值 == 24 897 ============================G值计算完毕============================ 898 899 检测坐标:7.3 900 终点->x:5 901 检测坐标->x:7 902 (double)(终点->x - 检测坐标->x) == -2 903 (double)(终点->x - 检测坐标->x)^2 == 4 904 ---------------------------------- 905 终点->y:10 906 检测坐标->y:3 907 (double)(终点->y - 检测坐标->y) == 7 908 (double)(终点->y - 检测坐标->y)^2 == 49 909 ---------------------------------- 910 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 53 911 ---------------------------------- 912 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.28011 913 ---------------------------------- 914 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==72.8011 915 检测坐标:7.3 H值 == 72.8011 916 ============================H值计算完毕============================ 917 918 检测坐标:7.3 F值 == 96 919 ============================================================================================= 920 921 922 ----------------------------G值计算开始---------------------------- 923 检测坐标:7,4 924 检测坐标->x:7 925 minNodeF->x:6 926 检测坐标->x - minNodeF->x == 1 927 ---------------------------------- 928 检测坐标->y:4 929 minNodeF->y:3 930 检测坐标->y - minNodeF->y == 1 931 ---------------------------------- 932 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 933 检测坐标:7.4 -->G值 == 28 934 ============================G值计算完毕============================ 935 936 检测坐标:7.4 937 终点->x:5 938 检测坐标->x:7 939 (double)(终点->x - 检测坐标->x) == -2 940 (double)(终点->x - 检测坐标->x)^2 == 4 941 ---------------------------------- 942 终点->y:10 943 检测坐标->y:4 944 (double)(终点->y - 检测坐标->y) == 6 945 (double)(终点->y - 检测坐标->y)^2 == 36 946 ---------------------------------- 947 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 40 948 ---------------------------------- 949 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.32456 950 ---------------------------------- 951 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==63.2456 952 检测坐标:7.4 H值 == 63.2456 953 ============================H值计算完毕============================ 954 955 检测坐标:7.4 F值 == 91 956 ============================================================================================= 957 958 959 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 960 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 961 开放链表第3个节点为: 5,1 F值为:100 --->父节点为:5,2 962 开放链表第4个节点为: 6,1 F值为:104 --->父节点为:5,2 963 开放链表第5个节点为: 6,2 F值为:90 --->父节点为:5,2 964 开放链表第6个节点为: 4,4 F值为:84 --->父节点为:5,3 965 开放链表第7个节点为: 6,4 F值为:84 --->父节点为:5,3 966 开放链表第8个节点为: 4,5 F值为:84 --->父节点为:5,4 967 开放链表第9个节点为: 6,5 F值为:84 --->父节点为:5,4 968 开放链表第10个节点为: 3,2 F值为:110 --->父节点为:4,3 969 开放链表第11个节点为: 3,3 F值为:96 --->父节点为:4,3 970 开放链表第12个节点为: 3,4 F值为:91 --->父节点为:4,3 971 开放链表第13个节点为: 7,2 F值为:110 --->父节点为:6,3 972 开放链表第14个节点为: 7,3 F值为:96 --->父节点为:6,3 973 开放链表第15个节点为: 7,4 F值为:91 --->父节点为:6,3 974 =================================== 975 从开放列表中取最小 F 的节点为:4.4 976 ================================================= 977 开放链表移除、关闭链表增加节点为: 4,4 F值为:84 978 ======================================================= 979 关闭链表第1个节点为: 5,2 F值为:0 980 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 981 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 982 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 983 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 984 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 985 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 986 =========================================================== 987 988 989 判断周围坐标点: 3,3 990 判断周围坐标点: 3,4 991 判断周围坐标点: 3,5 992 判断周围坐标点: 4,3 993 >>4,3不可用于下步判断<< 994 判断周围坐标点: 4,4 995 >>4,4不可用于下步判断<< 996 判断周围坐标点: 4,5 997 判断周围坐标点: 5,3 998 >>5,3不可用于下步判断<< 999 判断周围坐标点: 5,4 1000 >>5,4不可用于下步判断<< 1001 判断周围坐标点: 5,5 1002 >>5,5不可用于下步判断<< 1003 minNodeF周围点收集判断完毕 1004 >>3,3 在开放链表 跳过<< 1005 >>3,4 在开放链表 跳过<< 1006 ----------------------------G值计算开始---------------------------- 1007 检测坐标:3,5 1008 检测坐标->x:3 1009 minNodeF->x:4 1010 检测坐标->x - minNodeF->x == 1 1011 ---------------------------------- 1012 检测坐标->y:5 1013 minNodeF->y:4 1014 检测坐标->y - minNodeF->y == 1 1015 ---------------------------------- 1016 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1017 检测坐标:3.5 -->G值 == 38 1018 ============================G值计算完毕============================ 1019 1020 检测坐标:3.5 1021 终点->x:5 1022 检测坐标->x:3 1023 (double)(终点->x - 检测坐标->x) == 2 1024 (double)(终点->x - 检测坐标->x)^2 == 4 1025 ---------------------------------- 1026 终点->y:10 1027 检测坐标->y:5 1028 (double)(终点->y - 检测坐标->y) == 5 1029 (double)(终点->y - 检测坐标->y)^2 == 25 1030 ---------------------------------- 1031 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 29 1032 ---------------------------------- 1033 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.38516 1034 ---------------------------------- 1035 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==53.8516 1036 检测坐标:3.5 H值 == 53.8516 1037 ============================H值计算完毕============================ 1038 1039 检测坐标:3.5 F值 == 91 1040 ============================================================================================= 1041 1042 1043 >>4,5 在开放链表 跳过<< 1044 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1045 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 1046 开放链表第3个节点为: 5,1 F值为:100 --->父节点为:5,2 1047 开放链表第4个节点为: 6,1 F值为:104 --->父节点为:5,2 1048 开放链表第5个节点为: 6,2 F值为:90 --->父节点为:5,2 1049 开放链表第6个节点为: 6,4 F值为:84 --->父节点为:5,3 1050 开放链表第7个节点为: 4,5 F值为:84 --->父节点为:5,4 1051 开放链表第8个节点为: 6,5 F值为:84 --->父节点为:5,4 1052 开放链表第9个节点为: 3,2 F值为:110 --->父节点为:4,3 1053 开放链表第10个节点为: 3,3 F值为:96 --->父节点为:4,3 1054 开放链表第11个节点为: 3,4 F值为:91 --->父节点为:4,3 1055 开放链表第12个节点为: 7,2 F值为:110 --->父节点为:6,3 1056 开放链表第13个节点为: 7,3 F值为:96 --->父节点为:6,3 1057 开放链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 1058 开放链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 1059 =================================== 1060 从开放列表中取最小 F 的节点为:6.4 1061 ================================================= 1062 开放链表移除、关闭链表增加节点为: 6,4 F值为:84 1063 ======================================================= 1064 关闭链表第1个节点为: 5,2 F值为:0 1065 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1066 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1067 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1068 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1069 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1070 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1071 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1072 =========================================================== 1073 1074 1075 判断周围坐标点: 5,3 1076 >>5,3不可用于下步判断<< 1077 判断周围坐标点: 5,4 1078 >>5,4不可用于下步判断<< 1079 判断周围坐标点: 5,5 1080 >>5,5不可用于下步判断<< 1081 判断周围坐标点: 6,3 1082 >>6,3不可用于下步判断<< 1083 判断周围坐标点: 6,4 1084 >>6,4不可用于下步判断<< 1085 判断周围坐标点: 6,5 1086 判断周围坐标点: 7,3 1087 判断周围坐标点: 7,4 1088 判断周围坐标点: 7,5 1089 minNodeF周围点收集判断完毕 1090 >>6,5 在开放链表 跳过<< 1091 >>7,3 在开放链表 跳过<< 1092 >>7,4 在开放链表 跳过<< 1093 ----------------------------G值计算开始---------------------------- 1094 检测坐标:7,5 1095 检测坐标->x:7 1096 minNodeF->x:6 1097 检测坐标->x - minNodeF->x == 1 1098 ---------------------------------- 1099 检测坐标->y:5 1100 minNodeF->y:4 1101 检测坐标->y - minNodeF->y == 1 1102 ---------------------------------- 1103 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1104 检测坐标:7.5 -->G值 == 38 1105 ============================G值计算完毕============================ 1106 1107 检测坐标:7.5 1108 终点->x:5 1109 检测坐标->x:7 1110 (double)(终点->x - 检测坐标->x) == -2 1111 (double)(终点->x - 检测坐标->x)^2 == 4 1112 ---------------------------------- 1113 终点->y:10 1114 检测坐标->y:5 1115 (double)(终点->y - 检测坐标->y) == 5 1116 (double)(终点->y - 检测坐标->y)^2 == 25 1117 ---------------------------------- 1118 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 29 1119 ---------------------------------- 1120 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.38516 1121 ---------------------------------- 1122 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==53.8516 1123 检测坐标:7.5 H值 == 53.8516 1124 ============================H值计算完毕============================ 1125 1126 检测坐标:7.5 F值 == 91 1127 ============================================================================================= 1128 1129 1130 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1131 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 1132 开放链表第3个节点为: 5,1 F值为:100 --->父节点为:5,2 1133 开放链表第4个节点为: 6,1 F值为:104 --->父节点为:5,2 1134 开放链表第5个节点为: 6,2 F值为:90 --->父节点为:5,2 1135 开放链表第6个节点为: 4,5 F值为:84 --->父节点为:5,4 1136 开放链表第7个节点为: 6,5 F值为:84 --->父节点为:5,4 1137 开放链表第8个节点为: 3,2 F值为:110 --->父节点为:4,3 1138 开放链表第9个节点为: 3,3 F值为:96 --->父节点为:4,3 1139 开放链表第10个节点为: 3,4 F值为:91 --->父节点为:4,3 1140 开放链表第11个节点为: 7,2 F值为:110 --->父节点为:6,3 1141 开放链表第12个节点为: 7,3 F值为:96 --->父节点为:6,3 1142 开放链表第13个节点为: 7,4 F值为:91 --->父节点为:6,3 1143 开放链表第14个节点为: 3,5 F值为:91 --->父节点为:4,4 1144 开放链表第15个节点为: 7,5 F值为:91 --->父节点为:6,4 1145 =================================== 1146 从开放列表中取最小 F 的节点为:4.5 1147 ================================================= 1148 开放链表移除、关闭链表增加节点为: 4,5 F值为:84 1149 ======================================================= 1150 关闭链表第1个节点为: 5,2 F值为:0 1151 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1152 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1153 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1154 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1155 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1156 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1157 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1158 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1159 =========================================================== 1160 1161 1162 判断周围坐标点: 3,4 1163 判断周围坐标点: 3,5 1164 判断周围坐标点: 3,6 1165 >>3,6不可用于下步判断<< 1166 判断周围坐标点: 4,4 1167 >>4,4不可用于下步判断<< 1168 判断周围坐标点: 4,5 1169 >>4,5不可用于下步判断<< 1170 判断周围坐标点: 4,6 1171 >>4,6不可用于下步判断<< 1172 判断周围坐标点: 5,4 1173 >>5,4不可用于下步判断<< 1174 判断周围坐标点: 5,5 1175 >>5,5不可用于下步判断<< 1176 判断周围坐标点: 5,6 1177 >>5,6不可用于下步判断<< 1178 minNodeF周围点收集判断完毕 1179 >>3,4 在开放链表 跳过<< 1180 >>3,5 在开放链表 跳过<< 1181 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1182 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 1183 开放链表第3个节点为: 5,1 F值为:100 --->父节点为:5,2 1184 开放链表第4个节点为: 6,1 F值为:104 --->父节点为:5,2 1185 开放链表第5个节点为: 6,2 F值为:90 --->父节点为:5,2 1186 开放链表第6个节点为: 6,5 F值为:84 --->父节点为:5,4 1187 开放链表第7个节点为: 3,2 F值为:110 --->父节点为:4,3 1188 开放链表第8个节点为: 3,3 F值为:96 --->父节点为:4,3 1189 开放链表第9个节点为: 3,4 F值为:91 --->父节点为:4,3 1190 开放链表第10个节点为: 7,2 F值为:110 --->父节点为:6,3 1191 开放链表第11个节点为: 7,3 F值为:96 --->父节点为:6,3 1192 开放链表第12个节点为: 7,4 F值为:91 --->父节点为:6,3 1193 开放链表第13个节点为: 3,5 F值为:91 --->父节点为:4,4 1194 开放链表第14个节点为: 7,5 F值为:91 --->父节点为:6,4 1195 =================================== 1196 从开放列表中取最小 F 的节点为:6.5 1197 ================================================= 1198 开放链表移除、关闭链表增加节点为: 6,5 F值为:84 1199 ======================================================= 1200 关闭链表第1个节点为: 5,2 F值为:0 1201 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1202 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1203 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1204 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1205 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1206 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1207 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1208 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1209 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1210 =========================================================== 1211 1212 1213 判断周围坐标点: 5,4 1214 >>5,4不可用于下步判断<< 1215 判断周围坐标点: 5,5 1216 >>5,5不可用于下步判断<< 1217 判断周围坐标点: 5,6 1218 >>5,6不可用于下步判断<< 1219 判断周围坐标点: 6,4 1220 >>6,4不可用于下步判断<< 1221 判断周围坐标点: 6,5 1222 >>6,5不可用于下步判断<< 1223 判断周围坐标点: 6,6 1224 >>6,6不可用于下步判断<< 1225 判断周围坐标点: 7,4 1226 判断周围坐标点: 7,5 1227 判断周围坐标点: 7,6 1228 >>7,6不可用于下步判断<< 1229 minNodeF周围点收集判断完毕 1230 >>7,4 在开放链表 跳过<< 1231 >>7,5 在开放链表 跳过<< 1232 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1233 开放链表第2个节点为: 4,2 F值为:90 --->父节点为:5,2 1234 开放链表第3个节点为: 5,1 F值为:100 --->父节点为:5,2 1235 开放链表第4个节点为: 6,1 F值为:104 --->父节点为:5,2 1236 开放链表第5个节点为: 6,2 F值为:90 --->父节点为:5,2 1237 开放链表第6个节点为: 3,2 F值为:110 --->父节点为:4,3 1238 开放链表第7个节点为: 3,3 F值为:96 --->父节点为:4,3 1239 开放链表第8个节点为: 3,4 F值为:91 --->父节点为:4,3 1240 开放链表第9个节点为: 7,2 F值为:110 --->父节点为:6,3 1241 开放链表第10个节点为: 7,3 F值为:96 --->父节点为:6,3 1242 开放链表第11个节点为: 7,4 F值为:91 --->父节点为:6,3 1243 开放链表第12个节点为: 3,5 F值为:91 --->父节点为:4,4 1244 开放链表第13个节点为: 7,5 F值为:91 --->父节点为:6,4 1245 =================================== 1246 从开放列表中取最小 F 的节点为:4.2 1247 ================================================= 1248 开放链表移除、关闭链表增加节点为: 4,2 F值为:90 1249 ======================================================= 1250 关闭链表第1个节点为: 5,2 F值为:0 1251 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1252 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1253 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1254 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1255 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1256 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1257 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1258 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1259 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1260 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1261 =========================================================== 1262 1263 1264 判断周围坐标点: 3,1 1265 判断周围坐标点: 3,2 1266 判断周围坐标点: 3,3 1267 判断周围坐标点: 4,1 1268 判断周围坐标点: 4,2 1269 >>4,2不可用于下步判断<< 1270 判断周围坐标点: 4,3 1271 >>4,3不可用于下步判断<< 1272 判断周围坐标点: 5,1 1273 判断周围坐标点: 5,2 1274 >>5,2不可用于下步判断<< 1275 判断周围坐标点: 5,3 1276 >>5,3不可用于下步判断<< 1277 minNodeF周围点收集判断完毕 1278 ----------------------------G值计算开始---------------------------- 1279 检测坐标:3,1 1280 检测坐标->x:3 1281 minNodeF->x:4 1282 检测坐标->x - minNodeF->x == 1 1283 ---------------------------------- 1284 检测坐标->y:1 1285 minNodeF->y:2 1286 检测坐标->y - minNodeF->y == 1 1287 ---------------------------------- 1288 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1289 检测坐标:3.1 -->G值 == 24 1290 ============================G值计算完毕============================ 1291 1292 检测坐标:3.1 1293 终点->x:5 1294 检测坐标->x:3 1295 (double)(终点->x - 检测坐标->x) == 2 1296 (double)(终点->x - 检测坐标->x)^2 == 4 1297 ---------------------------------- 1298 终点->y:10 1299 检测坐标->y:1 1300 (double)(终点->y - 检测坐标->y) == 9 1301 (double)(终点->y - 检测坐标->y)^2 == 81 1302 ---------------------------------- 1303 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 85 1304 ---------------------------------- 1305 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9.21954 1306 ---------------------------------- 1307 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==92.1954 1308 检测坐标:3.1 H值 == 92.1954 1309 ============================H值计算完毕============================ 1310 1311 检测坐标:3.1 F值 == 116 1312 ============================================================================================= 1313 1314 1315 >>3,2 在开放链表 跳过<< 1316 >>3,3 在开放链表 跳过<< 1317 >>4,1 在开放链表 跳过<< 1318 >>5,1 在开放链表 跳过<< 1319 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1320 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1321 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1322 开放链表第4个节点为: 6,2 F值为:90 --->父节点为:5,2 1323 开放链表第5个节点为: 3,2 F值为:110 --->父节点为:4,3 1324 开放链表第6个节点为: 3,3 F值为:96 --->父节点为:4,3 1325 开放链表第7个节点为: 3,4 F值为:91 --->父节点为:4,3 1326 开放链表第8个节点为: 7,2 F值为:110 --->父节点为:6,3 1327 开放链表第9个节点为: 7,3 F值为:96 --->父节点为:6,3 1328 开放链表第10个节点为: 7,4 F值为:91 --->父节点为:6,3 1329 开放链表第11个节点为: 3,5 F值为:91 --->父节点为:4,4 1330 开放链表第12个节点为: 7,5 F值为:91 --->父节点为:6,4 1331 开放链表第13个节点为: 3,1 F值为:116 --->父节点为:4,2 1332 =================================== 1333 从开放列表中取最小 F 的节点为:6.2 1334 ================================================= 1335 开放链表移除、关闭链表增加节点为: 6,2 F值为:90 1336 ======================================================= 1337 关闭链表第1个节点为: 5,2 F值为:0 1338 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1339 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1340 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1341 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1342 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1343 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1344 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1345 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1346 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1347 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1348 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1349 =========================================================== 1350 1351 1352 判断周围坐标点: 5,1 1353 判断周围坐标点: 5,2 1354 >>5,2不可用于下步判断<< 1355 判断周围坐标点: 5,3 1356 >>5,3不可用于下步判断<< 1357 判断周围坐标点: 6,1 1358 判断周围坐标点: 6,2 1359 >>6,2不可用于下步判断<< 1360 判断周围坐标点: 6,3 1361 >>6,3不可用于下步判断<< 1362 判断周围坐标点: 7,1 1363 判断周围坐标点: 7,2 1364 判断周围坐标点: 7,3 1365 minNodeF周围点收集判断完毕 1366 >>5,1 在开放链表 跳过<< 1367 >>6,1 在开放链表 跳过<< 1368 ----------------------------G值计算开始---------------------------- 1369 检测坐标:7,1 1370 检测坐标->x:7 1371 minNodeF->x:6 1372 检测坐标->x - minNodeF->x == 1 1373 ---------------------------------- 1374 检测坐标->y:1 1375 minNodeF->y:2 1376 检测坐标->y - minNodeF->y == 1 1377 ---------------------------------- 1378 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1379 检测坐标:7.1 -->G值 == 24 1380 ============================G值计算完毕============================ 1381 1382 检测坐标:7.1 1383 终点->x:5 1384 检测坐标->x:7 1385 (double)(终点->x - 检测坐标->x) == -2 1386 (double)(终点->x - 检测坐标->x)^2 == 4 1387 ---------------------------------- 1388 终点->y:10 1389 检测坐标->y:1 1390 (double)(终点->y - 检测坐标->y) == 9 1391 (double)(终点->y - 检测坐标->y)^2 == 81 1392 ---------------------------------- 1393 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 85 1394 ---------------------------------- 1395 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9.21954 1396 ---------------------------------- 1397 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==92.1954 1398 检测坐标:7.1 H值 == 92.1954 1399 ============================H值计算完毕============================ 1400 1401 检测坐标:7.1 F值 == 116 1402 ============================================================================================= 1403 1404 1405 >>7,2 在开放链表 跳过<< 1406 >>7,3 在开放链表 跳过<< 1407 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1408 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1409 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1410 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 1411 开放链表第5个节点为: 3,3 F值为:96 --->父节点为:4,3 1412 开放链表第6个节点为: 3,4 F值为:91 --->父节点为:4,3 1413 开放链表第7个节点为: 7,2 F值为:110 --->父节点为:6,3 1414 开放链表第8个节点为: 7,3 F值为:96 --->父节点为:6,3 1415 开放链表第9个节点为: 7,4 F值为:91 --->父节点为:6,3 1416 开放链表第10个节点为: 3,5 F值为:91 --->父节点为:4,4 1417 开放链表第11个节点为: 7,5 F值为:91 --->父节点为:6,4 1418 开放链表第12个节点为: 3,1 F值为:116 --->父节点为:4,2 1419 开放链表第13个节点为: 7,1 F值为:116 --->父节点为:6,2 1420 =================================== 1421 从开放列表中取最小 F 的节点为:3.4 1422 ================================================= 1423 开放链表移除、关闭链表增加节点为: 3,4 F值为:91 1424 ======================================================= 1425 关闭链表第1个节点为: 5,2 F值为:0 1426 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1427 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1428 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1429 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1430 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1431 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1432 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1433 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1434 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1435 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1436 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1437 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 1438 =========================================================== 1439 1440 1441 判断周围坐标点: 2,3 1442 判断周围坐标点: 2,4 1443 判断周围坐标点: 2,5 1444 判断周围坐标点: 3,3 1445 判断周围坐标点: 3,4 1446 >>3,4不可用于下步判断<< 1447 判断周围坐标点: 3,5 1448 判断周围坐标点: 4,3 1449 >>4,3不可用于下步判断<< 1450 判断周围坐标点: 4,4 1451 >>4,4不可用于下步判断<< 1452 判断周围坐标点: 4,5 1453 >>4,5不可用于下步判断<< 1454 minNodeF周围点收集判断完毕 1455 ----------------------------G值计算开始---------------------------- 1456 检测坐标:2,3 1457 检测坐标->x:2 1458 minNodeF->x:3 1459 检测坐标->x - minNodeF->x == 1 1460 ---------------------------------- 1461 检测坐标->y:3 1462 minNodeF->y:4 1463 检测坐标->y - minNodeF->y == 1 1464 ---------------------------------- 1465 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1466 检测坐标:2.3 -->G值 == 42 1467 ============================G值计算完毕============================ 1468 1469 检测坐标:2.3 1470 终点->x:5 1471 检测坐标->x:2 1472 (double)(终点->x - 检测坐标->x) == 3 1473 (double)(终点->x - 检测坐标->x)^2 == 9 1474 ---------------------------------- 1475 终点->y:10 1476 检测坐标->y:3 1477 (double)(终点->y - 检测坐标->y) == 7 1478 (double)(终点->y - 检测坐标->y)^2 == 49 1479 ---------------------------------- 1480 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 58 1481 ---------------------------------- 1482 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.61577 1483 ---------------------------------- 1484 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==76.1577 1485 检测坐标:2.3 H值 == 76.1577 1486 ============================H值计算完毕============================ 1487 1488 检测坐标:2.3 F值 == 118 1489 ============================================================================================= 1490 1491 1492 ----------------------------G值计算开始---------------------------- 1493 检测坐标:2,4 1494 检测坐标->x:2 1495 minNodeF->x:3 1496 检测坐标->x - minNodeF->x == 1 1497 ---------------------------------- 1498 检测坐标->y:4 1499 minNodeF->y:4 1500 检测坐标->y - minNodeF->y == 0 1501 ---------------------------------- 1502 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 1503 检测坐标:2.4 -->G值 == 38 1504 ============================G值计算完毕============================ 1505 1506 检测坐标:2.4 1507 终点->x:5 1508 检测坐标->x:2 1509 (double)(终点->x - 检测坐标->x) == 3 1510 (double)(终点->x - 检测坐标->x)^2 == 9 1511 ---------------------------------- 1512 终点->y:10 1513 检测坐标->y:4 1514 (double)(终点->y - 检测坐标->y) == 6 1515 (double)(终点->y - 检测坐标->y)^2 == 36 1516 ---------------------------------- 1517 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 45 1518 ---------------------------------- 1519 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.7082 1520 ---------------------------------- 1521 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==67.082 1522 检测坐标:2.4 H值 == 67.082 1523 ============================H值计算完毕============================ 1524 1525 检测坐标:2.4 F值 == 105 1526 ============================================================================================= 1527 1528 1529 ----------------------------G值计算开始---------------------------- 1530 检测坐标:2,5 1531 检测坐标->x:2 1532 minNodeF->x:3 1533 检测坐标->x - minNodeF->x == 1 1534 ---------------------------------- 1535 检测坐标->y:5 1536 minNodeF->y:4 1537 检测坐标->y - minNodeF->y == 1 1538 ---------------------------------- 1539 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1540 检测坐标:2.5 -->G值 == 42 1541 ============================G值计算完毕============================ 1542 1543 检测坐标:2.5 1544 终点->x:5 1545 检测坐标->x:2 1546 (double)(终点->x - 检测坐标->x) == 3 1547 (double)(终点->x - 检测坐标->x)^2 == 9 1548 ---------------------------------- 1549 终点->y:10 1550 检测坐标->y:5 1551 (double)(终点->y - 检测坐标->y) == 5 1552 (double)(终点->y - 检测坐标->y)^2 == 25 1553 ---------------------------------- 1554 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 34 1555 ---------------------------------- 1556 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.83095 1557 ---------------------------------- 1558 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==58.3095 1559 检测坐标:2.5 H值 == 58.3095 1560 ============================H值计算完毕============================ 1561 1562 检测坐标:2.5 F值 == 100 1563 ============================================================================================= 1564 1565 1566 >>3,3 在开放链表 跳过<< 1567 >>3,5 在开放链表 跳过<< 1568 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1569 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1570 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1571 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 1572 开放链表第5个节点为: 3,3 F值为:96 --->父节点为:4,3 1573 开放链表第6个节点为: 7,2 F值为:110 --->父节点为:6,3 1574 开放链表第7个节点为: 7,3 F值为:96 --->父节点为:6,3 1575 开放链表第8个节点为: 7,4 F值为:91 --->父节点为:6,3 1576 开放链表第9个节点为: 3,5 F值为:91 --->父节点为:4,4 1577 开放链表第10个节点为: 7,5 F值为:91 --->父节点为:6,4 1578 开放链表第11个节点为: 3,1 F值为:116 --->父节点为:4,2 1579 开放链表第12个节点为: 7,1 F值为:116 --->父节点为:6,2 1580 开放链表第13个节点为: 2,3 F值为:118 --->父节点为:3,4 1581 开放链表第14个节点为: 2,4 F值为:105 --->父节点为:3,4 1582 开放链表第15个节点为: 2,5 F值为:100 --->父节点为:3,4 1583 =================================== 1584 从开放列表中取最小 F 的节点为:7.4 1585 ================================================= 1586 开放链表移除、关闭链表增加节点为: 7,4 F值为:91 1587 ======================================================= 1588 关闭链表第1个节点为: 5,2 F值为:0 1589 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1590 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1591 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1592 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1593 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1594 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1595 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1596 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1597 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1598 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1599 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1600 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 1601 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 1602 =========================================================== 1603 1604 1605 判断周围坐标点: 6,3 1606 >>6,3不可用于下步判断<< 1607 判断周围坐标点: 6,4 1608 >>6,4不可用于下步判断<< 1609 判断周围坐标点: 6,5 1610 >>6,5不可用于下步判断<< 1611 判断周围坐标点: 7,3 1612 判断周围坐标点: 7,4 1613 >>7,4不可用于下步判断<< 1614 判断周围坐标点: 7,5 1615 判断周围坐标点: 8,3 1616 判断周围坐标点: 8,4 1617 判断周围坐标点: 8,5 1618 minNodeF周围点收集判断完毕 1619 >>7,3 在开放链表 跳过<< 1620 >>7,5 在开放链表 跳过<< 1621 ----------------------------G值计算开始---------------------------- 1622 检测坐标:8,3 1623 检测坐标->x:8 1624 minNodeF->x:7 1625 检测坐标->x - minNodeF->x == 1 1626 ---------------------------------- 1627 检测坐标->y:3 1628 minNodeF->y:4 1629 检测坐标->y - minNodeF->y == 1 1630 ---------------------------------- 1631 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1632 检测坐标:8.3 -->G值 == 42 1633 ============================G值计算完毕============================ 1634 1635 检测坐标:8.3 1636 终点->x:5 1637 检测坐标->x:8 1638 (double)(终点->x - 检测坐标->x) == -3 1639 (double)(终点->x - 检测坐标->x)^2 == 9 1640 ---------------------------------- 1641 终点->y:10 1642 检测坐标->y:3 1643 (double)(终点->y - 检测坐标->y) == 7 1644 (double)(终点->y - 检测坐标->y)^2 == 49 1645 ---------------------------------- 1646 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 58 1647 ---------------------------------- 1648 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.61577 1649 ---------------------------------- 1650 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==76.1577 1651 检测坐标:8.3 H值 == 76.1577 1652 ============================H值计算完毕============================ 1653 1654 检测坐标:8.3 F值 == 118 1655 ============================================================================================= 1656 1657 1658 ----------------------------G值计算开始---------------------------- 1659 检测坐标:8,4 1660 检测坐标->x:8 1661 minNodeF->x:7 1662 检测坐标->x - minNodeF->x == 1 1663 ---------------------------------- 1664 检测坐标->y:4 1665 minNodeF->y:4 1666 检测坐标->y - minNodeF->y == 0 1667 ---------------------------------- 1668 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 1669 检测坐标:8.4 -->G值 == 38 1670 ============================G值计算完毕============================ 1671 1672 检测坐标:8.4 1673 终点->x:5 1674 检测坐标->x:8 1675 (double)(终点->x - 检测坐标->x) == -3 1676 (double)(终点->x - 检测坐标->x)^2 == 9 1677 ---------------------------------- 1678 终点->y:10 1679 检测坐标->y:4 1680 (double)(终点->y - 检测坐标->y) == 6 1681 (double)(终点->y - 检测坐标->y)^2 == 36 1682 ---------------------------------- 1683 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 45 1684 ---------------------------------- 1685 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.7082 1686 ---------------------------------- 1687 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==67.082 1688 检测坐标:8.4 H值 == 67.082 1689 ============================H值计算完毕============================ 1690 1691 检测坐标:8.4 F值 == 105 1692 ============================================================================================= 1693 1694 1695 ----------------------------G值计算开始---------------------------- 1696 检测坐标:8,5 1697 检测坐标->x:8 1698 minNodeF->x:7 1699 检测坐标->x - minNodeF->x == 1 1700 ---------------------------------- 1701 检测坐标->y:5 1702 minNodeF->y:4 1703 检测坐标->y - minNodeF->y == 1 1704 ---------------------------------- 1705 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1706 检测坐标:8.5 -->G值 == 42 1707 ============================G值计算完毕============================ 1708 1709 检测坐标:8.5 1710 终点->x:5 1711 检测坐标->x:8 1712 (double)(终点->x - 检测坐标->x) == -3 1713 (double)(终点->x - 检测坐标->x)^2 == 9 1714 ---------------------------------- 1715 终点->y:10 1716 检测坐标->y:5 1717 (double)(终点->y - 检测坐标->y) == 5 1718 (double)(终点->y - 检测坐标->y)^2 == 25 1719 ---------------------------------- 1720 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 34 1721 ---------------------------------- 1722 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.83095 1723 ---------------------------------- 1724 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==58.3095 1725 检测坐标:8.5 H值 == 58.3095 1726 ============================H值计算完毕============================ 1727 1728 检测坐标:8.5 F值 == 100 1729 ============================================================================================= 1730 1731 1732 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1733 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1734 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1735 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 1736 开放链表第5个节点为: 3,3 F值为:96 --->父节点为:4,3 1737 开放链表第6个节点为: 7,2 F值为:110 --->父节点为:6,3 1738 开放链表第7个节点为: 7,3 F值为:96 --->父节点为:6,3 1739 开放链表第8个节点为: 3,5 F值为:91 --->父节点为:4,4 1740 开放链表第9个节点为: 7,5 F值为:91 --->父节点为:6,4 1741 开放链表第10个节点为: 3,1 F值为:116 --->父节点为:4,2 1742 开放链表第11个节点为: 7,1 F值为:116 --->父节点为:6,2 1743 开放链表第12个节点为: 2,3 F值为:118 --->父节点为:3,4 1744 开放链表第13个节点为: 2,4 F值为:105 --->父节点为:3,4 1745 开放链表第14个节点为: 2,5 F值为:100 --->父节点为:3,4 1746 开放链表第15个节点为: 8,3 F值为:118 --->父节点为:7,4 1747 开放链表第16个节点为: 8,4 F值为:105 --->父节点为:7,4 1748 开放链表第17个节点为: 8,5 F值为:100 --->父节点为:7,4 1749 =================================== 1750 从开放列表中取最小 F 的节点为:3.5 1751 ================================================= 1752 开放链表移除、关闭链表增加节点为: 3,5 F值为:91 1753 ======================================================= 1754 关闭链表第1个节点为: 5,2 F值为:0 1755 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1756 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1757 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1758 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1759 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1760 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1761 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1762 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1763 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1764 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1765 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1766 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 1767 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 1768 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 1769 =========================================================== 1770 1771 1772 判断周围坐标点: 2,4 1773 判断周围坐标点: 2,5 1774 判断周围坐标点: 2,6 1775 >>2,6不可用于下步判断<< 1776 判断周围坐标点: 3,4 1777 >>3,4不可用于下步判断<< 1778 判断周围坐标点: 3,5 1779 >>3,5不可用于下步判断<< 1780 判断周围坐标点: 3,6 1781 >>3,6不可用于下步判断<< 1782 判断周围坐标点: 4,4 1783 >>4,4不可用于下步判断<< 1784 判断周围坐标点: 4,5 1785 >>4,5不可用于下步判断<< 1786 判断周围坐标点: 4,6 1787 >>4,6不可用于下步判断<< 1788 minNodeF周围点收集判断完毕 1789 >>2,4 在开放链表 跳过<< 1790 >>2,5 在开放链表 跳过<< 1791 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1792 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1793 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1794 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 1795 开放链表第5个节点为: 3,3 F值为:96 --->父节点为:4,3 1796 开放链表第6个节点为: 7,2 F值为:110 --->父节点为:6,3 1797 开放链表第7个节点为: 7,3 F值为:96 --->父节点为:6,3 1798 开放链表第8个节点为: 7,5 F值为:91 --->父节点为:6,4 1799 开放链表第9个节点为: 3,1 F值为:116 --->父节点为:4,2 1800 开放链表第10个节点为: 7,1 F值为:116 --->父节点为:6,2 1801 开放链表第11个节点为: 2,3 F值为:118 --->父节点为:3,4 1802 开放链表第12个节点为: 2,4 F值为:105 --->父节点为:3,4 1803 开放链表第13个节点为: 2,5 F值为:100 --->父节点为:3,4 1804 开放链表第14个节点为: 8,3 F值为:118 --->父节点为:7,4 1805 开放链表第15个节点为: 8,4 F值为:105 --->父节点为:7,4 1806 开放链表第16个节点为: 8,5 F值为:100 --->父节点为:7,4 1807 =================================== 1808 从开放列表中取最小 F 的节点为:7.5 1809 ================================================= 1810 开放链表移除、关闭链表增加节点为: 7,5 F值为:91 1811 ======================================================= 1812 关闭链表第1个节点为: 5,2 F值为:0 1813 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1814 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1815 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1816 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1817 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1818 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1819 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1820 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1821 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1822 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1823 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1824 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 1825 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 1826 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 1827 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 1828 =========================================================== 1829 1830 1831 判断周围坐标点: 6,4 1832 >>6,4不可用于下步判断<< 1833 判断周围坐标点: 6,5 1834 >>6,5不可用于下步判断<< 1835 判断周围坐标点: 6,6 1836 >>6,6不可用于下步判断<< 1837 判断周围坐标点: 7,4 1838 >>7,4不可用于下步判断<< 1839 判断周围坐标点: 7,5 1840 >>7,5不可用于下步判断<< 1841 判断周围坐标点: 7,6 1842 >>7,6不可用于下步判断<< 1843 判断周围坐标点: 8,4 1844 判断周围坐标点: 8,5 1845 判断周围坐标点: 8,6 1846 >>8,6不可用于下步判断<< 1847 minNodeF周围点收集判断完毕 1848 >>8,4 在开放链表 跳过<< 1849 >>8,5 在开放链表 跳过<< 1850 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1851 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1852 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1853 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 1854 开放链表第5个节点为: 3,3 F值为:96 --->父节点为:4,3 1855 开放链表第6个节点为: 7,2 F值为:110 --->父节点为:6,3 1856 开放链表第7个节点为: 7,3 F值为:96 --->父节点为:6,3 1857 开放链表第8个节点为: 3,1 F值为:116 --->父节点为:4,2 1858 开放链表第9个节点为: 7,1 F值为:116 --->父节点为:6,2 1859 开放链表第10个节点为: 2,3 F值为:118 --->父节点为:3,4 1860 开放链表第11个节点为: 2,4 F值为:105 --->父节点为:3,4 1861 开放链表第12个节点为: 2,5 F值为:100 --->父节点为:3,4 1862 开放链表第13个节点为: 8,3 F值为:118 --->父节点为:7,4 1863 开放链表第14个节点为: 8,4 F值为:105 --->父节点为:7,4 1864 开放链表第15个节点为: 8,5 F值为:100 --->父节点为:7,4 1865 =================================== 1866 从开放列表中取最小 F 的节点为:3.3 1867 ================================================= 1868 开放链表移除、关闭链表增加节点为: 3,3 F值为:96 1869 ======================================================= 1870 关闭链表第1个节点为: 5,2 F值为:0 1871 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1872 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1873 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1874 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1875 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1876 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1877 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1878 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1879 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1880 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1881 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1882 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 1883 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 1884 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 1885 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 1886 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 1887 =========================================================== 1888 1889 1890 判断周围坐标点: 2,2 1891 判断周围坐标点: 2,3 1892 判断周围坐标点: 2,4 1893 判断周围坐标点: 3,2 1894 判断周围坐标点: 3,3 1895 >>3,3不可用于下步判断<< 1896 判断周围坐标点: 3,4 1897 >>3,4不可用于下步判断<< 1898 判断周围坐标点: 4,2 1899 >>4,2不可用于下步判断<< 1900 判断周围坐标点: 4,3 1901 >>4,3不可用于下步判断<< 1902 判断周围坐标点: 4,4 1903 >>4,4不可用于下步判断<< 1904 minNodeF周围点收集判断完毕 1905 ----------------------------G值计算开始---------------------------- 1906 检测坐标:2,2 1907 检测坐标->x:2 1908 minNodeF->x:3 1909 检测坐标->x - minNodeF->x == 1 1910 ---------------------------------- 1911 检测坐标->y:2 1912 minNodeF->y:3 1913 检测坐标->y - minNodeF->y == 1 1914 ---------------------------------- 1915 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 1916 检测坐标:2.2 -->G值 == 38 1917 ============================G值计算完毕============================ 1918 1919 检测坐标:2.2 1920 终点->x:5 1921 检测坐标->x:2 1922 (double)(终点->x - 检测坐标->x) == 3 1923 (double)(终点->x - 检测坐标->x)^2 == 9 1924 ---------------------------------- 1925 终点->y:10 1926 检测坐标->y:2 1927 (double)(终点->y - 检测坐标->y) == 8 1928 (double)(终点->y - 检测坐标->y)^2 == 64 1929 ---------------------------------- 1930 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 73 1931 ---------------------------------- 1932 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.544 1933 ---------------------------------- 1934 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==85.44 1935 检测坐标:2.2 H值 == 85.44 1936 ============================H值计算完毕============================ 1937 1938 检测坐标:2.2 F值 == 123 1939 ============================================================================================= 1940 1941 1942 >>2,3 在开放链表 跳过<< 1943 >>2,4 在开放链表 跳过<< 1944 >>3,2 在开放链表 跳过<< 1945 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 1946 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 1947 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 1948 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 1949 开放链表第5个节点为: 7,2 F值为:110 --->父节点为:6,3 1950 开放链表第6个节点为: 7,3 F值为:96 --->父节点为:6,3 1951 开放链表第7个节点为: 3,1 F值为:116 --->父节点为:4,2 1952 开放链表第8个节点为: 7,1 F值为:116 --->父节点为:6,2 1953 开放链表第9个节点为: 2,3 F值为:118 --->父节点为:3,4 1954 开放链表第10个节点为: 2,4 F值为:105 --->父节点为:3,4 1955 开放链表第11个节点为: 2,5 F值为:100 --->父节点为:3,4 1956 开放链表第12个节点为: 8,3 F值为:118 --->父节点为:7,4 1957 开放链表第13个节点为: 8,4 F值为:105 --->父节点为:7,4 1958 开放链表第14个节点为: 8,5 F值为:100 --->父节点为:7,4 1959 开放链表第15个节点为: 2,2 F值为:123 --->父节点为:3,3 1960 =================================== 1961 从开放列表中取最小 F 的节点为:7.3 1962 ================================================= 1963 开放链表移除、关闭链表增加节点为: 7,3 F值为:96 1964 ======================================================= 1965 关闭链表第1个节点为: 5,2 F值为:0 1966 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 1967 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 1968 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 1969 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 1970 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 1971 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 1972 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 1973 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 1974 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 1975 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 1976 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 1977 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 1978 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 1979 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 1980 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 1981 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 1982 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 1983 =========================================================== 1984 1985 1986 判断周围坐标点: 6,2 1987 >>6,2不可用于下步判断<< 1988 判断周围坐标点: 6,3 1989 >>6,3不可用于下步判断<< 1990 判断周围坐标点: 6,4 1991 >>6,4不可用于下步判断<< 1992 判断周围坐标点: 7,2 1993 判断周围坐标点: 7,3 1994 >>7,3不可用于下步判断<< 1995 判断周围坐标点: 7,4 1996 >>7,4不可用于下步判断<< 1997 判断周围坐标点: 8,2 1998 判断周围坐标点: 8,3 1999 判断周围坐标点: 8,4 2000 minNodeF周围点收集判断完毕 2001 >>7,2 在开放链表 跳过<< 2002 ----------------------------G值计算开始---------------------------- 2003 检测坐标:8,2 2004 检测坐标->x:8 2005 minNodeF->x:7 2006 检测坐标->x - minNodeF->x == 1 2007 ---------------------------------- 2008 检测坐标->y:2 2009 minNodeF->y:3 2010 检测坐标->y - minNodeF->y == 1 2011 ---------------------------------- 2012 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2013 检测坐标:8.2 -->G值 == 38 2014 ============================G值计算完毕============================ 2015 2016 检测坐标:8.2 2017 终点->x:5 2018 检测坐标->x:8 2019 (double)(终点->x - 检测坐标->x) == -3 2020 (double)(终点->x - 检测坐标->x)^2 == 9 2021 ---------------------------------- 2022 终点->y:10 2023 检测坐标->y:2 2024 (double)(终点->y - 检测坐标->y) == 8 2025 (double)(终点->y - 检测坐标->y)^2 == 64 2026 ---------------------------------- 2027 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 73 2028 ---------------------------------- 2029 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.544 2030 ---------------------------------- 2031 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==85.44 2032 检测坐标:8.2 H值 == 85.44 2033 ============================H值计算完毕============================ 2034 2035 检测坐标:8.2 F值 == 123 2036 ============================================================================================= 2037 2038 2039 >>8,3 在开放链表 跳过<< 2040 >>8,4 在开放链表 跳过<< 2041 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 2042 开放链表第2个节点为: 5,1 F值为:100 --->父节点为:5,2 2043 开放链表第3个节点为: 6,1 F值为:104 --->父节点为:5,2 2044 开放链表第4个节点为: 3,2 F值为:110 --->父节点为:4,3 2045 开放链表第5个节点为: 7,2 F值为:110 --->父节点为:6,3 2046 开放链表第6个节点为: 3,1 F值为:116 --->父节点为:4,2 2047 开放链表第7个节点为: 7,1 F值为:116 --->父节点为:6,2 2048 开放链表第8个节点为: 2,3 F值为:118 --->父节点为:3,4 2049 开放链表第9个节点为: 2,4 F值为:105 --->父节点为:3,4 2050 开放链表第10个节点为: 2,5 F值为:100 --->父节点为:3,4 2051 开放链表第11个节点为: 8,3 F值为:118 --->父节点为:7,4 2052 开放链表第12个节点为: 8,4 F值为:105 --->父节点为:7,4 2053 开放链表第13个节点为: 8,5 F值为:100 --->父节点为:7,4 2054 开放链表第14个节点为: 2,2 F值为:123 --->父节点为:3,3 2055 开放链表第15个节点为: 8,2 F值为:123 --->父节点为:7,3 2056 =================================== 2057 从开放列表中取最小 F 的节点为:5.1 2058 ================================================= 2059 开放链表移除、关闭链表增加节点为: 5,1 F值为:100 2060 ======================================================= 2061 关闭链表第1个节点为: 5,2 F值为:0 2062 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2063 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2064 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2065 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2066 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2067 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2068 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2069 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2070 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2071 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2072 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2073 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2074 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2075 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2076 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2077 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2078 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2079 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2080 =========================================================== 2081 2082 2083 判断周围坐标点: 4,0 2084 判断周围坐标点: 4,1 2085 判断周围坐标点: 4,2 2086 >>4,2不可用于下步判断<< 2087 判断周围坐标点: 5,0 2088 判断周围坐标点: 5,1 2089 >>5,1不可用于下步判断<< 2090 判断周围坐标点: 5,2 2091 >>5,2不可用于下步判断<< 2092 判断周围坐标点: 6,0 2093 判断周围坐标点: 6,1 2094 判断周围坐标点: 6,2 2095 >>6,2不可用于下步判断<< 2096 minNodeF周围点收集判断完毕 2097 ----------------------------G值计算开始---------------------------- 2098 检测坐标:4,0 2099 检测坐标->x:4 2100 minNodeF->x:5 2101 检测坐标->x - minNodeF->x == 1 2102 ---------------------------------- 2103 检测坐标->y:0 2104 minNodeF->y:1 2105 检测坐标->y - minNodeF->y == 1 2106 ---------------------------------- 2107 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2108 检测坐标:4.0 -->G值 == 24 2109 ============================G值计算完毕============================ 2110 2111 检测坐标:4.0 2112 终点->x:5 2113 检测坐标->x:4 2114 (double)(终点->x - 检测坐标->x) == 1 2115 (double)(终点->x - 检测坐标->x)^2 == 1 2116 ---------------------------------- 2117 终点->y:10 2118 检测坐标->y:0 2119 (double)(终点->y - 检测坐标->y) == 10 2120 (double)(终点->y - 检测坐标->y)^2 == 100 2121 ---------------------------------- 2122 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 101 2123 ---------------------------------- 2124 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 10.0499 2125 ---------------------------------- 2126 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==100.499 2127 检测坐标:4.0 H值 == 100.499 2128 ============================H值计算完毕============================ 2129 2130 检测坐标:4.0 F值 == 124 2131 ============================================================================================= 2132 2133 2134 >>4,1 在开放链表 跳过<< 2135 ----------------------------G值计算开始---------------------------- 2136 检测坐标:5,0 2137 检测坐标->x:5 2138 minNodeF->x:5 2139 检测坐标->x - minNodeF->x == 0 2140 ---------------------------------- 2141 检测坐标->y:0 2142 minNodeF->y:1 2143 检测坐标->y - minNodeF->y == 1 2144 ---------------------------------- 2145 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 2146 检测坐标:5.0 -->G值 == 20 2147 ============================G值计算完毕============================ 2148 2149 检测坐标:5.0 2150 终点->x:5 2151 检测坐标->x:5 2152 (double)(终点->x - 检测坐标->x) == 0 2153 (double)(终点->x - 检测坐标->x)^2 == 0 2154 ---------------------------------- 2155 终点->y:10 2156 检测坐标->y:0 2157 (double)(终点->y - 检测坐标->y) == 10 2158 (double)(终点->y - 检测坐标->y)^2 == 100 2159 ---------------------------------- 2160 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 100 2161 ---------------------------------- 2162 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 10 2163 ---------------------------------- 2164 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==100 2165 检测坐标:5.0 H值 == 100 2166 ============================H值计算完毕============================ 2167 2168 检测坐标:5.0 F值 == 120 2169 ============================================================================================= 2170 2171 2172 ----------------------------G值计算开始---------------------------- 2173 检测坐标:6,0 2174 检测坐标->x:6 2175 minNodeF->x:5 2176 检测坐标->x - minNodeF->x == 1 2177 ---------------------------------- 2178 检测坐标->y:0 2179 minNodeF->y:1 2180 检测坐标->y - minNodeF->y == 1 2181 ---------------------------------- 2182 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2183 检测坐标:6.0 -->G值 == 24 2184 ============================G值计算完毕============================ 2185 2186 检测坐标:6.0 2187 终点->x:5 2188 检测坐标->x:6 2189 (double)(终点->x - 检测坐标->x) == -1 2190 (double)(终点->x - 检测坐标->x)^2 == 1 2191 ---------------------------------- 2192 终点->y:10 2193 检测坐标->y:0 2194 (double)(终点->y - 检测坐标->y) == 10 2195 (double)(终点->y - 检测坐标->y)^2 == 100 2196 ---------------------------------- 2197 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 101 2198 ---------------------------------- 2199 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 10.0499 2200 ---------------------------------- 2201 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==100.499 2202 检测坐标:6.0 H值 == 100.499 2203 ============================H值计算完毕============================ 2204 2205 检测坐标:6.0 F值 == 124 2206 ============================================================================================= 2207 2208 2209 >>6,1 在开放链表 跳过<< 2210 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 2211 开放链表第2个节点为: 6,1 F值为:104 --->父节点为:5,2 2212 开放链表第3个节点为: 3,2 F值为:110 --->父节点为:4,3 2213 开放链表第4个节点为: 7,2 F值为:110 --->父节点为:6,3 2214 开放链表第5个节点为: 3,1 F值为:116 --->父节点为:4,2 2215 开放链表第6个节点为: 7,1 F值为:116 --->父节点为:6,2 2216 开放链表第7个节点为: 2,3 F值为:118 --->父节点为:3,4 2217 开放链表第8个节点为: 2,4 F值为:105 --->父节点为:3,4 2218 开放链表第9个节点为: 2,5 F值为:100 --->父节点为:3,4 2219 开放链表第10个节点为: 8,3 F值为:118 --->父节点为:7,4 2220 开放链表第11个节点为: 8,4 F值为:105 --->父节点为:7,4 2221 开放链表第12个节点为: 8,5 F值为:100 --->父节点为:7,4 2222 开放链表第13个节点为: 2,2 F值为:123 --->父节点为:3,3 2223 开放链表第14个节点为: 8,2 F值为:123 --->父节点为:7,3 2224 开放链表第15个节点为: 4,0 F值为:124 --->父节点为:5,1 2225 开放链表第16个节点为: 5,0 F值为:120 --->父节点为:5,1 2226 开放链表第17个节点为: 6,0 F值为:124 --->父节点为:5,1 2227 =================================== 2228 从开放列表中取最小 F 的节点为:2.5 2229 ================================================= 2230 开放链表移除、关闭链表增加节点为: 2,5 F值为:100 2231 ======================================================= 2232 关闭链表第1个节点为: 5,2 F值为:0 2233 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2234 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2235 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2236 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2237 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2238 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2239 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2240 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2241 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2242 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2243 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2244 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2245 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2246 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2247 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2248 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2249 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2250 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2251 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2252 =========================================================== 2253 2254 2255 判断周围坐标点: 1,4 2256 判断周围坐标点: 1,5 2257 判断周围坐标点: 1,6 2258 判断周围坐标点: 2,4 2259 判断周围坐标点: 2,5 2260 >>2,5不可用于下步判断<< 2261 判断周围坐标点: 2,6 2262 >>2,6不可用于下步判断<< 2263 判断周围坐标点: 3,4 2264 >>3,4不可用于下步判断<< 2265 判断周围坐标点: 3,5 2266 >>3,5不可用于下步判断<< 2267 判断周围坐标点: 3,6 2268 >>3,6不可用于下步判断<< 2269 minNodeF周围点收集判断完毕 2270 ----------------------------G值计算开始---------------------------- 2271 检测坐标:1,4 2272 检测坐标->x:1 2273 minNodeF->x:2 2274 检测坐标->x - minNodeF->x == 1 2275 ---------------------------------- 2276 检测坐标->y:4 2277 minNodeF->y:5 2278 检测坐标->y - minNodeF->y == 1 2279 ---------------------------------- 2280 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2281 检测坐标:1.4 -->G值 == 56 2282 ============================G值计算完毕============================ 2283 2284 检测坐标:1.4 2285 终点->x:5 2286 检测坐标->x:1 2287 (double)(终点->x - 检测坐标->x) == 4 2288 (double)(终点->x - 检测坐标->x)^2 == 16 2289 ---------------------------------- 2290 终点->y:10 2291 检测坐标->y:4 2292 (double)(终点->y - 检测坐标->y) == 6 2293 (double)(终点->y - 检测坐标->y)^2 == 36 2294 ---------------------------------- 2295 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 52 2296 ---------------------------------- 2297 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.2111 2298 ---------------------------------- 2299 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==72.111 2300 检测坐标:1.4 H值 == 72.111 2301 ============================H值计算完毕============================ 2302 2303 检测坐标:1.4 F值 == 128 2304 ============================================================================================= 2305 2306 2307 ----------------------------G值计算开始---------------------------- 2308 检测坐标:1,5 2309 检测坐标->x:1 2310 minNodeF->x:2 2311 检测坐标->x - minNodeF->x == 1 2312 ---------------------------------- 2313 检测坐标->y:5 2314 minNodeF->y:5 2315 检测坐标->y - minNodeF->y == 0 2316 ---------------------------------- 2317 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 2318 检测坐标:1.5 -->G值 == 52 2319 ============================G值计算完毕============================ 2320 2321 检测坐标:1.5 2322 终点->x:5 2323 检测坐标->x:1 2324 (double)(终点->x - 检测坐标->x) == 4 2325 (double)(终点->x - 检测坐标->x)^2 == 16 2326 ---------------------------------- 2327 终点->y:10 2328 检测坐标->y:5 2329 (double)(终点->y - 检测坐标->y) == 5 2330 (double)(终点->y - 检测坐标->y)^2 == 25 2331 ---------------------------------- 2332 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 41 2333 ---------------------------------- 2334 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.40312 2335 ---------------------------------- 2336 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==64.0312 2337 检测坐标:1.5 H值 == 64.0312 2338 ============================H值计算完毕============================ 2339 2340 检测坐标:1.5 F值 == 116 2341 ============================================================================================= 2342 2343 2344 ----------------------------G值计算开始---------------------------- 2345 检测坐标:1,6 2346 检测坐标->x:1 2347 minNodeF->x:2 2348 检测坐标->x - minNodeF->x == 1 2349 ---------------------------------- 2350 检测坐标->y:6 2351 minNodeF->y:5 2352 检测坐标->y - minNodeF->y == 1 2353 ---------------------------------- 2354 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2355 检测坐标:1.6 -->G值 == 56 2356 ============================G值计算完毕============================ 2357 2358 检测坐标:1.6 2359 终点->x:5 2360 检测坐标->x:1 2361 (double)(终点->x - 检测坐标->x) == 4 2362 (double)(终点->x - 检测坐标->x)^2 == 16 2363 ---------------------------------- 2364 终点->y:10 2365 检测坐标->y:6 2366 (double)(终点->y - 检测坐标->y) == 4 2367 (double)(终点->y - 检测坐标->y)^2 == 16 2368 ---------------------------------- 2369 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 32 2370 ---------------------------------- 2371 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.65685 2372 ---------------------------------- 2373 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==56.5685 2374 检测坐标:1.6 H值 == 56.5685 2375 ============================H值计算完毕============================ 2376 2377 检测坐标:1.6 F值 == 112 2378 ============================================================================================= 2379 2380 2381 >>2,4 在开放链表 跳过<< 2382 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 2383 开放链表第2个节点为: 6,1 F值为:104 --->父节点为:5,2 2384 开放链表第3个节点为: 3,2 F值为:110 --->父节点为:4,3 2385 开放链表第4个节点为: 7,2 F值为:110 --->父节点为:6,3 2386 开放链表第5个节点为: 3,1 F值为:116 --->父节点为:4,2 2387 开放链表第6个节点为: 7,1 F值为:116 --->父节点为:6,2 2388 开放链表第7个节点为: 2,3 F值为:118 --->父节点为:3,4 2389 开放链表第8个节点为: 2,4 F值为:105 --->父节点为:3,4 2390 开放链表第9个节点为: 8,3 F值为:118 --->父节点为:7,4 2391 开放链表第10个节点为: 8,4 F值为:105 --->父节点为:7,4 2392 开放链表第11个节点为: 8,5 F值为:100 --->父节点为:7,4 2393 开放链表第12个节点为: 2,2 F值为:123 --->父节点为:3,3 2394 开放链表第13个节点为: 8,2 F值为:123 --->父节点为:7,3 2395 开放链表第14个节点为: 4,0 F值为:124 --->父节点为:5,1 2396 开放链表第15个节点为: 5,0 F值为:120 --->父节点为:5,1 2397 开放链表第16个节点为: 6,0 F值为:124 --->父节点为:5,1 2398 开放链表第17个节点为: 1,4 F值为:128 --->父节点为:2,5 2399 开放链表第18个节点为: 1,5 F值为:116 --->父节点为:2,5 2400 开放链表第19个节点为: 1,6 F值为:112 --->父节点为:2,5 2401 =================================== 2402 从开放列表中取最小 F 的节点为:8.5 2403 ================================================= 2404 开放链表移除、关闭链表增加节点为: 8,5 F值为:100 2405 ======================================================= 2406 关闭链表第1个节点为: 5,2 F值为:0 2407 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2408 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2409 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2410 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2411 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2412 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2413 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2414 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2415 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2416 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2417 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2418 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2419 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2420 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2421 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2422 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2423 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2424 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2425 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2426 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 2427 =========================================================== 2428 2429 2430 判断周围坐标点: 7,4 2431 >>7,4不可用于下步判断<< 2432 判断周围坐标点: 7,5 2433 >>7,5不可用于下步判断<< 2434 判断周围坐标点: 7,6 2435 >>7,6不可用于下步判断<< 2436 判断周围坐标点: 8,4 2437 判断周围坐标点: 8,5 2438 >>8,5不可用于下步判断<< 2439 判断周围坐标点: 8,6 2440 >>8,6不可用于下步判断<< 2441 判断周围坐标点: 9,4 2442 判断周围坐标点: 9,5 2443 判断周围坐标点: 9,6 2444 >>9,6不可用于下步判断<< 2445 minNodeF周围点收集判断完毕 2446 >>8,4 在开放链表 跳过<< 2447 ----------------------------G值计算开始---------------------------- 2448 检测坐标:9,4 2449 检测坐标->x:9 2450 minNodeF->x:8 2451 检测坐标->x - minNodeF->x == 1 2452 ---------------------------------- 2453 检测坐标->y:4 2454 minNodeF->y:5 2455 检测坐标->y - minNodeF->y == 1 2456 ---------------------------------- 2457 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2458 检测坐标:9.4 -->G值 == 56 2459 ============================G值计算完毕============================ 2460 2461 检测坐标:9.4 2462 终点->x:5 2463 检测坐标->x:9 2464 (double)(终点->x - 检测坐标->x) == -4 2465 (double)(终点->x - 检测坐标->x)^2 == 16 2466 ---------------------------------- 2467 终点->y:10 2468 检测坐标->y:4 2469 (double)(终点->y - 检测坐标->y) == 6 2470 (double)(终点->y - 检测坐标->y)^2 == 36 2471 ---------------------------------- 2472 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 52 2473 ---------------------------------- 2474 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.2111 2475 ---------------------------------- 2476 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==72.111 2477 检测坐标:9.4 H值 == 72.111 2478 ============================H值计算完毕============================ 2479 2480 检测坐标:9.4 F值 == 128 2481 ============================================================================================= 2482 2483 2484 ----------------------------G值计算开始---------------------------- 2485 检测坐标:9,5 2486 检测坐标->x:9 2487 minNodeF->x:8 2488 检测坐标->x - minNodeF->x == 1 2489 ---------------------------------- 2490 检测坐标->y:5 2491 minNodeF->y:5 2492 检测坐标->y - minNodeF->y == 0 2493 ---------------------------------- 2494 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 2495 检测坐标:9.5 -->G值 == 52 2496 ============================G值计算完毕============================ 2497 2498 检测坐标:9.5 2499 终点->x:5 2500 检测坐标->x:9 2501 (double)(终点->x - 检测坐标->x) == -4 2502 (double)(终点->x - 检测坐标->x)^2 == 16 2503 ---------------------------------- 2504 终点->y:10 2505 检测坐标->y:5 2506 (double)(终点->y - 检测坐标->y) == 5 2507 (double)(终点->y - 检测坐标->y)^2 == 25 2508 ---------------------------------- 2509 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 41 2510 ---------------------------------- 2511 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.40312 2512 ---------------------------------- 2513 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==64.0312 2514 检测坐标:9.5 H值 == 64.0312 2515 ============================H值计算完毕============================ 2516 2517 检测坐标:9.5 F值 == 116 2518 ============================================================================================= 2519 2520 2521 开放链表第1个节点为: 4,1 F值为:104 --->父节点为:5,2 2522 开放链表第2个节点为: 6,1 F值为:104 --->父节点为:5,2 2523 开放链表第3个节点为: 3,2 F值为:110 --->父节点为:4,3 2524 开放链表第4个节点为: 7,2 F值为:110 --->父节点为:6,3 2525 开放链表第5个节点为: 3,1 F值为:116 --->父节点为:4,2 2526 开放链表第6个节点为: 7,1 F值为:116 --->父节点为:6,2 2527 开放链表第7个节点为: 2,3 F值为:118 --->父节点为:3,4 2528 开放链表第8个节点为: 2,4 F值为:105 --->父节点为:3,4 2529 开放链表第9个节点为: 8,3 F值为:118 --->父节点为:7,4 2530 开放链表第10个节点为: 8,4 F值为:105 --->父节点为:7,4 2531 开放链表第11个节点为: 2,2 F值为:123 --->父节点为:3,3 2532 开放链表第12个节点为: 8,2 F值为:123 --->父节点为:7,3 2533 开放链表第13个节点为: 4,0 F值为:124 --->父节点为:5,1 2534 开放链表第14个节点为: 5,0 F值为:120 --->父节点为:5,1 2535 开放链表第15个节点为: 6,0 F值为:124 --->父节点为:5,1 2536 开放链表第16个节点为: 1,4 F值为:128 --->父节点为:2,5 2537 开放链表第17个节点为: 1,5 F值为:116 --->父节点为:2,5 2538 开放链表第18个节点为: 1,6 F值为:112 --->父节点为:2,5 2539 开放链表第19个节点为: 9,4 F值为:128 --->父节点为:8,5 2540 开放链表第20个节点为: 9,5 F值为:116 --->父节点为:8,5 2541 =================================== 2542 从开放列表中取最小 F 的节点为:4.1 2543 ================================================= 2544 开放链表移除、关闭链表增加节点为: 4,1 F值为:104 2545 ======================================================= 2546 关闭链表第1个节点为: 5,2 F值为:0 2547 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2548 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2549 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2550 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2551 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2552 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2553 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2554 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2555 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2556 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2557 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2558 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2559 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2560 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2561 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2562 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2563 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2564 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2565 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2566 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 2567 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 2568 =========================================================== 2569 2570 2571 判断周围坐标点: 3,0 2572 判断周围坐标点: 3,1 2573 判断周围坐标点: 3,2 2574 判断周围坐标点: 4,0 2575 判断周围坐标点: 4,1 2576 >>4,1不可用于下步判断<< 2577 判断周围坐标点: 4,2 2578 >>4,2不可用于下步判断<< 2579 判断周围坐标点: 5,0 2580 判断周围坐标点: 5,1 2581 >>5,1不可用于下步判断<< 2582 判断周围坐标点: 5,2 2583 >>5,2不可用于下步判断<< 2584 minNodeF周围点收集判断完毕 2585 ----------------------------G值计算开始---------------------------- 2586 检测坐标:3,0 2587 检测坐标->x:3 2588 minNodeF->x:4 2589 检测坐标->x - minNodeF->x == 1 2590 ---------------------------------- 2591 检测坐标->y:0 2592 minNodeF->y:1 2593 检测坐标->y - minNodeF->y == 1 2594 ---------------------------------- 2595 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2596 检测坐标:3.0 -->G值 == 28 2597 ============================G值计算完毕============================ 2598 2599 检测坐标:3.0 2600 终点->x:5 2601 检测坐标->x:3 2602 (double)(终点->x - 检测坐标->x) == 2 2603 (double)(终点->x - 检测坐标->x)^2 == 4 2604 ---------------------------------- 2605 终点->y:10 2606 检测坐标->y:0 2607 (double)(终点->y - 检测坐标->y) == 10 2608 (double)(终点->y - 检测坐标->y)^2 == 100 2609 ---------------------------------- 2610 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 104 2611 ---------------------------------- 2612 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 10.198 2613 ---------------------------------- 2614 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==101.98 2615 检测坐标:3.0 H值 == 101.98 2616 ============================H值计算完毕============================ 2617 2618 检测坐标:3.0 F值 == 129 2619 ============================================================================================= 2620 2621 2622 >>3,1 在开放链表 跳过<< 2623 >>3,2 在开放链表 跳过<< 2624 >>4,0 在开放链表 跳过<< 2625 >>5,0 在开放链表 跳过<< 2626 开放链表第1个节点为: 6,1 F值为:104 --->父节点为:5,2 2627 开放链表第2个节点为: 3,2 F值为:110 --->父节点为:4,3 2628 开放链表第3个节点为: 7,2 F值为:110 --->父节点为:6,3 2629 开放链表第4个节点为: 3,1 F值为:116 --->父节点为:4,2 2630 开放链表第5个节点为: 7,1 F值为:116 --->父节点为:6,2 2631 开放链表第6个节点为: 2,3 F值为:118 --->父节点为:3,4 2632 开放链表第7个节点为: 2,4 F值为:105 --->父节点为:3,4 2633 开放链表第8个节点为: 8,3 F值为:118 --->父节点为:7,4 2634 开放链表第9个节点为: 8,4 F值为:105 --->父节点为:7,4 2635 开放链表第10个节点为: 2,2 F值为:123 --->父节点为:3,3 2636 开放链表第11个节点为: 8,2 F值为:123 --->父节点为:7,3 2637 开放链表第12个节点为: 4,0 F值为:124 --->父节点为:5,1 2638 开放链表第13个节点为: 5,0 F值为:120 --->父节点为:5,1 2639 开放链表第14个节点为: 6,0 F值为:124 --->父节点为:5,1 2640 开放链表第15个节点为: 1,4 F值为:128 --->父节点为:2,5 2641 开放链表第16个节点为: 1,5 F值为:116 --->父节点为:2,5 2642 开放链表第17个节点为: 1,6 F值为:112 --->父节点为:2,5 2643 开放链表第18个节点为: 9,4 F值为:128 --->父节点为:8,5 2644 开放链表第19个节点为: 9,5 F值为:116 --->父节点为:8,5 2645 开放链表第20个节点为: 3,0 F值为:129 --->父节点为:4,1 2646 =================================== 2647 从开放列表中取最小 F 的节点为:6.1 2648 ================================================= 2649 开放链表移除、关闭链表增加节点为: 6,1 F值为:104 2650 ======================================================= 2651 关闭链表第1个节点为: 5,2 F值为:0 2652 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2653 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2654 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2655 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2656 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2657 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2658 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2659 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2660 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2661 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2662 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2663 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2664 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2665 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2666 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2667 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2668 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2669 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2670 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2671 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 2672 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 2673 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 2674 =========================================================== 2675 2676 2677 判断周围坐标点: 5,0 2678 判断周围坐标点: 5,1 2679 >>5,1不可用于下步判断<< 2680 判断周围坐标点: 5,2 2681 >>5,2不可用于下步判断<< 2682 判断周围坐标点: 6,0 2683 判断周围坐标点: 6,1 2684 >>6,1不可用于下步判断<< 2685 判断周围坐标点: 6,2 2686 >>6,2不可用于下步判断<< 2687 判断周围坐标点: 7,0 2688 判断周围坐标点: 7,1 2689 判断周围坐标点: 7,2 2690 minNodeF周围点收集判断完毕 2691 >>5,0 在开放链表 跳过<< 2692 >>6,0 在开放链表 跳过<< 2693 ----------------------------G值计算开始---------------------------- 2694 检测坐标:7,0 2695 检测坐标->x:7 2696 minNodeF->x:6 2697 检测坐标->x - minNodeF->x == 1 2698 ---------------------------------- 2699 检测坐标->y:0 2700 minNodeF->y:1 2701 检测坐标->y - minNodeF->y == 1 2702 ---------------------------------- 2703 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2704 检测坐标:7.0 -->G值 == 28 2705 ============================G值计算完毕============================ 2706 2707 检测坐标:7.0 2708 终点->x:5 2709 检测坐标->x:7 2710 (double)(终点->x - 检测坐标->x) == -2 2711 (double)(终点->x - 检测坐标->x)^2 == 4 2712 ---------------------------------- 2713 终点->y:10 2714 检测坐标->y:0 2715 (double)(终点->y - 检测坐标->y) == 10 2716 (double)(终点->y - 检测坐标->y)^2 == 100 2717 ---------------------------------- 2718 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 104 2719 ---------------------------------- 2720 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 10.198 2721 ---------------------------------- 2722 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==101.98 2723 检测坐标:7.0 H值 == 101.98 2724 ============================H值计算完毕============================ 2725 2726 检测坐标:7.0 F值 == 129 2727 ============================================================================================= 2728 2729 2730 >>7,1 在开放链表 跳过<< 2731 >>7,2 在开放链表 跳过<< 2732 开放链表第1个节点为: 3,2 F值为:110 --->父节点为:4,3 2733 开放链表第2个节点为: 7,2 F值为:110 --->父节点为:6,3 2734 开放链表第3个节点为: 3,1 F值为:116 --->父节点为:4,2 2735 开放链表第4个节点为: 7,1 F值为:116 --->父节点为:6,2 2736 开放链表第5个节点为: 2,3 F值为:118 --->父节点为:3,4 2737 开放链表第6个节点为: 2,4 F值为:105 --->父节点为:3,4 2738 开放链表第7个节点为: 8,3 F值为:118 --->父节点为:7,4 2739 开放链表第8个节点为: 8,4 F值为:105 --->父节点为:7,4 2740 开放链表第9个节点为: 2,2 F值为:123 --->父节点为:3,3 2741 开放链表第10个节点为: 8,2 F值为:123 --->父节点为:7,3 2742 开放链表第11个节点为: 4,0 F值为:124 --->父节点为:5,1 2743 开放链表第12个节点为: 5,0 F值为:120 --->父节点为:5,1 2744 开放链表第13个节点为: 6,0 F值为:124 --->父节点为:5,1 2745 开放链表第14个节点为: 1,4 F值为:128 --->父节点为:2,5 2746 开放链表第15个节点为: 1,5 F值为:116 --->父节点为:2,5 2747 开放链表第16个节点为: 1,6 F值为:112 --->父节点为:2,5 2748 开放链表第17个节点为: 9,4 F值为:128 --->父节点为:8,5 2749 开放链表第18个节点为: 9,5 F值为:116 --->父节点为:8,5 2750 开放链表第19个节点为: 3,0 F值为:129 --->父节点为:4,1 2751 开放链表第20个节点为: 7,0 F值为:129 --->父节点为:6,1 2752 =================================== 2753 从开放列表中取最小 F 的节点为:2.4 2754 ================================================= 2755 开放链表移除、关闭链表增加节点为: 2,4 F值为:105 2756 ======================================================= 2757 关闭链表第1个节点为: 5,2 F值为:0 2758 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2759 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2760 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2761 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2762 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2763 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2764 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2765 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2766 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2767 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2768 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2769 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2770 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2771 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2772 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2773 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2774 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2775 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2776 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2777 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 2778 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 2779 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 2780 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 2781 =========================================================== 2782 2783 2784 判断周围坐标点: 1,3 2785 判断周围坐标点: 1,4 2786 判断周围坐标点: 1,5 2787 判断周围坐标点: 2,3 2788 判断周围坐标点: 2,4 2789 >>2,4不可用于下步判断<< 2790 判断周围坐标点: 2,5 2791 >>2,5不可用于下步判断<< 2792 判断周围坐标点: 3,3 2793 >>3,3不可用于下步判断<< 2794 判断周围坐标点: 3,4 2795 >>3,4不可用于下步判断<< 2796 判断周围坐标点: 3,5 2797 >>3,5不可用于下步判断<< 2798 minNodeF周围点收集判断完毕 2799 ----------------------------G值计算开始---------------------------- 2800 检测坐标:1,3 2801 检测坐标->x:1 2802 minNodeF->x:2 2803 检测坐标->x - minNodeF->x == 1 2804 ---------------------------------- 2805 检测坐标->y:3 2806 minNodeF->y:4 2807 检测坐标->y - minNodeF->y == 1 2808 ---------------------------------- 2809 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2810 检测坐标:1.3 -->G值 == 52 2811 ============================G值计算完毕============================ 2812 2813 检测坐标:1.3 2814 终点->x:5 2815 检测坐标->x:1 2816 (double)(终点->x - 检测坐标->x) == 4 2817 (double)(终点->x - 检测坐标->x)^2 == 16 2818 ---------------------------------- 2819 终点->y:10 2820 检测坐标->y:3 2821 (double)(终点->y - 检测坐标->y) == 7 2822 (double)(终点->y - 检测坐标->y)^2 == 49 2823 ---------------------------------- 2824 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 65 2825 ---------------------------------- 2826 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.06226 2827 ---------------------------------- 2828 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==80.6226 2829 检测坐标:1.3 H值 == 80.6226 2830 ============================H值计算完毕============================ 2831 2832 检测坐标:1.3 F值 == 132 2833 ============================================================================================= 2834 2835 2836 >>1,4 在开放链表 跳过<< 2837 >>1,5 在开放链表 跳过<< 2838 >>2,3 在开放链表 跳过<< 2839 开放链表第1个节点为: 3,2 F值为:110 --->父节点为:4,3 2840 开放链表第2个节点为: 7,2 F值为:110 --->父节点为:6,3 2841 开放链表第3个节点为: 3,1 F值为:116 --->父节点为:4,2 2842 开放链表第4个节点为: 7,1 F值为:116 --->父节点为:6,2 2843 开放链表第5个节点为: 2,3 F值为:118 --->父节点为:3,4 2844 开放链表第6个节点为: 8,3 F值为:118 --->父节点为:7,4 2845 开放链表第7个节点为: 8,4 F值为:105 --->父节点为:7,4 2846 开放链表第8个节点为: 2,2 F值为:123 --->父节点为:3,3 2847 开放链表第9个节点为: 8,2 F值为:123 --->父节点为:7,3 2848 开放链表第10个节点为: 4,0 F值为:124 --->父节点为:5,1 2849 开放链表第11个节点为: 5,0 F值为:120 --->父节点为:5,1 2850 开放链表第12个节点为: 6,0 F值为:124 --->父节点为:5,1 2851 开放链表第13个节点为: 1,4 F值为:128 --->父节点为:2,5 2852 开放链表第14个节点为: 1,5 F值为:116 --->父节点为:2,5 2853 开放链表第15个节点为: 1,6 F值为:112 --->父节点为:2,5 2854 开放链表第16个节点为: 9,4 F值为:128 --->父节点为:8,5 2855 开放链表第17个节点为: 9,5 F值为:116 --->父节点为:8,5 2856 开放链表第18个节点为: 3,0 F值为:129 --->父节点为:4,1 2857 开放链表第19个节点为: 7,0 F值为:129 --->父节点为:6,1 2858 开放链表第20个节点为: 1,3 F值为:132 --->父节点为:2,4 2859 =================================== 2860 从开放列表中取最小 F 的节点为:8.4 2861 ================================================= 2862 开放链表移除、关闭链表增加节点为: 8,4 F值为:105 2863 ======================================================= 2864 关闭链表第1个节点为: 5,2 F值为:0 2865 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2866 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2867 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2868 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2869 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2870 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2871 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2872 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2873 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2874 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2875 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2876 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2877 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2878 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2879 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2880 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2881 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2882 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2883 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2884 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 2885 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 2886 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 2887 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 2888 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 2889 =========================================================== 2890 2891 2892 判断周围坐标点: 7,3 2893 >>7,3不可用于下步判断<< 2894 判断周围坐标点: 7,4 2895 >>7,4不可用于下步判断<< 2896 判断周围坐标点: 7,5 2897 >>7,5不可用于下步判断<< 2898 判断周围坐标点: 8,3 2899 判断周围坐标点: 8,4 2900 >>8,4不可用于下步判断<< 2901 判断周围坐标点: 8,5 2902 >>8,5不可用于下步判断<< 2903 判断周围坐标点: 9,3 2904 判断周围坐标点: 9,4 2905 判断周围坐标点: 9,5 2906 minNodeF周围点收集判断完毕 2907 >>8,3 在开放链表 跳过<< 2908 ----------------------------G值计算开始---------------------------- 2909 检测坐标:9,3 2910 检测坐标->x:9 2911 minNodeF->x:8 2912 检测坐标->x - minNodeF->x == 1 2913 ---------------------------------- 2914 检测坐标->y:3 2915 minNodeF->y:4 2916 检测坐标->y - minNodeF->y == 1 2917 ---------------------------------- 2918 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 2919 检测坐标:9.3 -->G值 == 52 2920 ============================G值计算完毕============================ 2921 2922 检测坐标:9.3 2923 终点->x:5 2924 检测坐标->x:9 2925 (double)(终点->x - 检测坐标->x) == -4 2926 (double)(终点->x - 检测坐标->x)^2 == 16 2927 ---------------------------------- 2928 终点->y:10 2929 检测坐标->y:3 2930 (double)(终点->y - 检测坐标->y) == 7 2931 (double)(终点->y - 检测坐标->y)^2 == 49 2932 ---------------------------------- 2933 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 65 2934 ---------------------------------- 2935 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 8.06226 2936 ---------------------------------- 2937 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==80.6226 2938 检测坐标:9.3 H值 == 80.6226 2939 ============================H值计算完毕============================ 2940 2941 检测坐标:9.3 F值 == 132 2942 ============================================================================================= 2943 2944 2945 >>9,4 在开放链表 跳过<< 2946 >>9,5 在开放链表 跳过<< 2947 开放链表第1个节点为: 3,2 F值为:110 --->父节点为:4,3 2948 开放链表第2个节点为: 7,2 F值为:110 --->父节点为:6,3 2949 开放链表第3个节点为: 3,1 F值为:116 --->父节点为:4,2 2950 开放链表第4个节点为: 7,1 F值为:116 --->父节点为:6,2 2951 开放链表第5个节点为: 2,3 F值为:118 --->父节点为:3,4 2952 开放链表第6个节点为: 8,3 F值为:118 --->父节点为:7,4 2953 开放链表第7个节点为: 2,2 F值为:123 --->父节点为:3,3 2954 开放链表第8个节点为: 8,2 F值为:123 --->父节点为:7,3 2955 开放链表第9个节点为: 4,0 F值为:124 --->父节点为:5,1 2956 开放链表第10个节点为: 5,0 F值为:120 --->父节点为:5,1 2957 开放链表第11个节点为: 6,0 F值为:124 --->父节点为:5,1 2958 开放链表第12个节点为: 1,4 F值为:128 --->父节点为:2,5 2959 开放链表第13个节点为: 1,5 F值为:116 --->父节点为:2,5 2960 开放链表第14个节点为: 1,6 F值为:112 --->父节点为:2,5 2961 开放链表第15个节点为: 9,4 F值为:128 --->父节点为:8,5 2962 开放链表第16个节点为: 9,5 F值为:116 --->父节点为:8,5 2963 开放链表第17个节点为: 3,0 F值为:129 --->父节点为:4,1 2964 开放链表第18个节点为: 7,0 F值为:129 --->父节点为:6,1 2965 开放链表第19个节点为: 1,3 F值为:132 --->父节点为:2,4 2966 开放链表第20个节点为: 9,3 F值为:132 --->父节点为:8,4 2967 =================================== 2968 从开放列表中取最小 F 的节点为:3.2 2969 ================================================= 2970 开放链表移除、关闭链表增加节点为: 3,2 F值为:110 2971 ======================================================= 2972 关闭链表第1个节点为: 5,2 F值为:0 2973 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 2974 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 2975 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 2976 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 2977 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 2978 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 2979 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 2980 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 2981 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 2982 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 2983 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 2984 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 2985 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 2986 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 2987 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 2988 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 2989 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 2990 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 2991 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 2992 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 2993 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 2994 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 2995 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 2996 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 2997 关闭链表第26个节点为: 3,2 F值为:110 --->父节点为:4,3 2998 =========================================================== 2999 3000 3001 判断周围坐标点: 2,1 3002 判断周围坐标点: 2,2 3003 判断周围坐标点: 2,3 3004 判断周围坐标点: 3,1 3005 判断周围坐标点: 3,2 3006 >>3,2不可用于下步判断<< 3007 判断周围坐标点: 3,3 3008 >>3,3不可用于下步判断<< 3009 判断周围坐标点: 4,1 3010 >>4,1不可用于下步判断<< 3011 判断周围坐标点: 4,2 3012 >>4,2不可用于下步判断<< 3013 判断周围坐标点: 4,3 3014 >>4,3不可用于下步判断<< 3015 minNodeF周围点收集判断完毕 3016 ----------------------------G值计算开始---------------------------- 3017 检测坐标:2,1 3018 检测坐标->x:2 3019 minNodeF->x:3 3020 检测坐标->x - minNodeF->x == 1 3021 ---------------------------------- 3022 检测坐标->y:1 3023 minNodeF->y:2 3024 检测坐标->y - minNodeF->y == 1 3025 ---------------------------------- 3026 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3027 检测坐标:2.1 -->G值 == 42 3028 ============================G值计算完毕============================ 3029 3030 检测坐标:2.1 3031 终点->x:5 3032 检测坐标->x:2 3033 (double)(终点->x - 检测坐标->x) == 3 3034 (double)(终点->x - 检测坐标->x)^2 == 9 3035 ---------------------------------- 3036 终点->y:10 3037 检测坐标->y:1 3038 (double)(终点->y - 检测坐标->y) == 9 3039 (double)(终点->y - 检测坐标->y)^2 == 81 3040 ---------------------------------- 3041 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 90 3042 ---------------------------------- 3043 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9.48683 3044 ---------------------------------- 3045 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==94.8683 3046 检测坐标:2.1 H值 == 94.8683 3047 ============================H值计算完毕============================ 3048 3049 检测坐标:2.1 F值 == 136 3050 ============================================================================================= 3051 3052 3053 >>2,2 在开放链表 跳过<< 3054 >>2,3 在开放链表 跳过<< 3055 >>3,1 在开放链表 跳过<< 3056 开放链表第1个节点为: 7,2 F值为:110 --->父节点为:6,3 3057 开放链表第2个节点为: 3,1 F值为:116 --->父节点为:4,2 3058 开放链表第3个节点为: 7,1 F值为:116 --->父节点为:6,2 3059 开放链表第4个节点为: 2,3 F值为:118 --->父节点为:3,4 3060 开放链表第5个节点为: 8,3 F值为:118 --->父节点为:7,4 3061 开放链表第6个节点为: 2,2 F值为:123 --->父节点为:3,3 3062 开放链表第7个节点为: 8,2 F值为:123 --->父节点为:7,3 3063 开放链表第8个节点为: 4,0 F值为:124 --->父节点为:5,1 3064 开放链表第9个节点为: 5,0 F值为:120 --->父节点为:5,1 3065 开放链表第10个节点为: 6,0 F值为:124 --->父节点为:5,1 3066 开放链表第11个节点为: 1,4 F值为:128 --->父节点为:2,5 3067 开放链表第12个节点为: 1,5 F值为:116 --->父节点为:2,5 3068 开放链表第13个节点为: 1,6 F值为:112 --->父节点为:2,5 3069 开放链表第14个节点为: 9,4 F值为:128 --->父节点为:8,5 3070 开放链表第15个节点为: 9,5 F值为:116 --->父节点为:8,5 3071 开放链表第16个节点为: 3,0 F值为:129 --->父节点为:4,1 3072 开放链表第17个节点为: 7,0 F值为:129 --->父节点为:6,1 3073 开放链表第18个节点为: 1,3 F值为:132 --->父节点为:2,4 3074 开放链表第19个节点为: 9,3 F值为:132 --->父节点为:8,4 3075 开放链表第20个节点为: 2,1 F值为:136 --->父节点为:3,2 3076 =================================== 3077 从开放列表中取最小 F 的节点为:7.2 3078 ================================================= 3079 开放链表移除、关闭链表增加节点为: 7,2 F值为:110 3080 ======================================================= 3081 关闭链表第1个节点为: 5,2 F值为:0 3082 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 3083 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 3084 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 3085 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 3086 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 3087 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 3088 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 3089 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 3090 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 3091 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 3092 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 3093 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 3094 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 3095 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 3096 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 3097 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 3098 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 3099 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 3100 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 3101 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 3102 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 3103 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 3104 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 3105 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 3106 关闭链表第26个节点为: 3,2 F值为:110 --->父节点为:4,3 3107 关闭链表第27个节点为: 7,2 F值为:110 --->父节点为:6,3 3108 =========================================================== 3109 3110 3111 判断周围坐标点: 6,1 3112 >>6,1不可用于下步判断<< 3113 判断周围坐标点: 6,2 3114 >>6,2不可用于下步判断<< 3115 判断周围坐标点: 6,3 3116 >>6,3不可用于下步判断<< 3117 判断周围坐标点: 7,1 3118 判断周围坐标点: 7,2 3119 >>7,2不可用于下步判断<< 3120 判断周围坐标点: 7,3 3121 >>7,3不可用于下步判断<< 3122 判断周围坐标点: 8,1 3123 判断周围坐标点: 8,2 3124 判断周围坐标点: 8,3 3125 minNodeF周围点收集判断完毕 3126 >>7,1 在开放链表 跳过<< 3127 ----------------------------G值计算开始---------------------------- 3128 检测坐标:8,1 3129 检测坐标->x:8 3130 minNodeF->x:7 3131 检测坐标->x - minNodeF->x == 1 3132 ---------------------------------- 3133 检测坐标->y:1 3134 minNodeF->y:2 3135 检测坐标->y - minNodeF->y == 1 3136 ---------------------------------- 3137 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3138 检测坐标:8.1 -->G值 == 42 3139 ============================G值计算完毕============================ 3140 3141 检测坐标:8.1 3142 终点->x:5 3143 检测坐标->x:8 3144 (double)(终点->x - 检测坐标->x) == -3 3145 (double)(终点->x - 检测坐标->x)^2 == 9 3146 ---------------------------------- 3147 终点->y:10 3148 检测坐标->y:1 3149 (double)(终点->y - 检测坐标->y) == 9 3150 (double)(终点->y - 检测坐标->y)^2 == 81 3151 ---------------------------------- 3152 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 90 3153 ---------------------------------- 3154 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 9.48683 3155 ---------------------------------- 3156 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==94.8683 3157 检测坐标:8.1 H值 == 94.8683 3158 ============================H值计算完毕============================ 3159 3160 检测坐标:8.1 F值 == 136 3161 ============================================================================================= 3162 3163 3164 >>8,2 在开放链表 跳过<< 3165 >>8,3 在开放链表 跳过<< 3166 开放链表第1个节点为: 3,1 F值为:116 --->父节点为:4,2 3167 开放链表第2个节点为: 7,1 F值为:116 --->父节点为:6,2 3168 开放链表第3个节点为: 2,3 F值为:118 --->父节点为:3,4 3169 开放链表第4个节点为: 8,3 F值为:118 --->父节点为:7,4 3170 开放链表第5个节点为: 2,2 F值为:123 --->父节点为:3,3 3171 开放链表第6个节点为: 8,2 F值为:123 --->父节点为:7,3 3172 开放链表第7个节点为: 4,0 F值为:124 --->父节点为:5,1 3173 开放链表第8个节点为: 5,0 F值为:120 --->父节点为:5,1 3174 开放链表第9个节点为: 6,0 F值为:124 --->父节点为:5,1 3175 开放链表第10个节点为: 1,4 F值为:128 --->父节点为:2,5 3176 开放链表第11个节点为: 1,5 F值为:116 --->父节点为:2,5 3177 开放链表第12个节点为: 1,6 F值为:112 --->父节点为:2,5 3178 开放链表第13个节点为: 9,4 F值为:128 --->父节点为:8,5 3179 开放链表第14个节点为: 9,5 F值为:116 --->父节点为:8,5 3180 开放链表第15个节点为: 3,0 F值为:129 --->父节点为:4,1 3181 开放链表第16个节点为: 7,0 F值为:129 --->父节点为:6,1 3182 开放链表第17个节点为: 1,3 F值为:132 --->父节点为:2,4 3183 开放链表第18个节点为: 9,3 F值为:132 --->父节点为:8,4 3184 开放链表第19个节点为: 2,1 F值为:136 --->父节点为:3,2 3185 开放链表第20个节点为: 8,1 F值为:136 --->父节点为:7,2 3186 =================================== 3187 从开放列表中取最小 F 的节点为:1.6 3188 ================================================= 3189 开放链表移除、关闭链表增加节点为: 1,6 F值为:112 3190 ======================================================= 3191 关闭链表第1个节点为: 5,2 F值为:0 3192 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 3193 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 3194 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 3195 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 3196 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 3197 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 3198 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 3199 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 3200 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 3201 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 3202 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 3203 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 3204 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 3205 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 3206 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 3207 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 3208 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 3209 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 3210 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 3211 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 3212 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 3213 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 3214 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 3215 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 3216 关闭链表第26个节点为: 3,2 F值为:110 --->父节点为:4,3 3217 关闭链表第27个节点为: 7,2 F值为:110 --->父节点为:6,3 3218 关闭链表第28个节点为: 1,6 F值为:112 --->父节点为:2,5 3219 =========================================================== 3220 3221 3222 判断周围坐标点: 0,5 3223 判断周围坐标点: 0,6 3224 判断周围坐标点: 0,7 3225 判断周围坐标点: 1,5 3226 判断周围坐标点: 1,6 3227 >>1,6不可用于下步判断<< 3228 判断周围坐标点: 1,7 3229 判断周围坐标点: 2,5 3230 >>2,5不可用于下步判断<< 3231 判断周围坐标点: 2,6 3232 >>2,6不可用于下步判断<< 3233 判断周围坐标点: 2,7 3234 minNodeF周围点收集判断完毕 3235 ----------------------------G值计算开始---------------------------- 3236 检测坐标:0,5 3237 检测坐标->x:0 3238 minNodeF->x:1 3239 检测坐标->x - minNodeF->x == 1 3240 ---------------------------------- 3241 检测坐标->y:5 3242 minNodeF->y:6 3243 检测坐标->y - minNodeF->y == 1 3244 ---------------------------------- 3245 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3246 检测坐标:0.5 -->G值 == 70 3247 ============================G值计算完毕============================ 3248 3249 检测坐标:0.5 3250 终点->x:5 3251 检测坐标->x:0 3252 (double)(终点->x - 检测坐标->x) == 5 3253 (double)(终点->x - 检测坐标->x)^2 == 25 3254 ---------------------------------- 3255 终点->y:10 3256 检测坐标->y:5 3257 (double)(终点->y - 检测坐标->y) == 5 3258 (double)(终点->y - 检测坐标->y)^2 == 25 3259 ---------------------------------- 3260 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 50 3261 ---------------------------------- 3262 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 7.07107 3263 ---------------------------------- 3264 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==70.7107 3265 检测坐标:0.5 H值 == 70.7107 3266 ============================H值计算完毕============================ 3267 3268 检测坐标:0.5 F值 == 140 3269 ============================================================================================= 3270 3271 3272 ----------------------------G值计算开始---------------------------- 3273 检测坐标:0,6 3274 检测坐标->x:0 3275 minNodeF->x:1 3276 检测坐标->x - minNodeF->x == 1 3277 ---------------------------------- 3278 检测坐标->y:6 3279 minNodeF->y:6 3280 检测坐标->y - minNodeF->y == 0 3281 ---------------------------------- 3282 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 3283 检测坐标:0.6 -->G值 == 66 3284 ============================G值计算完毕============================ 3285 3286 检测坐标:0.6 3287 终点->x:5 3288 检测坐标->x:0 3289 (double)(终点->x - 检测坐标->x) == 5 3290 (double)(终点->x - 检测坐标->x)^2 == 25 3291 ---------------------------------- 3292 终点->y:10 3293 检测坐标->y:6 3294 (double)(终点->y - 检测坐标->y) == 4 3295 (double)(终点->y - 检测坐标->y)^2 == 16 3296 ---------------------------------- 3297 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 41 3298 ---------------------------------- 3299 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 6.40312 3300 ---------------------------------- 3301 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==64.0312 3302 检测坐标:0.6 H值 == 64.0312 3303 ============================H值计算完毕============================ 3304 3305 检测坐标:0.6 F值 == 130 3306 ============================================================================================= 3307 3308 3309 ----------------------------G值计算开始---------------------------- 3310 检测坐标:0,7 3311 检测坐标->x:0 3312 minNodeF->x:1 3313 检测坐标->x - minNodeF->x == 1 3314 ---------------------------------- 3315 检测坐标->y:7 3316 minNodeF->y:6 3317 检测坐标->y - minNodeF->y == 1 3318 ---------------------------------- 3319 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3320 检测坐标:0.7 -->G值 == 70 3321 ============================G值计算完毕============================ 3322 3323 检测坐标:0.7 3324 终点->x:5 3325 检测坐标->x:0 3326 (double)(终点->x - 检测坐标->x) == 5 3327 (double)(终点->x - 检测坐标->x)^2 == 25 3328 ---------------------------------- 3329 终点->y:10 3330 检测坐标->y:7 3331 (double)(终点->y - 检测坐标->y) == 3 3332 (double)(终点->y - 检测坐标->y)^2 == 9 3333 ---------------------------------- 3334 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 34 3335 ---------------------------------- 3336 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5.83095 3337 ---------------------------------- 3338 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==58.3095 3339 检测坐标:0.7 H值 == 58.3095 3340 ============================H值计算完毕============================ 3341 3342 检测坐标:0.7 F值 == 128 3343 ============================================================================================= 3344 3345 3346 >>1,5 在开放链表 跳过<< 3347 ----------------------------G值计算开始---------------------------- 3348 检测坐标:1,7 3349 检测坐标->x:1 3350 minNodeF->x:1 3351 检测坐标->x - minNodeF->x == 0 3352 ---------------------------------- 3353 检测坐标->y:7 3354 minNodeF->y:6 3355 检测坐标->y - minNodeF->y == 1 3356 ---------------------------------- 3357 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 3358 检测坐标:1.7 -->G值 == 66 3359 ============================G值计算完毕============================ 3360 3361 检测坐标:1.7 3362 终点->x:5 3363 检测坐标->x:1 3364 (double)(终点->x - 检测坐标->x) == 4 3365 (double)(终点->x - 检测坐标->x)^2 == 16 3366 ---------------------------------- 3367 终点->y:10 3368 检测坐标->y:7 3369 (double)(终点->y - 检测坐标->y) == 3 3370 (double)(终点->y - 检测坐标->y)^2 == 9 3371 ---------------------------------- 3372 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 25 3373 ---------------------------------- 3374 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 5 3375 ---------------------------------- 3376 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==50 3377 检测坐标:1.7 H值 == 50 3378 ============================H值计算完毕============================ 3379 3380 检测坐标:1.7 F值 == 116 3381 ============================================================================================= 3382 3383 3384 ----------------------------G值计算开始---------------------------- 3385 检测坐标:2,7 3386 检测坐标->x:2 3387 minNodeF->x:1 3388 检测坐标->x - minNodeF->x == 1 3389 ---------------------------------- 3390 检测坐标->y:7 3391 minNodeF->y:6 3392 检测坐标->y - minNodeF->y == 1 3393 ---------------------------------- 3394 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3395 检测坐标:2.7 -->G值 == 70 3396 ============================G值计算完毕============================ 3397 3398 检测坐标:2.7 3399 终点->x:5 3400 检测坐标->x:2 3401 (double)(终点->x - 检测坐标->x) == 3 3402 (double)(终点->x - 检测坐标->x)^2 == 9 3403 ---------------------------------- 3404 终点->y:10 3405 检测坐标->y:7 3406 (double)(终点->y - 检测坐标->y) == 3 3407 (double)(终点->y - 检测坐标->y)^2 == 9 3408 ---------------------------------- 3409 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 18 3410 ---------------------------------- 3411 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 4.24264 3412 ---------------------------------- 3413 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==42.4264 3414 检测坐标:2.7 H值 == 42.4264 3415 ============================H值计算完毕============================ 3416 3417 检测坐标:2.7 F值 == 112 3418 ============================================================================================= 3419 3420 3421 开放链表第1个节点为: 3,1 F值为:116 --->父节点为:4,2 3422 开放链表第2个节点为: 7,1 F值为:116 --->父节点为:6,2 3423 开放链表第3个节点为: 2,3 F值为:118 --->父节点为:3,4 3424 开放链表第4个节点为: 8,3 F值为:118 --->父节点为:7,4 3425 开放链表第5个节点为: 2,2 F值为:123 --->父节点为:3,3 3426 开放链表第6个节点为: 8,2 F值为:123 --->父节点为:7,3 3427 开放链表第7个节点为: 4,0 F值为:124 --->父节点为:5,1 3428 开放链表第8个节点为: 5,0 F值为:120 --->父节点为:5,1 3429 开放链表第9个节点为: 6,0 F值为:124 --->父节点为:5,1 3430 开放链表第10个节点为: 1,4 F值为:128 --->父节点为:2,5 3431 开放链表第11个节点为: 1,5 F值为:116 --->父节点为:2,5 3432 开放链表第12个节点为: 9,4 F值为:128 --->父节点为:8,5 3433 开放链表第13个节点为: 9,5 F值为:116 --->父节点为:8,5 3434 开放链表第14个节点为: 3,0 F值为:129 --->父节点为:4,1 3435 开放链表第15个节点为: 7,0 F值为:129 --->父节点为:6,1 3436 开放链表第16个节点为: 1,3 F值为:132 --->父节点为:2,4 3437 开放链表第17个节点为: 9,3 F值为:132 --->父节点为:8,4 3438 开放链表第18个节点为: 2,1 F值为:136 --->父节点为:3,2 3439 开放链表第19个节点为: 8,1 F值为:136 --->父节点为:7,2 3440 开放链表第20个节点为: 0,5 F值为:140 --->父节点为:1,6 3441 开放链表第21个节点为: 0,6 F值为:130 --->父节点为:1,6 3442 开放链表第22个节点为: 0,7 F值为:128 --->父节点为:1,6 3443 开放链表第23个节点为: 1,7 F值为:116 --->父节点为:1,6 3444 开放链表第24个节点为: 2,7 F值为:112 --->父节点为:1,6 3445 =================================== 3446 从开放列表中取最小 F 的节点为:2.7 3447 ================================================= 3448 开放链表移除、关闭链表增加节点为: 2,7 F值为:112 3449 ======================================================= 3450 关闭链表第1个节点为: 5,2 F值为:0 3451 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 3452 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 3453 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 3454 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 3455 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 3456 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 3457 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 3458 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 3459 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 3460 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 3461 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 3462 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 3463 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 3464 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 3465 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 3466 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 3467 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 3468 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 3469 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 3470 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 3471 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 3472 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 3473 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 3474 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 3475 关闭链表第26个节点为: 3,2 F值为:110 --->父节点为:4,3 3476 关闭链表第27个节点为: 7,2 F值为:110 --->父节点为:6,3 3477 关闭链表第28个节点为: 1,6 F值为:112 --->父节点为:2,5 3478 关闭链表第29个节点为: 2,7 F值为:112 --->父节点为:1,6 3479 =========================================================== 3480 3481 3482 判断周围坐标点: 1,6 3483 >>1,6不可用于下步判断<< 3484 判断周围坐标点: 1,7 3485 判断周围坐标点: 1,8 3486 判断周围坐标点: 2,6 3487 >>2,6不可用于下步判断<< 3488 判断周围坐标点: 2,7 3489 >>2,7不可用于下步判断<< 3490 判断周围坐标点: 2,8 3491 判断周围坐标点: 3,6 3492 >>3,6不可用于下步判断<< 3493 判断周围坐标点: 3,7 3494 判断周围坐标点: 3,8 3495 minNodeF周围点收集判断完毕 3496 >>1,7 在开放链表 跳过<< 3497 ----------------------------G值计算开始---------------------------- 3498 检测坐标:1,8 3499 检测坐标->x:1 3500 minNodeF->x:2 3501 检测坐标->x - minNodeF->x == 1 3502 ---------------------------------- 3503 检测坐标->y:8 3504 minNodeF->y:7 3505 检测坐标->y - minNodeF->y == 1 3506 ---------------------------------- 3507 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3508 检测坐标:1.8 -->G值 == 84 3509 ============================G值计算完毕============================ 3510 3511 检测坐标:1.8 3512 终点->x:5 3513 检测坐标->x:1 3514 (double)(终点->x - 检测坐标->x) == 4 3515 (double)(终点->x - 检测坐标->x)^2 == 16 3516 ---------------------------------- 3517 终点->y:10 3518 检测坐标->y:8 3519 (double)(终点->y - 检测坐标->y) == 2 3520 (double)(终点->y - 检测坐标->y)^2 == 4 3521 ---------------------------------- 3522 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 20 3523 ---------------------------------- 3524 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 4.47214 3525 ---------------------------------- 3526 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==44.7214 3527 检测坐标:1.8 H值 == 44.7214 3528 ============================H值计算完毕============================ 3529 3530 检测坐标:1.8 F值 == 128 3531 ============================================================================================= 3532 3533 3534 ----------------------------G值计算开始---------------------------- 3535 检测坐标:2,8 3536 检测坐标->x:2 3537 minNodeF->x:2 3538 检测坐标->x - minNodeF->x == 0 3539 ---------------------------------- 3540 检测坐标->y:8 3541 minNodeF->y:7 3542 检测坐标->y - minNodeF->y == 1 3543 ---------------------------------- 3544 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 3545 检测坐标:2.8 -->G值 == 80 3546 ============================G值计算完毕============================ 3547 3548 检测坐标:2.8 3549 终点->x:5 3550 检测坐标->x:2 3551 (double)(终点->x - 检测坐标->x) == 3 3552 (double)(终点->x - 检测坐标->x)^2 == 9 3553 ---------------------------------- 3554 终点->y:10 3555 检测坐标->y:8 3556 (double)(终点->y - 检测坐标->y) == 2 3557 (double)(终点->y - 检测坐标->y)^2 == 4 3558 ---------------------------------- 3559 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 13 3560 ---------------------------------- 3561 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 3.60555 3562 ---------------------------------- 3563 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==36.0555 3564 检测坐标:2.8 H值 == 36.0555 3565 ============================H值计算完毕============================ 3566 3567 检测坐标:2.8 F值 == 116 3568 ============================================================================================= 3569 3570 3571 ----------------------------G值计算开始---------------------------- 3572 检测坐标:3,7 3573 检测坐标->x:3 3574 minNodeF->x:2 3575 检测坐标->x - minNodeF->x == 1 3576 ---------------------------------- 3577 检测坐标->y:7 3578 minNodeF->y:7 3579 检测坐标->y - minNodeF->y == 0 3580 ---------------------------------- 3581 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 3582 检测坐标:3.7 -->G值 == 80 3583 ============================G值计算完毕============================ 3584 3585 检测坐标:3.7 3586 终点->x:5 3587 检测坐标->x:3 3588 (double)(终点->x - 检测坐标->x) == 2 3589 (double)(终点->x - 检测坐标->x)^2 == 4 3590 ---------------------------------- 3591 终点->y:10 3592 检测坐标->y:7 3593 (double)(终点->y - 检测坐标->y) == 3 3594 (double)(终点->y - 检测坐标->y)^2 == 9 3595 ---------------------------------- 3596 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 13 3597 ---------------------------------- 3598 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 3.60555 3599 ---------------------------------- 3600 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==36.0555 3601 检测坐标:3.7 H值 == 36.0555 3602 ============================H值计算完毕============================ 3603 3604 检测坐标:3.7 F值 == 116 3605 ============================================================================================= 3606 3607 3608 ----------------------------G值计算开始---------------------------- 3609 检测坐标:3,8 3610 检测坐标->x:3 3611 minNodeF->x:2 3612 检测坐标->x - minNodeF->x == 1 3613 ---------------------------------- 3614 检测坐标->y:8 3615 minNodeF->y:7 3616 检测坐标->y - minNodeF->y == 1 3617 ---------------------------------- 3618 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3619 检测坐标:3.8 -->G值 == 84 3620 ============================G值计算完毕============================ 3621 3622 检测坐标:3.8 3623 终点->x:5 3624 检测坐标->x:3 3625 (double)(终点->x - 检测坐标->x) == 2 3626 (double)(终点->x - 检测坐标->x)^2 == 4 3627 ---------------------------------- 3628 终点->y:10 3629 检测坐标->y:8 3630 (double)(终点->y - 检测坐标->y) == 2 3631 (double)(终点->y - 检测坐标->y)^2 == 4 3632 ---------------------------------- 3633 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 8 3634 ---------------------------------- 3635 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 2.82843 3636 ---------------------------------- 3637 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==28.2843 3638 检测坐标:3.8 H值 == 28.2843 3639 ============================H值计算完毕============================ 3640 3641 检测坐标:3.8 F值 == 112 3642 ============================================================================================= 3643 3644 3645 开放链表第1个节点为: 3,1 F值为:116 --->父节点为:4,2 3646 开放链表第2个节点为: 7,1 F值为:116 --->父节点为:6,2 3647 开放链表第3个节点为: 2,3 F值为:118 --->父节点为:3,4 3648 开放链表第4个节点为: 8,3 F值为:118 --->父节点为:7,4 3649 开放链表第5个节点为: 2,2 F值为:123 --->父节点为:3,3 3650 开放链表第6个节点为: 8,2 F值为:123 --->父节点为:7,3 3651 开放链表第7个节点为: 4,0 F值为:124 --->父节点为:5,1 3652 开放链表第8个节点为: 5,0 F值为:120 --->父节点为:5,1 3653 开放链表第9个节点为: 6,0 F值为:124 --->父节点为:5,1 3654 开放链表第10个节点为: 1,4 F值为:128 --->父节点为:2,5 3655 开放链表第11个节点为: 1,5 F值为:116 --->父节点为:2,5 3656 开放链表第12个节点为: 9,4 F值为:128 --->父节点为:8,5 3657 开放链表第13个节点为: 9,5 F值为:116 --->父节点为:8,5 3658 开放链表第14个节点为: 3,0 F值为:129 --->父节点为:4,1 3659 开放链表第15个节点为: 7,0 F值为:129 --->父节点为:6,1 3660 开放链表第16个节点为: 1,3 F值为:132 --->父节点为:2,4 3661 开放链表第17个节点为: 9,3 F值为:132 --->父节点为:8,4 3662 开放链表第18个节点为: 2,1 F值为:136 --->父节点为:3,2 3663 开放链表第19个节点为: 8,1 F值为:136 --->父节点为:7,2 3664 开放链表第20个节点为: 0,5 F值为:140 --->父节点为:1,6 3665 开放链表第21个节点为: 0,6 F值为:130 --->父节点为:1,6 3666 开放链表第22个节点为: 0,7 F值为:128 --->父节点为:1,6 3667 开放链表第23个节点为: 1,7 F值为:116 --->父节点为:1,6 3668 开放链表第24个节点为: 1,8 F值为:128 --->父节点为:2,7 3669 开放链表第25个节点为: 2,8 F值为:116 --->父节点为:2,7 3670 开放链表第26个节点为: 3,7 F值为:116 --->父节点为:2,7 3671 开放链表第27个节点为: 3,8 F值为:112 --->父节点为:2,7 3672 =================================== 3673 从开放列表中取最小 F 的节点为:3.8 3674 ================================================= 3675 开放链表移除、关闭链表增加节点为: 3,8 F值为:112 3676 ======================================================= 3677 关闭链表第1个节点为: 5,2 F值为:0 3678 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 3679 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 3680 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 3681 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 3682 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 3683 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 3684 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 3685 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 3686 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 3687 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 3688 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 3689 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 3690 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 3691 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 3692 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 3693 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 3694 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 3695 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 3696 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 3697 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 3698 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 3699 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 3700 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 3701 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 3702 关闭链表第26个节点为: 3,2 F值为:110 --->父节点为:4,3 3703 关闭链表第27个节点为: 7,2 F值为:110 --->父节点为:6,3 3704 关闭链表第28个节点为: 1,6 F值为:112 --->父节点为:2,5 3705 关闭链表第29个节点为: 2,7 F值为:112 --->父节点为:1,6 3706 关闭链表第30个节点为: 3,8 F值为:112 --->父节点为:2,7 3707 =========================================================== 3708 3709 3710 判断周围坐标点: 2,7 3711 >>2,7不可用于下步判断<< 3712 判断周围坐标点: 2,8 3713 判断周围坐标点: 2,9 3714 判断周围坐标点: 3,7 3715 判断周围坐标点: 3,8 3716 >>3,8不可用于下步判断<< 3717 判断周围坐标点: 3,9 3718 判断周围坐标点: 4,7 3719 判断周围坐标点: 4,8 3720 判断周围坐标点: 4,9 3721 minNodeF周围点收集判断完毕 3722 >>2,8 在开放链表 跳过<< 3723 ----------------------------G值计算开始---------------------------- 3724 检测坐标:2,9 3725 检测坐标->x:2 3726 minNodeF->x:3 3727 检测坐标->x - minNodeF->x == 1 3728 ---------------------------------- 3729 检测坐标->y:9 3730 minNodeF->y:8 3731 检测坐标->y - minNodeF->y == 1 3732 ---------------------------------- 3733 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3734 检测坐标:2.9 -->G值 == 98 3735 ============================G值计算完毕============================ 3736 3737 检测坐标:2.9 3738 终点->x:5 3739 检测坐标->x:2 3740 (double)(终点->x - 检测坐标->x) == 3 3741 (double)(终点->x - 检测坐标->x)^2 == 9 3742 ---------------------------------- 3743 终点->y:10 3744 检测坐标->y:9 3745 (double)(终点->y - 检测坐标->y) == 1 3746 (double)(终点->y - 检测坐标->y)^2 == 1 3747 ---------------------------------- 3748 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 10 3749 ---------------------------------- 3750 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 3.16228 3751 ---------------------------------- 3752 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==31.6228 3753 检测坐标:2.9 H值 == 31.6228 3754 ============================H值计算完毕============================ 3755 3756 检测坐标:2.9 F值 == 129 3757 ============================================================================================= 3758 3759 3760 >>3,7 在开放链表 跳过<< 3761 ----------------------------G值计算开始---------------------------- 3762 检测坐标:3,9 3763 检测坐标->x:3 3764 minNodeF->x:3 3765 检测坐标->x - minNodeF->x == 0 3766 ---------------------------------- 3767 检测坐标->y:9 3768 minNodeF->y:8 3769 检测坐标->y - minNodeF->y == 1 3770 ---------------------------------- 3771 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 3772 检测坐标:3.9 -->G值 == 94 3773 ============================G值计算完毕============================ 3774 3775 检测坐标:3.9 3776 终点->x:5 3777 检测坐标->x:3 3778 (double)(终点->x - 检测坐标->x) == 2 3779 (double)(终点->x - 检测坐标->x)^2 == 4 3780 ---------------------------------- 3781 终点->y:10 3782 检测坐标->y:9 3783 (double)(终点->y - 检测坐标->y) == 1 3784 (double)(终点->y - 检测坐标->y)^2 == 1 3785 ---------------------------------- 3786 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 5 3787 ---------------------------------- 3788 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 2.23607 3789 ---------------------------------- 3790 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==22.3607 3791 检测坐标:3.9 H值 == 22.3607 3792 ============================H值计算完毕============================ 3793 3794 检测坐标:3.9 F值 == 116 3795 ============================================================================================= 3796 3797 3798 ----------------------------G值计算开始---------------------------- 3799 检测坐标:4,7 3800 检测坐标->x:4 3801 minNodeF->x:3 3802 检测坐标->x - minNodeF->x == 1 3803 ---------------------------------- 3804 检测坐标->y:7 3805 minNodeF->y:8 3806 检测坐标->y - minNodeF->y == 1 3807 ---------------------------------- 3808 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3809 检测坐标:4.7 -->G值 == 98 3810 ============================G值计算完毕============================ 3811 3812 检测坐标:4.7 3813 终点->x:5 3814 检测坐标->x:4 3815 (double)(终点->x - 检测坐标->x) == 1 3816 (double)(终点->x - 检测坐标->x)^2 == 1 3817 ---------------------------------- 3818 终点->y:10 3819 检测坐标->y:7 3820 (double)(终点->y - 检测坐标->y) == 3 3821 (double)(终点->y - 检测坐标->y)^2 == 9 3822 ---------------------------------- 3823 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 10 3824 ---------------------------------- 3825 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 3.16228 3826 ---------------------------------- 3827 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==31.6228 3828 检测坐标:4.7 H值 == 31.6228 3829 ============================H值计算完毕============================ 3830 3831 检测坐标:4.7 F值 == 129 3832 ============================================================================================= 3833 3834 3835 ----------------------------G值计算开始---------------------------- 3836 检测坐标:4,8 3837 检测坐标->x:4 3838 minNodeF->x:3 3839 检测坐标->x - minNodeF->x == 1 3840 ---------------------------------- 3841 检测坐标->y:8 3842 minNodeF->y:8 3843 检测坐标->y - minNodeF->y == 0 3844 ---------------------------------- 3845 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 3846 检测坐标:4.8 -->G值 == 94 3847 ============================G值计算完毕============================ 3848 3849 检测坐标:4.8 3850 终点->x:5 3851 检测坐标->x:4 3852 (double)(终点->x - 检测坐标->x) == 1 3853 (double)(终点->x - 检测坐标->x)^2 == 1 3854 ---------------------------------- 3855 终点->y:10 3856 检测坐标->y:8 3857 (double)(终点->y - 检测坐标->y) == 2 3858 (double)(终点->y - 检测坐标->y)^2 == 4 3859 ---------------------------------- 3860 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 5 3861 ---------------------------------- 3862 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 2.23607 3863 ---------------------------------- 3864 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==22.3607 3865 检测坐标:4.8 H值 == 22.3607 3866 ============================H值计算完毕============================ 3867 3868 检测坐标:4.8 F值 == 116 3869 ============================================================================================= 3870 3871 3872 ----------------------------G值计算开始---------------------------- 3873 检测坐标:4,9 3874 检测坐标->x:4 3875 minNodeF->x:3 3876 检测坐标->x - minNodeF->x == 1 3877 ---------------------------------- 3878 检测坐标->y:9 3879 minNodeF->y:8 3880 检测坐标->y - minNodeF->y == 1 3881 ---------------------------------- 3882 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 3883 检测坐标:4.9 -->G值 == 98 3884 ============================G值计算完毕============================ 3885 3886 检测坐标:4.9 3887 终点->x:5 3888 检测坐标->x:4 3889 (double)(终点->x - 检测坐标->x) == 1 3890 (double)(终点->x - 检测坐标->x)^2 == 1 3891 ---------------------------------- 3892 终点->y:10 3893 检测坐标->y:9 3894 (double)(终点->y - 检测坐标->y) == 1 3895 (double)(终点->y - 检测坐标->y)^2 == 1 3896 ---------------------------------- 3897 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 2 3898 ---------------------------------- 3899 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 1.41421 3900 ---------------------------------- 3901 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==14.1421 3902 检测坐标:4.9 H值 == 14.1421 3903 ============================H值计算完毕============================ 3904 3905 检测坐标:4.9 F值 == 112 3906 ============================================================================================= 3907 3908 3909 开放链表第1个节点为: 3,1 F值为:116 --->父节点为:4,2 3910 开放链表第2个节点为: 7,1 F值为:116 --->父节点为:6,2 3911 开放链表第3个节点为: 2,3 F值为:118 --->父节点为:3,4 3912 开放链表第4个节点为: 8,3 F值为:118 --->父节点为:7,4 3913 开放链表第5个节点为: 2,2 F值为:123 --->父节点为:3,3 3914 开放链表第6个节点为: 8,2 F值为:123 --->父节点为:7,3 3915 开放链表第7个节点为: 4,0 F值为:124 --->父节点为:5,1 3916 开放链表第8个节点为: 5,0 F值为:120 --->父节点为:5,1 3917 开放链表第9个节点为: 6,0 F值为:124 --->父节点为:5,1 3918 开放链表第10个节点为: 1,4 F值为:128 --->父节点为:2,5 3919 开放链表第11个节点为: 1,5 F值为:116 --->父节点为:2,5 3920 开放链表第12个节点为: 9,4 F值为:128 --->父节点为:8,5 3921 开放链表第13个节点为: 9,5 F值为:116 --->父节点为:8,5 3922 开放链表第14个节点为: 3,0 F值为:129 --->父节点为:4,1 3923 开放链表第15个节点为: 7,0 F值为:129 --->父节点为:6,1 3924 开放链表第16个节点为: 1,3 F值为:132 --->父节点为:2,4 3925 开放链表第17个节点为: 9,3 F值为:132 --->父节点为:8,4 3926 开放链表第18个节点为: 2,1 F值为:136 --->父节点为:3,2 3927 开放链表第19个节点为: 8,1 F值为:136 --->父节点为:7,2 3928 开放链表第20个节点为: 0,5 F值为:140 --->父节点为:1,6 3929 开放链表第21个节点为: 0,6 F值为:130 --->父节点为:1,6 3930 开放链表第22个节点为: 0,7 F值为:128 --->父节点为:1,6 3931 开放链表第23个节点为: 1,7 F值为:116 --->父节点为:1,6 3932 开放链表第24个节点为: 1,8 F值为:128 --->父节点为:2,7 3933 开放链表第25个节点为: 2,8 F值为:116 --->父节点为:2,7 3934 开放链表第26个节点为: 3,7 F值为:116 --->父节点为:2,7 3935 开放链表第27个节点为: 2,9 F值为:129 --->父节点为:3,8 3936 开放链表第28个节点为: 3,9 F值为:116 --->父节点为:3,8 3937 开放链表第29个节点为: 4,7 F值为:129 --->父节点为:3,8 3938 开放链表第30个节点为: 4,8 F值为:116 --->父节点为:3,8 3939 开放链表第31个节点为: 4,9 F值为:112 --->父节点为:3,8 3940 =================================== 3941 从开放列表中取最小 F 的节点为:4.9 3942 ================================================= 3943 开放链表移除、关闭链表增加节点为: 4,9 F值为:112 3944 ======================================================= 3945 关闭链表第1个节点为: 5,2 F值为:0 3946 关闭链表第2个节点为: 5,3 F值为:80 --->父节点为:5,2 3947 关闭链表第3个节点为: 5,4 F值为:80 --->父节点为:5,3 3948 关闭链表第4个节点为: 5,5 F值为:80 --->父节点为:5,4 3949 关闭链表第5个节点为: 4,3 F值为:84 --->父节点为:5,2 3950 关闭链表第6个节点为: 6,3 F值为:84 --->父节点为:5,2 3951 关闭链表第7个节点为: 4,4 F值为:84 --->父节点为:5,3 3952 关闭链表第8个节点为: 6,4 F值为:84 --->父节点为:5,3 3953 关闭链表第9个节点为: 4,5 F值为:84 --->父节点为:5,4 3954 关闭链表第10个节点为: 6,5 F值为:84 --->父节点为:5,4 3955 关闭链表第11个节点为: 4,2 F值为:90 --->父节点为:5,2 3956 关闭链表第12个节点为: 6,2 F值为:90 --->父节点为:5,2 3957 关闭链表第13个节点为: 3,4 F值为:91 --->父节点为:4,3 3958 关闭链表第14个节点为: 7,4 F值为:91 --->父节点为:6,3 3959 关闭链表第15个节点为: 3,5 F值为:91 --->父节点为:4,4 3960 关闭链表第16个节点为: 7,5 F值为:91 --->父节点为:6,4 3961 关闭链表第17个节点为: 3,3 F值为:96 --->父节点为:4,3 3962 关闭链表第18个节点为: 7,3 F值为:96 --->父节点为:6,3 3963 关闭链表第19个节点为: 5,1 F值为:100 --->父节点为:5,2 3964 关闭链表第20个节点为: 2,5 F值为:100 --->父节点为:3,4 3965 关闭链表第21个节点为: 8,5 F值为:100 --->父节点为:7,4 3966 关闭链表第22个节点为: 4,1 F值为:104 --->父节点为:5,2 3967 关闭链表第23个节点为: 6,1 F值为:104 --->父节点为:5,2 3968 关闭链表第24个节点为: 2,4 F值为:105 --->父节点为:3,4 3969 关闭链表第25个节点为: 8,4 F值为:105 --->父节点为:7,4 3970 关闭链表第26个节点为: 3,2 F值为:110 --->父节点为:4,3 3971 关闭链表第27个节点为: 7,2 F值为:110 --->父节点为:6,3 3972 关闭链表第28个节点为: 1,6 F值为:112 --->父节点为:2,5 3973 关闭链表第29个节点为: 2,7 F值为:112 --->父节点为:1,6 3974 关闭链表第30个节点为: 3,8 F值为:112 --->父节点为:2,7 3975 关闭链表第31个节点为: 4,9 F值为:112 --->父节点为:3,8 3976 =========================================================== 3977 3978 3979 判断周围坐标点: 3,8 3980 >>3,8不可用于下步判断<< 3981 判断周围坐标点: 3,9 3982 判断周围坐标点: 3,10 3983 判断周围坐标点: 4,8 3984 判断周围坐标点: 4,9 3985 >>4,9不可用于下步判断<< 3986 判断周围坐标点: 4,10 3987 判断周围坐标点: 5,8 3988 判断周围坐标点: 5,9 3989 判断周围坐标点: 5,10 3990 minNodeF周围点收集判断完毕 3991 >>3,9 在开放链表 跳过<< 3992 ----------------------------G值计算开始---------------------------- 3993 检测坐标:3,10 3994 检测坐标->x:3 3995 minNodeF->x:4 3996 检测坐标->x - minNodeF->x == 1 3997 ---------------------------------- 3998 检测坐标->y:10 3999 minNodeF->y:9 4000 检测坐标->y - minNodeF->y == 1 4001 ---------------------------------- 4002 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 4003 检测坐标:3.10 -->G值 == 112 4004 ============================G值计算完毕============================ 4005 4006 检测坐标:3.10 4007 终点->x:5 4008 检测坐标->x:3 4009 (double)(终点->x - 检测坐标->x) == 2 4010 (double)(终点->x - 检测坐标->x)^2 == 4 4011 ---------------------------------- 4012 终点->y:10 4013 检测坐标->y:10 4014 (double)(终点->y - 检测坐标->y) == 0 4015 (double)(终点->y - 检测坐标->y)^2 == 0 4016 ---------------------------------- 4017 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 4 4018 ---------------------------------- 4019 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 2 4020 ---------------------------------- 4021 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==20 4022 检测坐标:3.10 H值 == 20 4023 ============================H值计算完毕============================ 4024 4025 检测坐标:3.10 F值 == 132 4026 ============================================================================================= 4027 4028 4029 >>4,8 在开放链表 跳过<< 4030 ----------------------------G值计算开始---------------------------- 4031 检测坐标:4,10 4032 检测坐标->x:4 4033 minNodeF->x:4 4034 检测坐标->x - minNodeF->x == 0 4035 ---------------------------------- 4036 检测坐标->y:10 4037 minNodeF->y:9 4038 检测坐标->y - minNodeF->y == 1 4039 ---------------------------------- 4040 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 4041 检测坐标:4.10 -->G值 == 108 4042 ============================G值计算完毕============================ 4043 4044 检测坐标:4.10 4045 终点->x:5 4046 检测坐标->x:4 4047 (double)(终点->x - 检测坐标->x) == 1 4048 (double)(终点->x - 检测坐标->x)^2 == 1 4049 ---------------------------------- 4050 终点->y:10 4051 检测坐标->y:10 4052 (double)(终点->y - 检测坐标->y) == 0 4053 (double)(终点->y - 检测坐标->y)^2 == 0 4054 ---------------------------------- 4055 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 1 4056 ---------------------------------- 4057 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 1 4058 ---------------------------------- 4059 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==10 4060 检测坐标:4.10 H值 == 10 4061 ============================H值计算完毕============================ 4062 4063 检测坐标:4.10 F值 == 118 4064 ============================================================================================= 4065 4066 4067 ----------------------------G值计算开始---------------------------- 4068 检测坐标:5,8 4069 检测坐标->x:5 4070 minNodeF->x:4 4071 检测坐标->x - minNodeF->x == 1 4072 ---------------------------------- 4073 检测坐标->y:8 4074 minNodeF->y:9 4075 检测坐标->y - minNodeF->y == 1 4076 ---------------------------------- 4077 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 4078 检测坐标:5.8 -->G值 == 112 4079 ============================G值计算完毕============================ 4080 4081 检测坐标:5.8 4082 终点->x:5 4083 检测坐标->x:5 4084 (double)(终点->x - 检测坐标->x) == 0 4085 (double)(终点->x - 检测坐标->x)^2 == 0 4086 ---------------------------------- 4087 终点->y:10 4088 检测坐标->y:8 4089 (double)(终点->y - 检测坐标->y) == 2 4090 (double)(终点->y - 检测坐标->y)^2 == 4 4091 ---------------------------------- 4092 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 4 4093 ---------------------------------- 4094 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 2 4095 ---------------------------------- 4096 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==20 4097 检测坐标:5.8 H值 == 20 4098 ============================H值计算完毕============================ 4099 4100 检测坐标:5.8 F值 == 132 4101 ============================================================================================= 4102 4103 4104 ----------------------------G值计算开始---------------------------- 4105 检测坐标:5,9 4106 检测坐标->x:5 4107 minNodeF->x:4 4108 检测坐标->x - minNodeF->x == 1 4109 ---------------------------------- 4110 检测坐标->y:9 4111 minNodeF->y:9 4112 检测坐标->y - minNodeF->y == 0 4113 ---------------------------------- 4114 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 1 4115 检测坐标:5.9 -->G值 == 108 4116 ============================G值计算完毕============================ 4117 4118 检测坐标:5.9 4119 终点->x:5 4120 检测坐标->x:5 4121 (double)(终点->x - 检测坐标->x) == 0 4122 (double)(终点->x - 检测坐标->x)^2 == 0 4123 ---------------------------------- 4124 终点->y:10 4125 检测坐标->y:9 4126 (double)(终点->y - 检测坐标->y) == 1 4127 (double)(终点->y - 检测坐标->y)^2 == 1 4128 ---------------------------------- 4129 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 1 4130 ---------------------------------- 4131 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 1 4132 ---------------------------------- 4133 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==10 4134 检测坐标:5.9 H值 == 10 4135 ============================H值计算完毕============================ 4136 4137 检测坐标:5.9 F值 == 118 4138 ============================================================================================= 4139 4140 4141 ----------------------------G值计算开始---------------------------- 4142 检测坐标:5,10 4143 检测坐标->x:5 4144 minNodeF->x:4 4145 检测坐标->x - minNodeF->x == 1 4146 ---------------------------------- 4147 检测坐标->y:10 4148 minNodeF->y:9 4149 检测坐标->y - minNodeF->y == 1 4150 ---------------------------------- 4151 (abs(检测坐标->x - minNodeF->x) + abs(检测坐标->y - minNodeF->y)) == 2 4152 检测坐标:5.10 -->G值 == 112 4153 ============================G值计算完毕============================ 4154 4155 检测坐标:5.10 4156 终点->x:5 4157 检测坐标->x:5 4158 (double)(终点->x - 检测坐标->x) == 0 4159 (double)(终点->x - 检测坐标->x)^2 == 0 4160 ---------------------------------- 4161 终点->y:10 4162 检测坐标->y:10 4163 (double)(终点->y - 检测坐标->y) == 0 4164 (double)(终点->y - 检测坐标->y)^2 == 0 4165 ---------------------------------- 4166 (double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2 == 0 4167 ---------------------------------- 4168 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2) == 0 4169 ---------------------------------- 4170 sqrt((double)(终点->x - 检测坐标->x)^2 + (double)(终点->y - 检测坐标->y)^2)* kCost1 ==0 4171 检测坐标:5.10 H值 == 0 4172 ============================H值计算完毕============================ 4173 4174 检测坐标:5.10 F值 == 112 4175 ============================================================================================= 4176 4177 4178 开放链表中找到了结束节点: 5,10 --->父节点为:4,9 4179 4180 寻路结果: 4181 (5,2) 4182 (4,3) 4183 (3,4) 4184 (2,5) 4185 (1,6) 4186 (2,7) 4187 (3,8) 4188 (4,9) 4189 (5,10) 4190 请按任意键继续. . .