万年历 - java算法实现(2)
// 算出:jd转到当地UTC后,UTC日数的整数部分或小数部分
// 基于J2000力学时jd的起算点是12:00:00时,所以跳日时刻发生在12:00:00,这与日历计算发生矛盾
// 把jd改正为00:00:00起算,这样儒略日的跳日动作就与日期的跳日同步 // 改正方法为jd=jd+0.5-deltatT+shiqu/24 // 把儒略日的起点移动-0.5(即前移12小时)
// 式中shiqu是时区,北京的起算点是-8小时,shiqu取8 public double Dint_dec(double jd, int shiqu, boolean dec) { double u = jd + 0.5 - this.deltatT2(jd) + shiqu / 24; if (dec)
return Math.floor(u); // 返回整数部分 else
return u - Math.floor(u); // 返回小数部分 }
// 计算两个日期的相差的天数,输入字串格式日期,如:\ double d1_d2(String d1, String d2) {
double Y = this.Y, M = this.M, D = this.D, h = this.h, m = this.m, s = this.s; // 备份原来的数据
this.setFromStr(d1.substring(0, 8) + \ double jd1 = this.toJD(false);
this.setFromStr(d2.substring(0, 8) + \ double jd2 = this.toJD(false); this.Y = Y; this.M = M; this.D = D; this.h = h; this.m = m; this.s = s; // 还原 if (jd1 > jd2)
return Math.floor(jd1 - jd2 + .0001); else
return -Math.floor(jd2 - jd1 + .0001); }
// 返回黄赤交角(常规精度),短期精度很高 public static double hcjj1(double t) {
double t1 = t / 36525; double t2 = t1 * t1; double t3 = t2 * t1;
return (hcjjB[0] + hcjjB[1] * t1 + hcjjB[2] * t2 + hcjjB[3] * t3) / rad; }
// 黄赤转换(黄赤坐标旋转)
public static void HCconv(double[] JW, double E) { // 黄道赤道坐标变换,赤到黄E取负
double HJ = rad2mrad(JW[0]), HW = JW[1]; double sinE = Math.sin(E), cosE = Math.cos(E);
double sinW = cosE * Math.sin(HW) + sinE * Math.cos(HW) * Math.sin(HJ); double J = Math.atan2(Math.sin(HJ) * cosE - Math.tan(HW) * sinE, Math .cos(HJ));
JW[0] = rad2mrad(J); JW[1] = Math.asin(sinW); } // 补岁差
public static void addPrece(double jd, double[] zb) { int i;
double t = 1, v = 0, t1 = jd / 365250; for (i = 1; i < 8; i++) { t *= t1;
v += preceB[i] * t; }
zb[0] = rad2mrad(zb[0] + (v + 2.9965 * t1) / rad); }
// ===============光行差==================
private static final double GXC_e[] = { 0.016708634, -0.000042037, -0.0000001267 }; // 离心率
private static final double GXC_p[] = { 102.93735 / RAD, 1.71946 / RAD, 0.00046 / RAD }; // 近点
private static final double GXC_l[] = { 280.4664567 / RAD,
36000.76982779 / RAD, 0.0003032028 / RAD, 1 / 49931000 / RAD, -1 / 153000000 / RAD }; // 太平黄经
private static final double GXC_k = 20.49552 / rad; // 光行差常数
// 恒星周年光行差计算(黄道坐标中)
public static void addGxc(double t, double[] zb) { double t1 = t / 36525; double t2 = t1 * t1; double t3 = t2 * t1; double t4 = t3 * t1;
double L = GXC_l[0] + GXC_l[1] * t1 + GXC_l[2] * t2 + GXC_l[3] * t3 + GXC_l[4] * t4;
double p = GXC_p[0] + GXC_p[1] * t1 + GXC_p[2] * t2; double e = GXC_e[0] + GXC_e[1] * t1 + GXC_e[2] * t2; double dL = L - zb[0], dP = p - zb[0];
zb[0] -= GXC_k * (Math.cos(dL) - e * Math.cos(dP)) / Math.cos(zb[1]); zb[1] -= GXC_k * Math.sin(zb[1]) * (Math.sin(dL) - e * Math.sin(dP)); zb[0] = rad2mrad(zb[0]); }
// ===============章动计算================== private static final double nutB[] = {// 章动表
2.1824391966, -33.757045954, 0.0000362262, 3.7340E-08, -2.8793E-10, -171996, -1742, 92025, 89, 3.5069406862, 1256.663930738, 0.0000105845, 6.9813E-10, -2.2815E-10, -13187, -16, 5736, -31, 1.3375032491, 16799.418221925, -0.0000511866, 6.4626E-08, -5.3543E-10, -2274, -2, 977, -5, 4.3648783932, -67.514091907, 0.0000724525, 7.4681E-08, -5.7586E-10, 2062, 2, -895, 5,
0.0431251803, -628.301955171, 0.0000026820, 6.5935E-10, 5.5705E-11, -1426, 34, 54, -1, 2.3555557435, 8328.691425719, 0.0001545547, 2.5033E-07, -1.1863E-09, 712, 1, -7, 0, 3.4638155059,
1884.965885909, 0.0000079025, 3.8785E-11, -2.8386E-10, -517, 12, 224, -6, 5.4382493597, 16833.175267879, -0.0000874129, 2.7285E-08, -2.4750E-10, -386, -4, 200, 0, 3.6930589926, 25128.109647645, 0.0001033681, 3.1496E-07, -1.7218E-09, -301, 0, 129, -1, …… 此处隐藏:1633字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [实用模板]第八章:法国“新浪潮”与“左岸派”
- [实用模板]2021年北京上半年临床医学检验技师生物
- [实用模板]SAP GUI 7.10客户端安装配置文档
- [实用模板]2001年临床执业医师资格考试综合笔试试
- [实用模板]36机场工作实用英语词汇总结
- [实用模板](一)社会保险稽核通知书
- [实用模板]安全教育主题班会材料
- [实用模板]濉溪县春季呼吸道传染病防控应急演练方
- [实用模板]长沙房地产市场周报(1.30-2.3)
- [实用模板]六年级数学上册典中点 - 图文
- [实用模板]C程序设计(红皮书)习题官方参考答案
- [实用模板]中国证监会第一届创业板发行审核委员会
- [实用模板]桥梁工程复习题
- [实用模板]2011学而思数学及答案
- [实用模板]初中病句修改专项练习
- [实用模板]监理学习知识1 - 图文
- [实用模板]小机灵杯四年级试题
- [实用模板]国贸专业毕业论文模板
- [实用模板]教育学概论考试练习题-判断题4
- [实用模板]2015届高考英语一轮复习精品资料(译林
- 00Nkmhe_市场营销学工商管理_电子商务_
- 事业单位考试法律常识
- 诚信教育实施方案
- 吉大小天鹅食品安全检测箱方案(高中低
- 房地产销售培训资料
- 高一地理必修1复习提纲
- 新概念英语第二册lesson_1_练习题
- 证券公司内部培训资料
- 小学英语时间介词专项练习
- 新世纪英语专业综合教程(第二版)第1册U
- 【新课标】浙教版最新2018年八年级数学
- 工程建设管理纲要
- 外研版 必修一Module 4 A Social Surve
- Adobe认证考试 AE复习资料
- 基于H.264AVC与AVS标准的帧内预测技术
- 《食品检验机构资质认定管理办法》(质
- ABB变频器培训课件
- (完整版)小学说明文阅读练习题及答案
- 深思洛克(SenseLock) 深思IV,深思4,深
- 弟子规全文带拼音




