我有一条线(x1,y1)和(x2,y2)。我想使用tan inverse来查找该行的角度,我将如何在java中执行此操作?
我想知道线相对于x1,y1
的角度答案 0 :(得分:25)
你需要
Math.toDegrees(Math.atan((Y2-Y1)/(X2-X1)))
当x1 = x2时,请注意异常。
答案 1 :(得分:23)
使用Math.atan2
功能。它就像arctan但是知道x和y坐标,所以它可以处理水平,垂直或指向其他方向的线 - arctan的-pi / 2到pi / 2的范围不会给出某些线的正确答案
答案 2 :(得分:17)
atan2函数有助于解决此问题,同时避免边界条件,例如除以零。
Math.atan2(y2-y1, x2-x1)
答案 3 :(得分:3)
这篇文章Angle between 2 points有一个使用atan()的例子。