三角学 - 这个计算有什么作用?

时间:2013-10-09 05:52:45

标签: math trigonometry

我在一些与图形相关的代码中遇到了以下数学:

// get the angle between 2 points
double d = Math.atan2(x1 - x2, y1 - y2);

// wtf?
d = (8 * (d + PI + 0.25^2 * PI)) / PI;

任何有数学直觉的人都可以帮助解释这在“实际”术语中的作用吗?

1 个答案:

答案 0 :(得分:1)

第一行符合它的说法。 d是从原点看到的两点之间的角度。

第二行取决于^运算符的含义(未指定语言)。假设^意味着力量,我得到(希望我做得正确,请自己检查):

d = (8 * (d + PI + 0.25^2 * PI)) / PI;
d = (8 * (d + PI*17/16))/PI
d = (8*d + 8*PI*17/16)/PI
d = (8*d + PI*17/2)/PI
d = 8*d/PI + 17/2

我猜PI通常是3.141...},它看起来像是从辐射到其他形式的转换(其中16是一个整圆或360°)。然后增加17/2将转换为“向角度增加191,25°”(略高于相反方向)。

我不知道为什么有人会这样做,也不知道为什么他没有将表达式转换为简单形式(除非优化器做得非常好,否则btw应该更快地评估)。

相关问题