C++ 如何找到窗口中两点之间的 vector ?

标签 c++ math

我现在正在做一个项目,我需要创建一个函数来找到子弹的 vector 方向。我当前的代码已关闭,我似乎找不到原因。

float AngleX = pMouse->X() - This->DirectionX();
float AngleY = pMouse->Y() - This->DirectionY();

最佳答案

从 (x, y) 偏移中找到角度的最佳函数是 atan2(dy, dx),其中 dydx 是每个方向的 delta 分量。

请注意,结果将以弧度为单位,并且在某些图形系统上,y 轴向下而不是向上!

atan2 的一个特别好的功能是它总是会为您提供 -π .. π 范围内的结果,这是您无法获得的单个 acosasin 操作。所得角度将是给定线相对于正 X 轴的角度,沿逆时针方向。

关于C++ 如何找到窗口中两点之间的 vector ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15620830/

相关文章:

math - 如何通过绘制方程的实部和虚部来确定方程的根

javascript - 使用 JS 考虑旋转调整多个对象的大小

c++ - 这段代码如何正确?

c# - 全局钩子(Hook) DLL 仅在 C# 主窗口处于事件/前景时调用 C# 回调方法

algorithm - 人工地平线的正确翻译

c - remquo : argument reduction?

Java 帮助 25% 的时间

c++ - 是否可以创建可调整大小的 QMenu

c++ - CRTP 在父的析构函数中调用子函数

c++ - 应用程序无法使用 CreateWindowStation 创建 Windows 站