我完成了一项任务。但是我一直在用它来克服一个问题并且无法解决问题。
我应该计算角度和2点之间的距离,四舍五入到小数点后3位。一切都很好,但它推出的角度是错误的
double angleInRadians = Math.Atan2(point2X, point1X) - Math.Atan2(point2Y, point1Y);
这应该是正确的吗?但它应该说45度,它只是说0。我已经检查了,将其转换为度数的计算是正确的,它正在以弧度为单位获得正在播放的角度
有谁知道它有什么问题?
答案 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