我一直在按照这篇指南进行操作,将其转换为JavaScript代码:http://www.saao.ac.za/public-info/sun-moon-stars/sun-index/how-to-calculate-altaz/。在第9步(赤经)和第10步(赤纬)时,我无法复现他们给出的答案。在(a)开普敦找到太阳的赤经alpha:
lambda = 326.186
epsilon = 23.4396
alpha = arctan (tan(lambda) x cos(epsilon)) // in same quadrant as lambda
// THEIR RESULT
alpha = 328.428
// MY RESULT
var DEGREES = function (val) {
return val / (Math.PI / 180);
};
var alpha = Math.atan(Math.tan(lambda) * Math.sin(epsilon));
alpha = 0.495;
alpha = DEGREES(0.495) = 28.39;
我也尝试了以下方法:
var alpha = Math.atan2(Math.tan(lambda) * Math.sin(epsilon), lambda);
alpha = DEGREES(result) = 1.321;
差得远呢!
还有第10条(a),即偏角。
delta = arcsin (sin(lambda) x sin(epsilon))
// THEIR RESULT
(a) delta = -12.789
// MY RESULT
var result = Math.asin(Math.sin(eclipticLong) * Math.sin(obliq));
result = DEGREES(result);
result = -10.966;
如您所见,我现在有些不知所措,并没有很清楚这方面的知识。非常感谢您提供帮助。