使用毕达哥拉斯计算角度'定理

时间:2016-10-16 19:41:29

标签: c# math angle

我完成了一项任务。但是我一直在用它来克服一个问题并且无法解决问题。

我应该计算角度和2点之间的距离,四舍五入到小数点后3位。一切都很好,但它推出的角度是错误的

double angleInRadians = Math.Atan2(point2X, point1X) - Math.Atan2(point2Y, point1Y);

这应该是正确的吗?但它应该说45度,它只是说0。我已经检查了,将其转换为度数的计算是正确的,它正在以弧度为单位获得正在播放的角度

有谁知道它有什么问题?

1 个答案:

答案 0 :(得分:1)

无法计算两点之间的角度。但是在" 角度的情况下,我们必须移动进入从第1点到第2点"它的

double angle = Math.Atan2(point2Y - point1Y, point2X - point1X) / Math.PI * 180.0;

计算此角度是Atan2的设计目标。一些测试:

(1, 0), (0, 1) -> 135
(1, 0), (5, 0) ->   0
(5, 0), (1, 0) -> 180
(0, 1), (1, 0) -> -45