如何计算等轴测图上两点之间的实际距离?

时间:2014-02-19 20:45:02

标签: iphone objective-c math cocos2d-iphone isometric

我正在开发一个等距游戏,我必须计算一个项目是否在另一个项目的范围内,所以在正常投影中,圆圈就可以了,我的意思是:

 float dist = sqrt((x1-x2)^2 + (y1-y2)^2);

但由于这是一个等距投影,其中“x”单位是“y”单位的两倍,我怎么能计算一个项目的范围?

任何提示都会有所帮助

2 个答案:

答案 0 :(得分:2)

我不确定我是否理解哪个单位比另一个单位大,哪个参考系统,但以下表达式之一应该有效:

float dist = sqrt(((x1-x2)/2)^2 + (y1-y2)^2);

float dist = sqrt((x1-x2)^2 + ((y1-y2)/2)^2);

答案 1 :(得分:2)

这是正确的公式:

  

float dist = sqrt((x2-x1) + (2*(y2-y1))^2);

y轴是等长线中x的一半。

因此,在投影中行进的距离是投影的两倍,但请注意,这与将x距离减半的情况不同。

我希望这会有所帮助。