赞
踩
Planetary Positions with VSOP87Written by User 1Last Updated: August 25, 2019, 03:05 pm (UTC)
Originally created on July 25, 2012
VSOP87 provides a method for computing the positions of the 8 planets (and the Sun) efficiently and accurately without the major headaches that astronomers from past centuries had to deal with.
文中提到关于黄道的计算方法,不容易理解。现查阅相关资料,将能够将VSOP87方法准确描述的vb.net代码提供出来,供大家参考。
' Body Name : Earth ' VSOP87 Series Version : C ' Coordinates Type/Epoch : Rectangular XYZ-Coordinates ' HELIOCENTRIC DYNAMICAL ECLIPTIC/EQUINOX OF DATE ' ' Ephemeris Date Span : 2000 BC < Date < 6000 AD Public Function Earth_C_X0 (ByVal t As Double) As Double dim X0 as double X0 += 0.99986069925 * cos(1.75347045757 + 6283.31966747490 * t) X0 += 0.02506324281 * cos(4.93819429098 + 0.24381748350 * t) X0 += 0.00835274807 * cos(1.71033525539 + 12566.39551746630 * t) ... X0 += 0.00000000050 * cos(2.84763289309 + 60284.16619777939 * t) Return X0 End Function Public Function Earth_C_X1 (ByVal t As Double) As Double Dim X1 As Double X1 += 0.00154550744 * cos(0.64605836878 + 0.24381748350 * t) X1 += 0.00051503383 * cos(6.00263199393 + 12566.39551746630 * t) ... X1 += 0.00000000020 * cos(2.85391796921 + 9070.36269133230 * t) Return X1 * t End Function ... Public Function Earth_C_Z4 (ByVal t As Double) As Double Dim Z4 As Double Z4 += 0.00000000004 * cos(0.79662198849 + 6438.49624942560 * t) Z4 += 0.00000000005 * cos(0.84308705203 + 1047.74731175470 * t) Z4 += 0.00000000005 * cos(0.05711572303 + 84334.66158130829 * t) Z4 += 0.00000000003 * cos(3.46779895686 + 6279.55273164240 * t) Z4 += 0.00000000003 * cos(2.89822201212 + 6127.65545055720 * t) Return Z4 * t * t * t * t End Function Public Function Earth_C_Z5 (ByVal t As Double) As Double Dim Z5 As Double Return Z5 * t * t * t * t * t End Function
因为代码较长,共有4567行,上面仅仅给出代码的头部和尾部。
但作为计算爱好和研究来讲,起一个抛砖引玉的作用。
参考文献:
Planetary Positions with VSOP87
算法系列之十八:用天文方法计算二十四节气(上)
VSOP87
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。