从两点公式中找出角度

时间:2015-06-12 03:08:39

标签: formula angle points

我对计算两点p1(x1,y1), p2(x2,y2)之间的角度的公式有疑问。

我使用这个公式:

angle = arctan(y2-y1/x2-x1)

您能解释一下,为什么必须减去y2,y1x2,x1

由于

2 个答案:

答案 0 :(得分:1)

tan,sin和cos实际上是测量三边物体(即三角形)的两个边缘之间的比率。

因此,在您的情况下,要形成该三角形,您将需要两条边的长度。它们是y1和y2之间的长度,以及x1和x2。

这就是你从y2中扣除y1而从x2中扣除x1的原因。

事实上,你必须确保标志也是正确的,否则你会得到一个不同的角度作为答案。

答案 1 :(得分:0)

根据维基百科关于反三角函数(包括反正切函数)的文章,它们'用来从任何角度的三角比获得角度',即y分量与矢量的x分量相比较看着。你的向量从(x1, y1)开始,所以从第二点减去那些分量有效地将向量置于(0, 0),然后将y分量除以x分量将得到三角比(在这种情况下也称为梯度) )可以通过arctan函数传递以获得角度。

在实现说明中,您将需要使用arctan2函数来防止在垂直线的情况下出现被零除错误。垂直线具有无限梯度,计算机无法处理。 arctan2函数将分别接受x和y组件,并逐步解决问题。例如,请参阅JavaPython的文档。