教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 实用模板 >

万年历 - java算法实现(3)

来源:网络收集 时间:2026-08-28
导读: 3.5500658664, 628.361975567, 0.0000132664, 1.3575E-09, -1.7245E-10, 217, -5, -95, 3 }; public static class ZD { public double Lon; public double Obl; } // 计算黄经章动及交角章动 public static ZD nuta

3.5500658664, 628.361975567, 0.0000132664, 1.3575E-09, -1.7245E-10, 217, -5, -95, 3 }; public static class ZD { public double Lon;

public double Obl; }

// 计算黄经章动及交角章动 public static ZD nutation(double t) { ZD d = new ZD(); d.Lon = 0; d.Obl = 0; t /= 36525;

double c, t1 = t, t2 = t1 * t1, t3 = t2 * t1, t4 = t3 * t1;// t5=t4*t1; for (int i = 0; i < nutB.length; i += 9) {

c = nutB[i] + nutB[i + 1] * t1 + nutB[i + 2] * t2 + nutB[i + 3] * t3 + nutB[i + 4] * t4;

d.Lon += (nutB[i + 5] + nutB[i + 6] * t / 10) * Math.sin(c); // 黄经章动 d.Obl += (nutB[i + 7] + nutB[i + 8] * t / 10) * Math.cos(c); // 交角章动 }

d.Lon /= rad * 10000; // 黄经章动 d.Obl /= rad * 10000; // 交角章动 return d; }

// 本函数计算赤经章动及赤纬章动

public static void nutationRaDec(double t, double[] zb) { double Ra = zb[0], Dec = zb[1];

double E = hcjj1(t), sinE = Math.sin(E), cosE = Math.cos(E); // 计算黄赤交角 ZD d = nutation(t); // 计算黄经章动及交角章动 double cosRa = Math.cos(Ra), sinRa = Math.sin(Ra); double tanDec = Math.tan(Dec);

zb[0] += (cosE + sinE * sinRa * tanDec) * d.Lon - cosRa * tanDec * d.Obl; // 赤经章动

zb[1] += sinE * cosRa * d.Lon + sinRa * d.Obl; // 赤纬章动 zb[0] = rad2mrad(zb[0]); }

//=================以下是月球及地球运动参数表=================== /***************************************

* 如果用记事本查看此代码,请在\格式\菜单中去除\自动换行\ * E10是关于地球的,格式如下:

* 它是一个数组,每3个数看作一条记录,每条记录的3个数记为A,B,C * rec=A*cos(B+C*t); 式中t是J2000起算的儒略千年数

* 每条记录的计算结果(即rec)取和即得地球的日心黄经的周期量L0 * E11格式如下: rec = A*cos*(B+C*t) *t, 取和后得泊松量L1 * E12格式如下: rec = A*cos*(B+C*t) *t*t, 取和后得泊松量L2 * E13格式如下: rec = A*cos*(B+C*t) *t*t*t, 取和后得泊松量L3 * 最后地球的地心黄经:L = L0+L1+L2+L3+... * E20,E21,E22,E23...用于计算黄纬

* M10,M11等是关于月球的,参数的用法请阅读Mnn()函数 *****************************************/ //地球运动VSOP87参数

private static final double E10[] = { //黄经周期项

1.75347045673, 0.00000000000, 0.0000000000, 0.03341656456, 4.66925680417, 6283.0758499914, 0.00034894275, 4.62610241759, 12566.1516999828, 0.00003417571, 2.82886579606, 3.5231183490,

0.00003497056, 2.74411800971, 5753.3848848968, 0.00003135896, 3.62767041758, 77713.7714681205, 0.00002676218,

4.41808351397, 7860.4193924392, 0.00002342687, 6.13516237631, 3930.2096962196,

0.00001273166, 2.03709655772, 529.6909650946, 0.00001324292, 0.74246356352, 11506.7697697936, 0.00000901855,

2.04505443513, 26.2983197998, 0.00001199167, 1.10962944315, 1577.3435424478, 0.00000857223, 3.50849156957, 398.1490034082, 0.00000779786, 1.17882652114, 5223.6939198022, 0.00000990250, 5.23268129594, 5884.9268465832, 0.00000753141, 2.53339053818, 5507.5532386674,

0.00000505264, 4.58292563052, 18849.2275499742, 0.00000492379, 4.20506639861, 775.5226113240, 0.00000356655,

2.91954116867, 0.0673103028, 0.00000284125, 1.89869034186, 796.2980068164, 0.00000242810, 0.34481140906, 5486.7778431750, 0.00000317087, 5.84901952218, 11790.6290886588, 0.00000271039, 0.31488607649,

10977.0788046990, 0.00000206160, 4.80646606059, 2544.3144198834, 0.00000205385, 1.86947813692, 5573.1428014331, 0.00000202261,

…… 此处隐藏:949字,全部文档内容请下载后查看。喜欢就下载吧 ……
万年历 - java算法实现(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/518894.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)