3

在 Windows 7 上,查看文件

c:\windows\winsxs...\weather.js

有一个功能computeSunRiseSunSet(Latitude, Longitude, TimeZone, Year, Month, Day)

他们没有引用算法的来源。

一行代码是

var C2=RD*(Math.atan(Math.tan(L0+C)) - Math.atan(.9175*Math.tan(L0+C))-C);

为什么会有 Math.atan( Math.tan( L0+C )) ?

它与 (L0+C) 相同还是有极端情况?

4

1 回答 1

8

atan(tan(x)) is a periodic "sawtooth" function:

for -pi/2 < x < pi/2,   atan(tan(x)) = x
for  pi/2 < x < 3pi/2,  atan(tan(x)) = x - pi
for 3pi/2 < x < 5pi/2,  atan(tan(x)) = x - 2pi
...

You can plot it and see other details about it on Wolfram Alpha.

于 2013-09-12T08:52:26.160 回答