円軌道決定法・2000 年分点
FileMaker Pro. 4.0 用テンプレート
参考書
長谷川一郎氏著「天文計算入門」 恒星社
特に断らない限り数字出力であり、角度の単位は degree である。
行頭は項目名、以下は入力属性または計算式並びに出力属性
【日の少数から時刻を求める式】(注:観測時刻が日の少数で与えられている場合、以下の式で時刻に変換する)
- 日の少数 (数値)
- 時刻 = INT(日の少数 * 24) & ":" & INT(((日の少数 * 24) - INT(日の少数 * 24)) * 60) & ":" & ((日の少数 * 24) - (INT(日の少数 * 24)) - (INT(((日の少数 * 24) - INT(日の少数 * 24)) * 60)) / 60) * 3600 (数字出力)
【第一観測データ】
- 観測年月日_01 (日付) (注:yyyy,mm,dd の形式で入力する)
- 観測時刻_01 (時刻) (注:hh:mm:ss の形式で入力する)
- 観測日の少数_01 = HOUR(観測時刻_01) / 24 + MINUTE(観測時刻_01) / 1440 + SECONDS(観測時刻_01) / 86400
- 観測t_01 = Date(MONTH(観測年月日_01), DAY(観測年月日_01), YEAR(観測年月日_01)) + 1721424.5 + 観測日の少数_01 (数字出力)(注:ユリウス日で表される)
- 赤経時_01 (数値)
- 赤経分_01 (数値)
- 赤経秒_01 (数値)
- α_01度 = (赤経時_01 * 15) + (赤経分_01 * 15) / 60 + (赤経秒_01 * 15) / 3600
- 赤緯度_01 (数値)
- 赤緯分_01 (数値)
- 赤緯秒_01 (数値)
- δ_01度 = If(赤緯度_01 = -0, -((赤緯分_01 / 60) + (赤緯秒_01 / 3600)), If(赤緯度_01 < 0, -(-赤緯度_01 + (赤緯分_01 / 60) + (赤緯秒_01 / 3600)), 赤緯度_01 + (赤緯分_01 / 60) + (赤緯秒_01 / 3600)))
【太陽の赤道直交座標】
- d_01 = 観測t_01 - 2451545.0
- y_01 = d_01 / 365.25
- T_01 = y_01 / 100
- nd_01 = If(0.985609113 * d_01 + 0.0003036 * T_01^2 >= 0, Mod(0.985609113 * d_01 + 0.0003036 * T_01^2, 360), 360 - (Mod(Abs(0.985609113 * d_01 + 0.0003036 * T_01^2), 360))) (注:0 <= nd < 360 となるよう補正済)
- 黄経Ls_01 = If(280.466 + nd_01 + (1.91467 - 0.00479 * T_01) * Sin(Radians(357.53 + 0.9856003 * d_01)) + (0.02000 - 0.00010 * T_01) * Sin(Radians(2 * (357.53 + 0.9856003 * d_01))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d_01))) + 179 * Sin(Radians(297.85 + 12.1907491 * d_01)) - 12 * Sin(Radians(162.89 - 0.8742433 * d_01)) + 134 * Sin(Radians(98.48 - 225.1844 * y_01)) + 154 * Sin(Radians(196.86 - 450.3688 * y_01)) + 69 * Sin(Radians(26.76 - 90.3783 * y_01)) + 43 * Sin(Radians(305.03 - 315.5628 * y_01)) + 28 * Sin(Radians(329.66 + 44.4277 * y_01)) + 19 * Sin(Radians(115.04 - 675.5533 * y_01)) + 57 * Sin(Radians(150.17 - 337.1815 * y_01)) + 49 * Sin(Radians(291.19 + 22.8090 * y_01)) + 12 * Sin(Radians(174.74 - 145.7817 * y_01)) + 14 * Sin(Radians(70.47 - 314.3724 * y_01)) + 16 * Sin(Radians(199.12 + 45.6181 * y_01)) + 200 * Sin(Radians(292.80 - 329.6447 * y_01)) + 72 * Sin(Radians(206.65 + 30.3458 * y_01)) + 76 * Sin(Radians(47.52 - 659.2893 * y_01)) + 45 * Sin(Radians(22.70 - 299.2989 * y_01)) + 15 * Sin(Radians(71.88 - 628.9435 * y_01)) + 12 * Sin(Radians(309.26 - 347.7725 * y_01)) + 9 * Sin(Radians(137.91 + 12.2179 * y_01)) + 178 * Sin(Radians(251.38 + 0.2020 * y_01)) + 52 * Sin(Radians(207.51 + 1.5027 * y_01))) * 10^-5 >= 0, Mod((280.466 + nd_01 + (1.91467 - 0.00479 * T_01) * Sin(Radians(357.53 + 0.9856003 * d_01)) + (0.02000 - 0.00010 * T_01) * Sin(Radians(2 * (357.53 + 0.9856003 * d_01))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d_01))) + 179 * Sin(Radians(297.85 + 12.1907491 * d_01)) - 12 * Sin(Radians(162.89 - 0.8742433 * d_01)) + 134 * Sin(Radians(98.48 - 225.1844 * y_01)) + 154 * Sin(Radians(196.86 - 450.3688 * y_01)) + 69 * Sin(Radians(26.76 - 90.3783 * y_01)) + 43 * Sin(Radians(305.03 - 315.5628 * y_01)) + 28 * Sin(Radians(329.66 + 44.4277 * y_01)) + 19 * Sin(Radians(115.04 - 675.5533 * y_01)) + 57 * Sin(Radians(150.17 - 337.1815 * y_01)) + 49 * Sin(Radians(291.19 + 22.8090 * y_01)) + 12 * Sin(Radians(174.74 - 145.7817 * y_01)) + 14 * Sin(Radians(70.47 - 314.3724 * y_01)) + 16 * Sin(Radians(199.12 + 45.6181 * y_01)) + 200 * Sin(Radians(292.80 - 329.6447 * y_01)) + 72 * Sin(Radians(206.65 + 30.3458 * y_01)) + 76 * Sin(Radians(47.52 - 659.2893 * y_01)) + 45 * Sin(Radians(22.70 - 299.2989 * y_01)) + 15 * Sin(Radians(71.88 - 628.9435 * y_01)) + 12 * Sin(Radians(309.26 - 347.7725 * y_01)) + 9 * Sin(Radians(137.91 + 12.2179 * y_01)) + 178 * Sin(Radians(251.38 + 0.2020 * y_01)) + 52 * Sin(Radians(207.51 + 1.5027 * y_01))) * 10^-5), 360), 360 - Mod(Abs(280.466 + nd_01 + (1.91467 - 0.00479 * T_01) * Sin(Radians(357.53 + 0.9856003 * d_01)) + (0.02000 - 0.00010 * T_01) * Sin(Radians(2 * (357.53 + 0.9856003 * d_01))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d_01))) + 179 * Sin(Radians(297.85 + 12.1907491 * d_01)) - 12 * Sin(Radians(162.89 - 0.8742433 * d_01)) + 134 * Sin(Radians(98.48 - 225.1844 * y_01)) + 154 * Sin(Radians(196.86 - 450.3688 * y_01)) + 69 * Sin(Radians(26.76 - 90.3783 * y_01)) + 43 * Sin(Radians(305.03 - 315.5628 * y_01)) + 28 * Sin(Radians(329.66 + 44.4277 * y_01)) + 19 * Sin(Radians(115.04 - 675.5533 * y_01)) + 57 * Sin(Radians(150.17 - 337.1815 * y_01)) + 49 * Sin(Radians(291.19 + 22.8090 * y_01)) + 12 * Sin(Radians(174.74 - 145.7817 * y_01)) + 14 * Sin(Radians(70.47 - 314.3724 * y_01)) + 16 * Sin(Radians(199.12 + 45.6181 * y_01)) + 200 * Sin(Radians(292.80 - 329.6447 * y_01)) + 72 * Sin(Radians(206.65 + 30.3458 * y_01)) + 76 * Sin(Radians(47.52 - 659.2893 * y_01)) + 45 * Sin(Radians(22.70 - 299.2989 * y_01)) + 15 * Sin(Radians(71.88 - 628.9435 * y_01)) + 12 * Sin(Radians(309.26 - 347.7725 * y_01)) + 9 * Sin(Radians(137.91 + 12.2179 * y_01)) + 178 * Sin(Radians(251.38 + 0.2020 * y_01)) + 52 * Sin(Radians(207.51 + 1.5027 * y_01))) * 10^-5), 360)) (注:FileMaker Pro. 4.0 は三角関数をラジアンで計算する。関数 Radians(数値)は degree で表された数値を radian に変換する)
- 動径R_01 = (1.0001396 - 0.0000007 * T_01) - (0.0167075 - 0.0000418 * T_01) * Cos(Radians(357.53 + 0.9856003 * d_01)) - (0.0001396 - 0.0000007 * T_01) * Cos(Radians(2 * (357.53 + 0.9856003 * d_01))) + (-18 * Cos(Radians(3 * (357.53 + 0.9856003 * d_01))) + 307 * Cos(Radians(297.85 + 12.1907491 * d_01)) - 31 * Cos(Radians(162.89 - 0.8742433 * d_01)) + (54 * Cos(Radians(98.48 - 225.1844 * y_01))) + (157 * Cos(Radians(196.86 - 450.3688 * y_01))) + (20 * Cos(Radians(26.76 - 90.3783 * y_01))) + (34 * Cos(Radians(305.03 - 315.5628 * y_01))) + (0 * Cos(Radians(329.66 + 44.4277 * y_01))) + (24 * Cos(Radians(115.04 - 675.5533 * y_01))) + (47 * Cos(Radians(150.17 - 337.1815 * y_01))) + (0 * Cos(Radians(291.19 + 22.8090 * y_01))) + (0 * Cos(Radians(174.74 - 145.7817 * y_01))) + (11 * Cos(Radians(70.47 - 314.3724 * y_01))) + (0 * Cos(Radians(199.12 + 45.6181 * y_01))) + (163 * Cos(Radians(292.80 - 329.6447 * y_01))) + (0 * Cos(Radians(206.65 + 30.3458 * y_01))) + (93 * Cos(Radians(47.52 - 659.2893 * y_01))) + (34 * Cos(Radians(22.70 - 299.2989 * y_01))) + (18 * Cos(Radians(71.88 - 628.9435 * y_01))) + (10 * Cos(Radians(309.26 - 347.7725 * y_01))) + (0 * Cos(Radians(137.91 + 12.2179 * y_01))) + (0 * Cos(Radians(251.38 + 0.2020 * y_01))) + (0 * Cos(Radians(207.51 + 1.5027 * y_01)))) * 10^-7
- 太陽座標X_01 = 動径R_01 * Cos(Radians(黄経Ls_01))
- 太陽座標Y_01 = 0.9174821 * 動径R_01 * Sin(Radians(黄経Ls_01)) + 0.0000009 * y_01 * Sin(Radians(黄経Ls_01 + 5.14 - 0.91 * T_01))
- 太陽座標Z_01 = 0.3977772 * 動径R_01 * Sin(Radians(黄経Ls_01)) - 0.0000021 * y_01 * Sin(Radians(黄経Ls_01 + 5.14 - 0.91 * T_01))
【第二観測データ】
- 観測年月日_02 (日付) (注:yyyy,mm,dd の形式で入力する)
- 観測時刻_02 (時刻) (注:hh:mm:ss の形式で入力する)
- 観測日の少数_02 = Hour(観測時刻_02) / 24 + Minute(観測時刻_02) / 1440 + Seconds(観測時刻_02) / 86400
- 観測t_02 = Date(Month(観測年月日_02), Day(観測年月日_02), Year(観測年月日_02)) + 1721424.5 + 観測日の少数_02 (数字出力)(注:ユリウス日で表される)
- 赤経時_02 (数値)
- 赤経分_02 (数値)
- 赤経秒_02 (数値)
- α_02度 = (赤経時_02 * 15) + (赤経分_02 * 15) / 60 + (赤経秒_02 * 15) / 3600
- 赤緯度_02 (数値)
- 赤緯分_02 (数値)
- 赤緯秒_02 (数値)
- δ_02度 = If(赤緯度_02 = -0, -((赤緯分_02 / 60) + (赤緯秒_02 / 3600)), If(赤緯度_02 < 0, -(-赤緯度_02 + (赤緯分_02 / 60) + (赤緯秒_02 / 3600)), 赤緯度_02 + (赤緯分_02 / 60) + (赤緯秒_02 / 3600)))
【太陽の赤道直交座標】
- d_02 = 観測t_02 - 2451545.0
- y_02 = d_02 / 365.25
- T_02 = y_02 / 100
- nd_02 = If(0.985609113 * d_02 + 0.0003036 * T_02^2 >= 0, Mod(0.985609113 * d_02 + 0.0003036 * T_02^2, 360), 360 - (Mod(Abs(0.985609113 * d_02 + 0.0003036 * T_02^2), 360)))
- 黄経Ls_02 = If(280.466 + nd_02 + (1.91467 - 0.00479 * T_02) * Sin(Radians(357.53 + 0.9856003 * d_02)) + (0.02000 - 0.00010 * T_02) * Sin(Radians(2 * (357.53 + 0.9856003 * d_02))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d_02))) + 179 * Sin(Radians(297.85 + 12.1907491 * d_02)) - 12 * Sin(Radians(162.89 - 0.8742433 * d_02)) + 134 * Sin(Radians(98.48 - 225.1844 * y_02)) + 154 * Sin(Radians(196.86 - 450.3688 * y_02)) + 69 * Sin(Radians(26.76 - 90.3783 * y_02)) + 43 * Sin(Radians(305.03 - 315.5628 * y_02)) + 28 * Sin(Radians(329.66 + 44.4277 * y_02)) + 19 * Sin(Radians(115.04 - 675.5533 * y_02)) + 57 * Sin(Radians(150.17 - 337.1815 * y_02)) + 49 * Sin(Radians(291.19 + 22.8090 * y_02)) + 12 * Sin(Radians(174.74 - 145.7817 * y_02)) + 14 * Sin(Radians(70.47 - 314.3724 * y_02)) + 16 * Sin(Radians(199.12 + 45.6181 * y_02)) + 200 * Sin(Radians(292.80 - 329.6447 * y_02)) + 72 * Sin(Radians(206.65 + 30.3458 * y_02)) + 76 * Sin(Radians(47.52 - 659.2893 * y_02)) + 45 * Sin(Radians(22.70 - 299.2989 * y_02)) + 15 * Sin(Radians(71.88 - 628.9435 * y_02)) + 12 * Sin(Radians(309.26 - 347.7725 * y_02)) + 9 * Sin(Radians(137.91 + 12.2179 * y_02)) + 178 * Sin(Radians(251.38 + 0.2020 * y_02)) + 52 * Sin(Radians(207.51 + 1.5027 * y_02))) * 10^-5 >= 0, Mod((280.466 + nd_02 + (1.91467 - 0.00479 * T_02) * Sin(Radians(357.53 + 0.9856003 * d_02)) + (0.02000 - 0.00010 * T_02) * Sin(Radians(2 * (357.53 + 0.9856003 * d_02))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d_02))) + 179 * Sin(Radians(297.85 + 12.1907491 * d_02)) - 12 * Sin(Radians(162.89 - 0.8742433 * d_02)) + 134 * Sin(Radians(98.48 - 225.1844 * y_02)) + 154 * Sin(Radians(196.86 - 450.3688 * y_02)) + 69 * Sin(Radians(26.76 - 90.3783 * y_02)) + 43 * Sin(Radians(305.03 - 315.5628 * y_02)) + 28 * Sin(Radians(329.66 + 44.4277 * y_02)) + 19 * Sin(Radians(115.04 - 675.5533 * y_02)) + 57 * Sin(Radians(150.17 - 337.1815 * y_02)) + 49 * Sin(Radians(291.19 + 22.8090 * y_02)) + 12 * Sin(Radians(174.74 - 145.7817 * y_02)) + 14 * Sin(Radians(70.47 - 314.3724 * y_02)) + 16 * Sin(Radians(199.12 + 45.6181 * y_02)) + 200 * Sin(Radians(292.80 - 329.6447 * y_02)) + 72 * Sin(Radians(206.65 + 30.3458 * y_02)) + 76 * Sin(Radians(47.52 - 659.2893 * y_02)) + 45 * Sin(Radians(22.70 - 299.2989 * y_02)) + 15 * Sin(Radians(71.88 - 628.9435 * y_02)) + 12 * Sin(Radians(309.26 - 347.7725 * y_02)) + 9 * Sin(Radians(137.91 + 12.2179 * y_02)) + 178 * Sin(Radians(251.38 + 0.2020 * y_02)) + 52 * Sin(Radians(207.51 + 1.5027 * y_02))) * 10^-5), 360), 360 - Mod(Abs(280.466 + nd_02 + (1.91467 - 0.00479 * T_02) * Sin(Radians(357.53 + 0.9856003 * d_02)) + (0.02000 - 0.00010 * T_02) * Sin(Radians(2 * (357.53 + 0.9856003 * d_02))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d_02))) + 179 * Sin(Radians(297.85 + 12.1907491 * d_02)) - 12 * Sin(Radians(162.89 - 0.8742433 * d_02)) + 134 * Sin(Radians(98.48 - 225.1844 * y_02)) + 154 * Sin(Radians(196.86 - 450.3688 * y_02)) + 69 * Sin(Radians(26.76 - 90.3783 * y_02)) + 43 * Sin(Radians(305.03 - 315.5628 * y_02)) + 28 * Sin(Radians(329.66 + 44.4277 * y_02)) + 19 * Sin(Radians(115.04 - 675.5533 * y_02)) + 57 * Sin(Radians(150.17 - 337.1815 * y_02)) + 49 * Sin(Radians(291.19 + 22.8090 * y_02)) + 12 * Sin(Radians(174.74 - 145.7817 * y_02)) + 14 * Sin(Radians(70.47 - 314.3724 * y_02)) + 16 * Sin(Radians(199.12 + 45.6181 * y_02)) + 200 * Sin(Radians(292.80 - 329.6447 * y_02)) + 72 * Sin(Radians(206.65 + 30.3458 * y_02)) + 76 * Sin(Radians(47.52 - 659.2893 * y_02)) + 45 * Sin(Radians(22.70 - 299.2989 * y_02)) + 15 * Sin(Radians(71.88 - 628.9435 * y_02)) + 12 * Sin(Radians(309.26 - 347.7725 * y_02)) + 9 * Sin(Radians(137.91 + 12.2179 * y_02)) + 178 * Sin(Radians(251.38 + 0.2020 * y_02)) + 52 * Sin(Radians(207.51 + 1.5027 * y_02))) * 10^-5), 360))
- 動径R_02 = (1.0001396 - 0.0000007 * T_02) - (0.0167075 - 0.0000418 * T_02) * Cos(Radians(357.53 + 0.9856003 * d_02)) - (0.0001396 - 0.0000007 * T_02) * Cos(Radians(2 * (357.53 + 0.9856003 * d_02))) + (-18 * Cos(Radians(3 * (357.53 + 0.9856003 * d_02))) + 307 * Cos(Radians(297.85 + 12.1907491 * d_02)) - 31 * Cos(Radians(162.89 - 0.8742433 * d_02)) + (54 * Cos(Radians(98.48 - 225.1844 * y_02))) + (157 * Cos(Radians(196.86 - 450.3688 * y_02))) + (20 * Cos(Radians(26.76 - 90.3783 * y_02))) + (34 * Cos(Radians(305.03 - 315.5628 * y_02))) + (0 * Cos(Radians(329.66 + 44.4277 * y_02))) + (24 * Cos(Radians(115.04 - 675.5533 * y_02))) + (47 * Cos(Radians(150.17 - 337.1815 * y_02))) + (0 * Cos(Radians(291.19 + 22.8090 * y_02))) + (0 * Cos(Radians(174.74 - 145.7817 * y_02))) + (11 * Cos(Radians(70.47 - 314.3724 * y_02))) + (0 * Cos(Radians(199.12 + 45.6181 * y_02))) + (163 * Cos(Radians(292.80 - 329.6447 * y_02))) + (0 * Cos(Radians(206.65 + 30.3458 * y_02))) + (93 * Cos(Radians(47.52 - 659.2893 * y_02))) + (34 * Cos(Radians(22.70 - 299.2989 * y_02))) + (18 * Cos(Radians(71.88 - 628.9435 * y_02))) + (10 * Cos(Radians(309.26 - 347.7725 * y_02))) + (0 * Cos(Radians(137.91 + 12.2179 * y_02))) + (0 * Cos(Radians(251.38 + 0.2020 * y_02))) + (0 * Cos(Radians(207.51 + 1.5027 * y_02)))) * 10^-7
- 太陽座標X_02 = 動径R_02 * COS(RADIANS(黄経Ls_02))
- 太陽座標Y_02 = 0.9174821 * 動径R_02 * Sin(Radians(黄経Ls_02)) + 0.0000009 * y_02 * Sin(Radians(黄経Ls_02 + 5.14 - 0.91 * T_02))
- 太陽座標Z_02 = 0.3977772 * 動径R_02 * Sin(Radians(黄経Ls_02)) - 0.0000021 * y_02 * Sin(Radians(黄経Ls_02 + 5.14 - 0.91 * T_02))
【準備計算】
補助常数
- l_1 = COS(RADIANS(δ_01度)) * COS(RADIANS(α_01度))
- m_1 = COS(RADIANS(δ_01度)) * SIN(RADIANS(α_01度))
- n_1 = SIN(RADIANS(δ_01度))
- l_2 = COS(RADIANS(δ_02度)) * COS(RADIANS(α_02度))
- m_2 = COS(RADIANS(δ_02度)) * SIN(RADIANS(α_02度))
- n_2 = SIN(RADIANS(δ_02度))
- 検算1 = l_1^2 + m_1^2 + n_1^2 - 1 (注:0 になればよい)
- 検算2 = l_2^2 + m_2^2 + n_2^2 - 1 (注:0 になればよい)
- R1自乗 = 太陽座標X_01^2 + 太陽座標Y_01^2 + 太陽座標Z_01^2 (注:項目名は R1^2 を意味する)
- R2自乗 = 太陽座標X_02^2 + 太陽座標Y_02^2 + 太陽座標Z_02^2 (注:項目名は R2^2 を意味する)
- R1cosθ1 = -(l_1 * 太陽座標X_01 + m_1 * 太陽座標Y_01 + n_1 * 太陽座標Z_01)
- R2cosθ2 = -(l_2 * 太陽座標X_02 + m_2 * 太陽座標Y_02 + n_2 * 太陽座標Z_02)
- R1sinθ1自乗 = R1自乗 - R1cosθ1^2 (注:項目名は (R1sinθ1)^2 を意味する)
- R2sinθ2自乗 = R2自乗 - R2cosθ2^2 (注:項目名は (R1sinθ2)^2 を意味する)
【a の決定】
- a (数値)(軌道半径)
- n° = 0.98561 / a^1.5 (平均日々運動)
- Δ_1 = (a^2 - R1sinθ1自乗)^0.5 - R1cosθ1 (地心距離)
- Δ_2 = (a^2 - R2sinθ2自乗)^0.5 - R2cosθ2 (地心距離)
- x_1 = l_1 * Δ_1 - 太陽座標X_01
- x_2 = l_2 * Δ_2 - 太陽座標X_02
- y_1 = m_1 * Δ_1 - 太陽座標Y_01
- y_2 = m_2 * Δ_2 - 太陽座標Y_02
- z_1 = n_1 * Δ_1 - 太陽座標Z_01
- z_2 = n_2 * Δ_2 - 太陽座標Z_02
- 検算3 = x_1^2 + y'_1^2 + z_1^2 - a^2 (注:0 になればよい)
- 検算4 = x_2^2 + y'_2^2 + z_2^2 - a^2 (注:0 になればよい)
- 光差補正t°_1 = 観測t_01 - 0.005775 * Δ_1
- 光差補正t°_2 = 観測t_02 - 0.005775 * Δ_2
- sin[u2_u1]\2_g = ((x_2 - x_1)^2 + (y_2 - y_1)^2 + (z_2 - z_1)^2)^0.5 / 2 / a (注:項目名は Sin[(u2 - u1) / 2]_g を意味する)
- sin[u2_u1]\2自乗_g = sin[u2_u1]\2_g^2
- [u2_u1]\2_g = DEGREES(ATAN(sin[u2_u1]\2_g / (1 - sin[u2_u1]\2自乗_g)^2)) (注:この部分の項目名は (u2 - u1) / 2 _g を意味する)
- [u2_u1]\2_d = n°* (光差補正t°_2 - 光差補正t°_1) / 2
- g_d =([u2_u1]\2_g - [u2_u1]\2_d) * 3600 (注:単位は秒角)
- メモ欄 (g_d をメモしておくテキスト欄)
【ベクトル定数】
- f = [u2-u1]\2_g
- P = (2 * a * COS(RADIANS(f)))^-1
- Q = (2 * a * SIN(RADIANS(f)))^-1
- Px = P * (x_1 + x_2)
- Py = P * (y_1 + y_2)
- Pz = P * (z_1 + z_2)
- Qx = Q * (x_2 - x_1)
- Qy = Q * (y_2 - y_1)
- Qz = Q * (z_2 - z_1)
- 検算5 = Px^2 + Py^2 + Pz^2 - 1 (注:0 になればよい)
- 検算6 = Qx^2 + Qy^2 + Qz^2 - 1 (注:0 になればよい)
- 検算7 = Px * QX + Py * Qy + Pz * Qz (注:0 になればよい)
【軌道要素】
- ε = RADIANS(23.44838888 - (0.4684 / 3600) * (YEAR(観測年月日_01) - 1930)) (地軸傾斜角)
- sini@cosu_0 = -Qy * SIN(ε) + Qz * COS(ε) (注:項目名は Sin i * Cos u_0 を意味する)
- sini@sinu_0 = -Py * SIN(ε) + Pz * COS(ε) (注:項目名は Sin i * Sin u_0 を意味する)
- u_0 = ATAN(sini@sinu_0 / sini@cosu_0)
- u_0度 = MOD(IF(DEGREES(u_0) < 0, DEGREES(u_0) + 360, DEGREES(u_0)),360) (注:0 <= u_0 < 360 となるよう補正済)
- u_0度の象限 = If(u_0度 >= 0 and u_0度 < 90, 1, If(u_0度 >= 90 and u_0度 <180, 2, If(u_0度 >= 180 and u_0度 <270, 3, If(u_0度 >= 270 and u_0度 < 360, 4, ""))))
- 常に 0 <= i < 180 すなわち常に sini >= 0 であるから
- u_0度の正しい象限 = IF(sini@sinu_0 >= 0 and sini@cosu_0 > 0, 1, IF(sini@sinu_0 > 0 and sini@cosu_0 <= 0, 2, IF(sini@sinu_0 <= 0 and sini@cosu_0 < 0, 3, IF(sini@sinu_0 < 0 and sini@cosu_0 >= 0, 4, ""))))
- 補正済u_0度 = IF(u_0度の正しい象限 = u_0度の象限 , u_0度, MOD((u_0度 + 180), 360))
- cosΩ = Px * COS(RADIANS(補正済u_0度)) - Qx * SIN(RADIANS(補正済u_0度))
- sinΩ = (Py * COS(RADIANS(補正済u_0度)) - Qy * SIN(RADIANS(補正済u_0度)))/ COS(ε)
- 検算8 = cosΩ^2 + sinΩ^2 - 1 (注:0 になればよい)
- Ω = ATAN(sinΩ / cosΩ)
- Ω度 = MOD(IF(DEGREES(Ω) < 0, DEGREES(Ω) + 360, DEGREES(Ω)), 360)
- Ω度の象限 = If(Ω度 >= 0 and Ω度 < 90, 1, If(Ω度 >= 90 and Ω度 <180, 2, If(Ω度 >= 180 and Ω度 <270, 3, If(Ω度 >= 270 and Ω度 < 360, 4, ""))))
- Ω度の正しい象限 = If(sinΩ >= 0 and cosΩ > 0, 1, If(sinΩ > 0 and cosΩ <= 0, 2, If(sinΩ <= 0 and cosΩ < 0, 3, If(sinΩ < 0 and cosΩ >= 0, 4, ""))))
- 補正済Ω度 = IF(Ω度の正しい象限 = Ω度の象限 , Ω度, MOD((Ω度 + 180), 360)) (昇交点黄経)
- cosi = -(Px * SIN(RADIANS(補正済u_0度)) + Qx * COS(RADIANS(補正済u_0度))) / SIN(RADIANS(補正済Ω度))
- sini = sini@cosu_0 / COS(RADIANS(補正済u_0度))
- i = ATAN(sini / cosi)
- i度 = MOD(IF(DEGREES(i) < 0, DEGREES(i) + 360, DEGREES(i)), 360)
- i度の象限 = If(i度 >= 0 and i度 < 90, 1, If(i度 >= 90 and i度 < 180, 2, If(i度 >= 180 and i度 <270, 3, If(i度 >= 270 and i度 <360, 4, ""))))
- i度の正しい象限 = If(cosi >= 0, 1, 2)
- 補正済i度 = MOD(If(IF(i度の正しい象限 = i度の象限, i度, 180 - i度) < 0, IF(i度の正しい象限 = i度の象限, i度, 180 - i度) + 360, IF(i度の正しい象限 = i度の象限, i度, 180 - i度)), 360) (軌道傾斜角)
- 元期 = (光差補正t°_1 + 光差補正t°_2) / 2 - 1721424.5 (日付出力)
- 元期日の少数 = (光差補正t°_1 + 光差補正t°_2) / 2 - 1721424.5 - Int((光差補正t°_1 + 光差補正t°_2) / 2 - 1721424.5) (数字出力)
- 元期年 = YEAR(元期)
- 元期月 = MONTH(元期)
- 元期日 = DAY(元期) + 元期日の少数
【位置推算】
- 予報年月日 (日付)
- 予報時刻 (時刻)
- 予報日の少数 = Hour(予報時刻) / 24 + Minute(予報時刻) / 1440 + Seconds(予報時刻) / 86400
- 予報t° = Date(Month(予報年月日), Day(予報年月日), Year(予報年月日)) + 1721424.5 + 予報日の少数 (数字出力)(注:ユリウス日で表される)
【太陽の赤道直交座標】
- d = 予報t° - 2451545.0
- y = d / 365.25
- T = y / 100
- nd = If(0.985609113 * d + 0.0003036 * T^2 >= 0, Mod(0.985609113 * d + 0.0003036 * T^2, 360), 360 - (Mod(Abs(0.985609113 * d + 0.0003036 * T^2), 360)))
- 黄経Ls = If(280.466 + nd + (1.91467 - 0.00479 * T) * Sin(Radians(357.53 + 0.9856003 * d)) + (0.02000 - 0.00010 * T) * Sin(Radians(2 * (357.53 + 0.9856003 * d))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d))) + 179 * Sin(Radians(297.85 + 12.1907491 * d)) - 12 * Sin(Radians(162.89 - 0.8742433 * d)) + 134 * Sin(Radians(98.48 - 225.1844 * y)) + 154 * Sin(Radians(196.86 - 450.3688 * y)) + 69 * Sin(Radians(26.76 - 90.3783 * y)) + 43 * Sin(Radians(305.03 - 315.5628 * y)) + 28 * Sin(Radians(329.66 + 44.4277 * y)) + 19 * Sin(Radians(115.04 - 675.5533 * y)) + 57 * Sin(Radians(150.17 - 337.1815 * y)) + 49 * Sin(Radians(291.19 + 22.8090 * y)) + 12 * Sin(Radians(174.74 - 145.7817 * y)) + 14 * Sin(Radians(70.47 - 314.3724 * y)) + 16 * Sin(Radians(199.12 + 45.6181 * y)) + 200 * Sin(Radians(292.80 - 329.6447 * y)) + 72 * Sin(Radians(206.65 + 30.3458 * y)) + 76 * Sin(Radians(47.52 - 659.2893 * y)) + 45 * Sin(Radians(22.70 - 299.2989 * y)) + 15 * Sin(Radians(71.88 - 628.9435 * y)) + 12 * Sin(Radians(309.26 - 347.7725 * y)) + 9 * Sin(Radians(137.91 + 12.2179 * y)) + 178 * Sin(Radians(251.38 + 0.2020 * y)) + 52 * Sin(Radians(207.51 + 1.5027 * y))) * 10^-5 >= 0, Mod((280.466 + nd + (1.91467 - 0.00479 * T) * Sin(Radians(357.53 + 0.9856003 * d)) + (0.02000 - 0.00010 * T) * Sin(Radians(2 * (357.53 + 0.9856003 * d))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d))) + 179 * Sin(Radians(297.85 + 12.1907491 * d)) - 12 * Sin(Radians(162.89 - 0.8742433 * d)) + 134 * Sin(Radians(98.48 - 225.1844 * y)) + 154 * Sin(Radians(196.86 - 450.3688 * y)) + 69 * Sin(Radians(26.76 - 90.3783 * y)) + 43 * Sin(Radians(305.03 - 315.5628 * y)) + 28 * Sin(Radians(329.66 + 44.4277 * y)) + 19 * Sin(Radians(115.04 - 675.5533 * y)) + 57 * Sin(Radians(150.17 - 337.1815 * y)) + 49 * Sin(Radians(291.19 + 22.8090 * y)) + 12 * Sin(Radians(174.74 - 145.7817 * y)) + 14 * Sin(Radians(70.47 - 314.3724 * y)) + 16 * Sin(Radians(199.12 + 45.6181 * y)) + 200 * Sin(Radians(292.80 - 329.6447 * y)) + 72 * Sin(Radians(206.65 + 30.3458 * y)) + 76 * Sin(Radians(47.52 - 659.2893 * y)) + 45 * Sin(Radians(22.70 - 299.2989 * y)) + 15 * Sin(Radians(71.88 - 628.9435 * y)) + 12 * Sin(Radians(309.26 - 347.7725 * y)) + 9 * Sin(Radians(137.91 + 12.2179 * y)) + 178 * Sin(Radians(251.38 + 0.2020 * y)) + 52 * Sin(Radians(207.51 + 1.5027 * y))) * 10^-5), 360), 360 - Mod(Abs(280.466 + nd + (1.91467 - 0.00479 * T) * Sin(Radians(357.53 + 0.9856003 * d)) + (0.02000 - 0.00010 * T) * Sin(Radians(2 * (357.53 + 0.9856003 * d))) + (29 * Sin(Radians(3 * (357.53 + 0.9856003 * d))) + 179 * Sin(Radians(297.85 + 12.1907491 * d)) - 12 * Sin(Radians(162.89 - 0.8742433 * d)) + 134 * Sin(Radians(98.48 - 225.1844 * y)) + 154 * Sin(Radians(196.86 - 450.3688 * y)) + 69 * Sin(Radians(26.76 - 90.3783 * y)) + 43 * Sin(Radians(305.03 - 315.5628 * y)) + 28 * Sin(Radians(329.66 + 44.4277 * y)) + 19 * Sin(Radians(115.04 - 675.5533 * y)) + 57 * Sin(Radians(150.17 - 337.1815 * y)) + 49 * Sin(Radians(291.19 + 22.8090 * y)) + 12 * Sin(Radians(174.74 - 145.7817 * y)) + 14 * Sin(Radians(70.47 - 314.3724 * y)) + 16 * Sin(Radians(199.12 + 45.6181 * y)) + 200 * Sin(Radians(292.80 - 329.6447 * y)) + 72 * Sin(Radians(206.65 + 30.3458 * y)) + 76 * Sin(Radians(47.52 - 659.2893 * y)) + 45 * Sin(Radians(22.70 - 299.2989 * y)) + 15 * Sin(Radians(71.88 - 628.9435 * y)) + 12 * Sin(Radians(309.26 - 347.7725 * y)) + 9 * Sin(Radians(137.91 + 12.2179 * y)) + 178 * Sin(Radians(251.38 + 0.2020 * y)) + 52 * Sin(Radians(207.51 + 1.5027 * y))) * 10^-5), 360))
- 動径R = (1.0001396 - 0.0000007 * T) - (0.0167075 - 0.0000418 * T) * Cos(Radians(357.53 + 0.9856003 * d)) - (0.0001396 - 0.0000007 * T) * Cos(Radians(2 * (357.53 + 0.9856003 * d))) + (-18 * Cos(Radians(3 * (357.53 + 0.9856003 * d))) + 307 * Cos(Radians(297.85 + 12.1907491 * d)) - 31 * Cos(Radians(162.89 - 0.8742433 * d)) + (54 * Cos(Radians(98.48 - 225.1844 * y))) + (157 * Cos(Radians(196.86 - 450.3688 * y))) + (20 * Cos(Radians(26.76 - 90.3783 * y))) + (34 * Cos(Radians(305.03 - 315.5628 * y))) + (0 * Cos(Radians(329.66 + 44.4277 * y))) + (24 * Cos(Radians(115.04 - 675.5533 * y))) + (47 * Cos(Radians(150.17 - 337.1815 * y))) + (0 * Cos(Radians(291.19 + 22.8090 * y))) + (0 * Cos(Radians(174.74 - 145.7817 * y))) + (11 * Cos(Radians(70.47 - 314.3724 * y))) + (0 * Cos(Radians(199.12 + 45.6181 * y))) + (163 * Cos(Radians(292.80 - 329.6447 * y))) + (0 * Cos(Radians(206.65 + 30.3458 * y))) + (93 * Cos(Radians(47.52 - 659.2893 * y))) + (34 * Cos(Radians(22.70 - 299.2989 * y))) + (18 * Cos(Radians(71.88 - 628.9435 * y))) + (10 * Cos(Radians(309.26 - 347.7725 * y))) + (0 * Cos(Radians(137.91 + 12.2179 * y))) + (0 * Cos(Radians(251.38 + 0.2020 * y))) + (0 * Cos(Radians(207.51 + 1.5027 * y)))) * 10^-7
- 太陽座標X = 動径R * COS(RADIANS(黄経Ls))
- 太陽座標Y = 0.9174821 * 動径R * SIN(RADIANS(黄経Ls)) + 0.0000009 * y * SIN(RADIANS(黄経Ls + 5.14 - 0.91 * T))
- 太陽座標Z = 0.3977772 * 動径R * SIN(RADIANS(黄経Ls)) - 0.0000021 * y * SIN(RADIANS(黄経Ls + 5.14 - 0.91 * T))
- ν = n° * (予報t° - (光差補正t°_1 + 光差補正t°_2) / 2)
- Δcosδcosα = a * Px * COS(RADIANS(ν)) + a * Qx * SIN(RADIANS(ν)) + 太陽座標X
- Δcosδsinα = a * Py * COS(RADIANS(ν)) + a * Qy * SIN(RADIANS(ν)) + 太陽座標Y
- Δsinδ = a * Pz * COS(RADIANS(ν)) + a * Qz * SIN(RADIANS(ν)) + 太陽座標Z
- α = ATAN(Δcosδsinα / Δcosδcosα)
- α度 = MOD(IF(DEGREES(α) < 0, DEGREES(α) + 360, DEGREES(α)), 360)
- α度の象限 = If(α度 >= 0 and α度 < 90, 1, If(α度 >= 90 and α度 <180, 2, If(α度 >= 180 and α度 <270, 3, If(α度 >= 270 and α度 < 360, 4, ""))))
- (Δcosδは常に正であるから)
- α度の正しい象限 = If(Δcosδcosα > 0 and Δcosδsinα >= 0, 1, If(Δcosδcosα <= 0 and Δcosδsinα > 0, 2, If(Δcosδcosα < 0 and Δcosδsinα <= 0, 3, If(Δcosδsinα < 0 and Δcosδcosα > 0, 4, ""))))
- 補正α度 = IF(α度の正しい象限 = α度の象限 , α度, MOD((α度 + 180), 360))
- 予報赤経時 = INT(補正α度 / 15)
- 予報赤経分 = INT((補正α度 - 予報赤経時 * 15) / 15 * 60)
- 予報赤経秒 = (補正α度 - 予報赤経時 * 15 - 予報赤経分 * 15 / 60) / 15 * 3600
- Δcosδ = Δcosδcosα / COS(RADIANS(補正α度))
- δ = ATAN(Δsinδ / Δcosδ)
- δ度 = IF(DEGREES(δ) < 0, -DEGREES(δ), DEGREES(δ))
- δ度の象限 = If(δ度 >= 0, 1, 4)
- (δは - 90 度から 90 度まで。sinδが正なら北緯(第一象限)、負なら南緯(第四象限)。cosδは常に正)
- δ度の正しい象限 = IF(Δsinδ >= 0, 1, 4)
- 補正δ度 = IF(δ度の象限 = δ度の正しい象限, δ度, -δ度)
- 予報赤緯度 = IF(補正δ度 >= 0, INT(補正δ度), -INT(ABS(補正δ度)))
- 予報赤緯分 = INT((ABS(補正δ度) - ABS(予報赤緯度)) * 60)
- 予報赤緯秒 = (ABS(補正δ度) - ABS(予報赤緯度) - 予報赤緯分 / 60) * 3600
- 地心距離Δ = ABS(Δsinδ / SIN(RADIANS(補正δ度)))
【使い方・その他】
- 第一観測並びに第二観測データを入力する。時刻は世界時 (U.T.)。(暦表示 (ET) との差は僅少なので無視する)
- 軌道半径「a」を小惑星の平均である「2.5」付近から入力し、「差」を見ながら追い込んでいく。この際テキスト欄にコピー・ペースとしておくと便利。「差」が 1 秒角以内に収まればよい。地球・小惑星の位置関係など様々な理由から「a」が求まらないことがある。
- 主に昇交点黄経、軌道傾斜角、軌道半径については小惑星カタログと照合できる程度の精度が出ると思われる。
- 自動的に計算される太陽の赤道直交座標は 2000 年分点の値。(参考書:東亜天文学会誌「天界」 1991. Nov. P.355 長谷川一郎氏) 1950 年分点については冒頭に記載した参考書を見られたい。「天文観測年表」・地人書館に発表されるデータと比較して小数点以下五ないし六桁まで一致する。
作者は軌道計算の理屈を十分理解しておらず、参考書の公式を単純にテンプレート化したに過ぎないので難しい質問には答えられないことをお断りしておきます。
Back