【发布时间】:2016-10-16 19:41:28
【问题描述】:
我正在完成一项任务。但是我一直在努力解决它的一个问题并且无法解决。
我应该计算 2 点之间的角度和距离,四舍五入到小数点后 3 位。一切都很好,但它发出的角度是错误的
double angleInRadians = Math.Atan2(point2X, point1X) - Math.Atan2(point2Y, point1Y);
这应该是正确的吧?但是当它应该说 45 度时,它只是一直说 0。我已经检查过,将其转换为度数的计算是正确的,它以弧度为单位获得了正在播放的角度
有谁知道它有什么问题吗?
【问题讨论】:
-
嗯,你可以计算两个点之间的距离,而不是角度。你有vectors,而不仅仅是points?
-
我不确定你的意思。增量和向量是一回事吗? Atan2不计算向量(delta)吗?
-
作业笔记说“计算从点 1 到点 2 必须移动的角度(0 度直接向右)”
-
您提供的信息不足以计算角度,仅在两点之间。如果您有要参考的坐标系但您没有提及任何有关坐标系的内容,则可以使用它(也可以在两点和坐标系的轴之间)。
-
double angle = Math.Atan2(point2Y - point1Y, point2X - point1X) / Math.PI * 180.0;