Math 六边形网格上距离的计算
我试图确定在六边形网格上从一个节点到另一个节点所需的步骤数(实现中的启发式成本)。我使用的当前方法适用于常规矩阵,但它会为我的六边形网格生成错误的结果 我目前的方法是:Math 六边形网格上距离的计算,math,graph,Math,Graph,我试图确定在六边形网格上从一个节点到另一个节点所需的步骤数(实现中的启发式成本)。我使用的当前方法适用于常规矩阵,但它会为我的六边形网格生成错误的结果 我目前的方法是: private void calculateHeuristicCost(Node node, Node endNode) { if(node != null) { node.setHeuristicCost(Math.abs(node.getX() - endNode.getX()) +
private void calculateHeuristicCost(Node node, Node endNode) {
if(node != null) {
node.setHeuristicCost(Math.abs(node.getX() - endNode.getX()) + Math.abs(node.getY() - endNode.getY()));
}
}
预期:
Distance from 'T':
[ 5][ 4][ 4][ 4][ 4]
[ 5][ 4][ 3][ 3][ 3]
[ 4][ 3][ 2][ 2][ 2]
[ 4][ 3][ 2][ 1][ 1]
[ 3][ 2][ 1][ T][ 1]
实际:
Distance from 'T':
[ 7][ 6][ 5][ 4][ 5]
[ 6][ 5][ 4][ 3][ 4]
[ 5][ 4][ 3][ 2][ 3]
[ 4][ 3][ 2][ 1][ 2]
[ 3][ 2][ 1][ T][ 1]
你能帮我找到计算两个节点之间距离的正确公式吗