我现在正在做一个项目,我需要创建一个函数来找到子弹的 vector 方向。我当前的代码已关闭,我似乎找不到原因。
float AngleX = pMouse->X() - This->DirectionX();
float AngleY = pMouse->Y() - This->DirectionY();
最佳答案
从 (x, y) 偏移中找到角度的最佳函数是 atan2(dy, dx)
,其中 dy
和 dx
是每个方向的 delta 分量。
请注意,结果将以弧度为单位,并且在某些图形系统上,y
轴向下而不是向上!
atan2
的一个特别好的功能是它总是会为您提供 -π .. π
范围内的结果,这是您无法获得的单个 acos
或 asin
操作。所得角度将是给定线相对于正 X 轴的角度,沿逆时针方向。
关于C++ 如何找到窗口中两点之间的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15620830/