返回
计算向量之间的距离方式
数学距离计算游戏欧几里得空间

前言

由于游戏经常使用,在此记录下来。日后有新的算法便补充。

距离公式

欧几里得距离

欧氏距离 是最易于理解的一种距离算法。在数学的平面直角坐标系中,设点A坐标为$A(x_{1}, y_{1})$,点B坐标为$B(x_{2}, y_{2})$。求A和B之间的距离公式如下:

d(A,B)=|x2x1|+|y2y1|

三维中公式如下:

d(A,B)=|x2x1|+|y2y1|+|z2z1|

曼哈顿距离

在二维空间内,两个点之间的曼哈顿距离为它们横坐标之差的绝对值与纵坐标之差的绝对值之和。设A点为$A(x_{1},y_{1})$,点B为$B(x_{2},y_{2})$。求A和B之间的距离公式如下:

d(A,B)=|x2x1|+|y2y1|

三维中公式如下:

d(A,B)=|x2x1|+|y2y1|+|z2z1|

切比雪夫距离

在二维空间内,两个点之间的切比雪夫距离为它们横坐标之差的绝对值与纵坐标之差的绝对值的最大值。设A点为$A(x_{1},y_{1})$,点B为$B(x_{2},y_{2})$。求A和B之间的距离公式如下:

d(A,B)=max(|x2x1|,|y2y1|)

三维中公式如下:

d(A,B)=max(|x2x1|,|y2y1|,|z2z1|)

感悟

简单可以使用曼哈顿距离,好点就欧几里得距离,两个相比欧几里得距离性能消耗更高。切比雪夫距离没用过。