我有一个集合数据,它是节点 - 节点相关成本的集合。该成本表示为以英尺为单位的距离。
我还为每个节点都有一个x-y坐标。现在在A *算法中,我需要从节点到节点添加成本+从中间节点到目的地的启发式成本。但是,这两个值需要具有相同的度量/单位。我不能有一个在脚,另一个在坐标距离。
我知道为了做到这一点,我首先需要找到一个缩放因子,以便将成本从英尺缩放到x-y坐标距离。对?我只能说所有这些成本都是可扩展的。所以这个beta值对于所有节点节点都是一样的。问题是如何找到这个值?
我现在所做的是找到节点 - 节点之间的坐标距离,然后从那里找到与以英尺为单位的成本进行比较。因此我可以找到一个测试版,它是一个常量,应该适用于每个节点 - 节点成本(英尺)......我不确定这是否属实。我不是在寻找一个神奇的技巧,只是一个简单的方法/数学来解决这个问题
答案 0 :(得分:0)
通常我们知道网格正在以某种比例因子对物理世界进行建模。你还不知道吗?
无论如何,我认为你的直觉是正确的。也就是说,计算两点之间的坐标距离,你知道以英尺为单位的实际成本,将它们除以另一个,这就是你的比例因子。当然,假设“成本”是两个节点之间的直线距离。
也就是说,如果node1和node2之间的距离是3英尺,节点的坐标分别是[0,0]
和[0,9]
,那么“比例因子”是3/9。 ..或9/3,具体取决于您希望进行转换的方式。
在这种情况下,坐标距离中的一个单位是1/3英尺。或者一只脚是坐标距离的3个单位。所以从坐标到脚,你除以3.从脚到坐标,你乘以3。