我正在开发一个等距游戏,我必须计算一个项目是否在另一个项目的范围内,所以在正常投影中,圆圈就可以了,我的意思是:
float dist = sqrt((x1-x2)^2 + (y1-y2)^2);
但由于这是一个等距投影,其中“x”单位是“y”单位的两倍,我怎么能计算一个项目的范围?
任何提示都会有所帮助
答案 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距离减半的情况不同。
我希望这会有所帮助。