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

本文关键字:定理 毕达哥拉斯 计算 | 更新日期: 2023-09-27 18:13:13

我要完成作业了。但是我一直在绞尽脑汁地想它的一个问题,却解决不了。

我应该计算角度和两个点之间的距离,四舍五入到小数点后3位。一切正常,但它的角度是错误的

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

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

有谁知道它有什么问题吗?

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

不能计算两点之间的夹角。但是对于"角度我们必须把移进去以从点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