中华农历论坛知识讨论区历法知识 → [求助]求 视黄经如何换算成方位角的方法


  共有30301人关注过本帖树形打印

主题:[求助]求 视黄经如何换算成方位角的方法

帅哥哟,离线,有人找我吗?
mmdd889
  11楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:229 威望:0 精华:0 注册:2010/12/29 11:37:00
  发帖心情 Post By:2010/12/29 21:08:00

以下是引用浪-淘-沙在2010-12-29 20:10:00的发言:

请你咨询一下许先生(xjw01),他当年搞《寿星天文历》,为了学习基础知识花了多少时间?


 


我在牧夫里也说过,基础知识,只有靠平时的积累。别人无能为力的。


我目前也在学习这些基础知识。所以我才去图书馆借了书来学啊。


 


《天球参考系变换及其应用》可以作为《天文算法》一书的补充。


 


至于里面的天文学名词,如果看不懂时,可以“百度”搜索啊。


这样子,学习起来就很快了。



浪-淘-沙老师您好!
我真的搞不出来哦!请您教教我好吗?
祝您新年快乐!身体健康!吉祥如意!

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  12楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2010/12/29 21:50:00

function llrConv(JW,E){ //球面坐标旋转
  //黄道赤道坐标变换,赤到黄E取负
  var r=new Array(),J=JW[0],W=JW[1];
  r[0]=atan2( sin(J)*cos(E) - tan(W)*sin(E), cos(J) );
  r[1]=asin ( cos(E)*sin(W) + sin(E)*cos(W)*sin(J)  );
  r[2]=JW[2];
  r[0]=rad2mrad(r[0]);
  return r;
}
function CD2DP(z,L,fa,gst){ //赤道坐标转为地平坐标
  var a=new Array(z[0]+Math.PI/2-gst-L, z[1], z[2]);  //转到相对于地平赤道分点的赤道坐标
  a = llrConv( a, Math.PI/2-fa );
  a[0] = rad2mrad( Math.PI/2-a[0] );
  return a;
}

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  13楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2010/12/29 21:55:00

 

function parallax(z,H,fa,high){ //视差修正
  //z赤道坐标,fa地理纬度,H时角,high海拔(千米)
  var dw=1; if(z[2]<500) dw=cs_AU;
  z[2]*=dw;
  var r0,x0,y0,z0, f=cs_ba, u=Math.atan(f*Math.tan(fa)), g=z[0]+H;
  r0 = cs_rEar*Math.cos(u)  + high*Math.cos(fa); //站点与地地心向径的赤道投影长度
  z0 = cs_rEar*Math.sin(u)*f+ high*Math.sin(fa); //站点与地地心向径的轴向投影长度
  x0 = r0*Math.cos(g);
  y0 = r0*Math.sin(g);

  var s = llr2xyz(z);
  s[0]-=x0, s[1]-=y0, s[2]-=z0;
  s = xyz2llr(s);
  z[0]=s[0], z[1]=s[1], z[2]=s[2]/dw;
}


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  14楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2010/12/29 21:59:00

星历坐标计算

 

