//h(n) = D * (abs(n.x-goal.x) + abs(n.y-goal.y))
float h;
- h = fabs(a_x - b_x);
- h += fabs(a_y - b_y);
+ h = fabs(a.x - b.x);
+ h += fabs(a.y - b.y);
h *= pathlib_gridsize;
return h;
//h(n) = D * max(abs(n.x-goal.x), abs(n.y-goal.y))
float h,x,y;
- x = fabs(a_x - b_x);
- y = fabs(a_y - b_y);
+ x = fabs(a.x - b.x);
+ y = fabs(a.y - b.y);
h = pathlib_movecost * max(x,y);
return h;
h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
*/
- x = fabs(a_x - b_x);
- y = fabs(a_y - b_y);
+ x = fabs(a.x - b.x);
+ y = fabs(a.y - b.y);
h_diag = min(x,y);
h_str = x + y;
//h_straight(n) = (abs(n.x-goal.x) + abs(n.y-goal.y))
//h(n) = D2 * h_diagonal(n) + D * (h_straight(n) - 2*h_diagonal(n)))
- x = fabs(point_x - end_x);
- y = fabs(point_y - end_y);
- z = fabs(point_z - end_z);
+ x = fabs(point.x - end.x);
+ y = fabs(point.y - end.y);
+ z = fabs(point.z - end.z);
h_diag = min3(x,y,z);
h_str = x + y + z;
{
float h_diag,h_str,h,x,y,z;
- x = fabs(a_x - b_x);
- y = fabs(a_y - b_y);
- z = fabs(a_z - b_z);
+ x = fabs(a.x - b.x);
+ y = fabs(a.y - b.y);
+ z = fabs(a.z - b.z);
h_diag = min3(x,y,z);
h_str = x + y + z;