用XYZ +旋转和我的敌人XYZ +旋转计算角度[线性代数]

时间:2016-04-14 20:47:01

标签: c++ linear-algebra

Tally-ho chaps,

这个问题认为线性代数的艺术在数学中占有一席之地我无法解决这个问题。所以我希望你们能帮助我:D。

我正在尝试为一款名为mount和blade的游戏创建单人游戏作弊作弊。这个自动上尉的目标是始终使用数学的力量成功地踢球员。由于互联网的帮助,我设法获得了很多东西(aimbot,esp,...)但现在我有点卡住,因为我不知道足够的线性代数来获得角度等等。这些都是事物我有

  • 我的XYZ(球员位置)

  • 旋转从坐标(0,0)弧度开始转换为度数(-180; 180)

  • Enemy XYZ和旋转

如果距离小于,则玩家可以成功踢出其他玩家 1个浮动,玩家在另一个玩家面前。因此,为什么我需要计算我正在寻找的方向与敌人他的XYZ之间的角度。我会画一些I want to achieve.

enter image description here http://i.stack.imgur.com/0SVfW.png

These are the values displayed in game首先是计算距离,接下来是敌人的旋转,最后是我的轮换。我认为轮换是在0,0点

完成的

任何帮助都会受到赞赏并获得大奖:D!

TextBox

1 个答案:

答案 0 :(得分:3)

将点积视为捕捉两个向量的“相似性”。两个完全平行的矢量具有等于其大小的乘积的点积,在相同方向上“略微”指向的矢量具有正点积,精确垂直矢量没有共同的分量并且具有0的点积,矢量点相反方向的“有些”具有负点积,两个完全反平行的向量的点积等于其大小的负积。

要查看一个玩家是否在另一个玩家面前,创建一个指向第一个玩家正在看的方向的向量,另一个向量指向第一个玩家到第二个玩家。如果他们的点积为正,则第二个玩家在第一个玩家面前。也就是说,第一个玩家正在看的方向上的向量类似于从第一个玩家到第二个玩家的向量。

无需明确计算角度。