寿星万年历V5.10(单文件版):https://pan.baidu.com/s/1ZbJ_Ta1ysvigKcnagJKV9Q 提取码:sg5y
在网上找到的510版,修改了日食的 直线到太阳中心的最小值 的计算方法。
(2018.11.25原)509:
this.sun_s = sunShengJ(jd-dt_T(jd)+L/pi2,L,fa,-1) +dt_T(jd); //日出,统一用力学时
this.sun_j = sunShengJ(jd-dt_T(jd)+L/pi2,L,fa, 1) +dt_T(jd); //日没,统一用力学时
//求直线到太阳中心的最小值
var x=G.x+dt2*v, y=G.y+dt2*u, rmin=Math.sqrt(x*x+y*y);
对以上这四行进行了修改。
(2020.02.15修订后)510:
//求直线到太阳中心的最小值
var maxsf = 0,
maxjd = jd,
rmin, ls;
for (i = -30; i < 30; i += 6) {
tt = jd + i / 86400;
this.secXY(tt, L, fa, high, g);
ls = (g.mr + g.sr - Math.sqrt(g.x * g.x + g.y * g.y)) / g.sr / 2;
if (ls > maxsf) maxsf = ls, maxjd = tt;
}
jd = maxjd;
for (i = -5; i < 5; i += 1) {
tt = jd + i / 86400;
this.secXY(tt, L, fa, high, g);
ls = (g.mr + g.sr - Math.sqrt(g.x * g.x + g.y * g.y)) / g.sr / 2;
if (ls > maxsf) maxsf = ls, maxjd = tt;
}
jd = maxjd;
this.secXY(jd, L, fa, high, G);
rmin = Math.sqrt(G.x * G.x + G.y * G.y);
this.sun_s = sunShengJ(jd-dt_T(jd)+L/pi2,L,fa,-1) +dt_T(jd); //日出,统一用力学时
this.sun_j = sunShengJ(jd-dt_T(jd)+L/pi2,L,fa, 1) +dt_T(jd); //日没,统一用力学时