function xingX(xt,jd,L,fa){ //行星计算,jd力学时
 //基本参数计算

 var T=jd/36525;
 var zd = nutation2(T);
 var dL = zd[0], dE = zd[1]; //章动
 var E = hcjj(T) + dE; //真黄赤交角
 var gstPing = pGST2(jd); //平恒星时
 var gst= gstPing + dL*Math.cos(E); //真恒星时(不考虑非多项式部分)

 var z,a,z2,a2,s='';
 var ra,rb,rc,rfn=8;

 if(xt==10){ //月亮
  rfn = 2;
  //求光行时并精确求出地月距
  a = e_coord(T,15,15,15); //地球
  z = m_coord(T,1,1,-1); ra = z[2]; //月亮

  T -= ra*cs_Agx/cs_AU; //光行时计算

  //求视坐标
  a2 = e_coord(T,15,15,15);//地球
  z  = m_coord(T,-1,-1,-1); rc = z[2]; //月亮

  //求光行距
  a2 = h2g(a,a2); a2[2] *= cs_AU;
  z2 = h2g(z,a2); rb = z2[2];

  //地心黄道及地心赤道
  z[0] = rad2mrad(z[0]+dL);
  s += '视黄经 ' +rad2str(z[0],0) +' 视黄纬 ' +rad2str(z[1],0) +' 地心距 ' +ra.toFixed(rfn)+'\r\n';
  z = llrConv(z,E); //转到赤道坐标
  s += '视赤经 ' +rad2str(z[0],1) +' 视赤纬 ' +rad2str(z[1],0) +' 光行距 ' +rb.toFixed(rfn)+'\r\n';

 }
 if(xt<10){ //行星和太阳
  a = p_coord(0, T,-1,-1,-1); //地球
  z = p_coord(xt,T,-1,-1,-1); //行星
  z[0] = rad2mrad(z[0]);
  s += '黄经一 ' +rad2str(z[0],0) +' 黄纬一 ' +rad2str(z[1],0) +' 向径一 ' +z[2].toFixed(rfn)+'\r\n';

  //地心黄道
  z = h2g(z,a); ra = z[2];  //ra地心距
  T -= ra*cs_Agx; //光行时

  //重算坐标
  a2 = p_coord(0, T,-1,-1,-1); //地球
  z2 = p_coord(xt,T,-1,-1,-1); //行星
  z = h2g(z2,a);  rb = z[2]; //rb光行距(在惯性系中看)
  z = h2g(z2,a2); rc = z[2]; //rc视距
  z[0] = rad2mrad(z[0]+dL); //补章动

  s += '视黄经 ' +rad2str(z[0],0) +' 视黄纬 ' +rad2str(z[1],0) +' 地心距 ' +ra.toFixed(rfn)+'\r\n';
  z = llrConv(z,E); //转到赤道坐标
  s += '视赤经 ' +rad2str(z[0],1) +' 视赤纬 ' +rad2str(z[1],0) +' 光行距 ' +rb.toFixed(rfn)+'\r\n';
 }

 var sj = rad2rrad(gst + L - z[0]); //得到天体时角
 parallax(z, sj,fa, 0); //视差修正
 s += '站赤经 ' +rad2str(z[0],1) +' 站赤纬 ' +rad2str(z[1],0) +' 视距离 ' +rc.toFixed(rfn)+'\r\n';

 z[0] += Math.PI/2-gst-L;  //修正了视差的赤道坐标
 z = llrConv( z, Math.PI/2-fa ); //转到时角坐标转到地平坐标
 z[0] = rad2mrad( Math.PI/2-z[0] );

 if(z[1]>0) z[1] += MQC(z[1]); //大气折射修正
 s += '方位角 ' +rad2str(z[0],0) +' 高度角 ' +rad2str(z[1],0)+'\r\n';
 s += '恒星时 ' +rad2str(rad2mrad(gstPing),1) +'(平) ' +rad2str(rad2mrad(gst),1)+'(真)\r\n';

 return s;
}


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  15楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2010/12/29 22:00:00

这个函数可以算地平坐标

function parallax(z,H,fa,high)


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
xjw01
  16楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:蝙蝠侠 帖子:866 积分:3804 威望:3 精华:20 注册:2008/3/20 22:14:00
  发帖心情 Post By:2010/12/29 22:02:00

在实际计算中,有多种计算方法,根据不同的需要,有不同的计算步骤。

 

视黄经要转到站心坐标,难以一步到位的,有多个步骤,方法也有多种。


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
mmdd889
  17楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:229 威望:0 精华:0 注册:2010/12/29 11:37:00
  发帖心情 Post By:2010/12/30 9:41:00

谢谢老师的回复,您的太专业化了,我看不懂哦,请您帮帮我哟.

这个函数可以算地平坐标

function parallax(z,H,fa,high) 
怎么用啊?





支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
客人(222.74.*.*)
  18楼


  发帖心情 Post By:2010/12/30 16:31:00

欢迎上面各位高人.

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
春光
  19楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:917 积分:7587 威望:10 精华:1 注册:2005/3/17 11:37:00
  发帖心情 Post By:2010/12/30 16:48:00

浪兄,许兄难得一起来到本版,难得一见啊.

建议楼主先学习球面天文学,你留下邮箱,我传给你.

 


支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
帅哥哟,离线,有人找我吗?
mmdd889
  20楼 个性首页 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:8 积分:229 威望:0 精华:0 注册:2010/12/29 11:37:00
  发帖心情 Post By:2010/12/30 17:19:00

以下是引用春光在2010-12-30 16:48:00的发言:

浪兄,许兄难得一起来到本版,难得一见啊.


建议楼主先学习球面天文学,你留下邮箱,我传给你.


 



谢谢春光版主老师的关爱指导!
祝您及家人新年快乐,身体健康,合家欢乐!

后学的的邮箱:1596531036@qq.com

谢谢您!

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部
总数 25 上一页 1 2 3 下一页

返回版面帖子列表

[求助]求 视黄经如何换算成方位角的方法








签名