我需要一个能够使当地倾斜的方程式。 6月22日Max Tilt为23.45,12月22日为-23.45。 我发现这个方程式应该可行,但我无法将其写入javascript。
δ=sin-1(sin(23.45°)sin(360365(d-81)))
d是当天的数字(1-365)。资料来源:http://pveducation.org/pvcdrom/properties-of-sunlight/declination-angle
我的尝试:
Math.pow(Math.sin(Math.sin(23.45) * (Math.sin((360/365) * (356 - 81)))), -1)
给出-1.3140077301935487,而预期为-23.45。
我的转换有什么想法?
答案 0 :(得分:2)
Math.sin
将弧度作为参数。以下是将度数转换为弧度的方法:
radians = degrees * ( Math.Pi / 180 );
答案 1 :(得分:2)
正如其他人所说,Math.sin
takes radians as arguments。因此,您需要更改等式以使用弧度。
另外,Javascript has a method for arcsin:Math.asin
:
根据您的来源中的等式,新结果可能如下所示:
var result = Math.asin(Math.sin(0.40927971) *
Math.sin(0.0172142063 * ( (d - 81) * (Math.Pi/180) )));