计算3D中的总偏移量

时间:2014-12-11 14:38:12

标签: math lua offset

好的,这可能比找到解决方案更难解释。我正在研究将元素附加到另一个元素的系统,但我正在为它寻找一个非RAM查杀解决方案。我正在使用Lua 5.0,而且我无法包含/要求任何其他库。但如果我知道正确的计算方法,我自己编写代码就可以了。

我有一辆车,垃圾箱(是的,那些怪异的灰色/蓝色东西是垃圾箱......怪Rockstar的GTA圣安德烈斯的图形。)附在车上指示了边界框(更容易要说;这表明车辆有多大。模型是在那些垃圾箱里面创建的,物体就在那里。)。我希望人们能够点击已经工作的车辆行李箱上的某个地方,但我不确定如何计算从中心到用户点击的位置的偏移量(中心是脚蹬的位置) 。)

那么我们说这些坐标(可能有用吗?):

  • 左上:2753.8962,-2399.3669
  • 右上:2757.0393,-2399.3669
  • 左下:2753.8962,-2409.8771
  • 右下:2757.0393,-2409.8771
  • center:2755.4746,-2403.3447

偏移量如下(从中心偏移到......):

  • 左上:-1.578533411026,3.9779634475708
  • 右上:1.5644228458405,3.9779634475708
  • 左下:-1.578533411026,-6.5323362350464
  • 右下:1.5644228458405,-6.5323362350464
  • 中心:0,0(当然。)

让我们说,玩家点击左上角或右上角。我如何计算从中心到玩家点击的位置的总距离。我一直试图让这些职位成为绝对的位置,但我没有看到任何进展,我现在有点丢失。

编辑:此外,当我希望它低于零点时,它必须将数字转换为负数。

The image

1 个答案:

答案 0 :(得分:1)

你可以使用毕达哥拉斯定理找到两点之间的距离:

distance = sqrt((clicked_x-center_x)^2 + (clicked_y-center_y)^2)

你可以使用减法找到一个点的X和Y偏移。

x_offset = clicked_x - center_x
y_offset = clicked_y - center_y