Math 矢量之间的角度atan2(y2,x2)-atan2(y1,x1)解释

Math 矢量之间的角度atan2(y2,x2)-atan2(y1,x1)解释,math,vector,graphics,lua,Math,Vector,Graphics,Lua,因此,在玩游戏框架Love2D lua引擎时,我注意到HUMPS向量代码()中的以下公式: 注:此处描述了atan2 :基本上,它是一个安全的atan函数,可以防止被零除和一些其他atan陷阱-据我所知 我一直在画一些两个独立向量的图,试图弄清楚人们是如何得出这样一个公式的。至少对我来说,这个公式的上下文是将图像(image\u pos)旋转到鼠标单击的位置(mouse\u pos) 有人能告诉我这个公式是如何推导出来的吗?正如你在图片中看到的,这是两个向量之间的角度差 atan2(self.

因此,在玩游戏框架Love2D lua引擎时,我注意到HUMPS向量代码()中的以下公式:

注:此处描述了atan2 :基本上,它是一个安全的
atan
函数,可以防止被零除和一些其他
atan
陷阱-据我所知

我一直在画一些两个独立向量的图,试图弄清楚人们是如何得出这样一个公式的。至少对我来说,这个公式的上下文是将图像(
image\u pos
)旋转到鼠标单击的位置(
mouse\u pos


有人能告诉我这个公式是如何推导出来的吗?

正如你在图片中看到的,这是两个向量之间的角度差

atan2(self.y,self.x)=\beta

atan2(其他.y,其他.x)=\alpha

因此:


atan2(self.y,self.x)-atan2(other.y,other.x)=\theta

如图所示,这是两个向量之间的角度差

atan2(self.y,self.x)=\beta

atan2(其他.y,其他.x)=\alpha

因此:


atan2(self.y,self.x)-atan2(other.y,other.x)=\theta

我明白了。谢谢你的解释+图表!我懂了。谢谢你的解释+图表!
return atan2(self.y, self.x) - atan2(other.y, other.x)