eph_bpn 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/exe/eph_bpn +4 -0
- data/lib/eph_bpn/compute.rb +42 -42
- data/lib/eph_bpn/ephemeris.rb +16 -11
- data/lib/eph_bpn/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 255f966f8773fae9d08e41c638c378c4c0c6ae28
|
4
|
+
data.tar.gz: 4dbae44ebd99bcac4fd65ca9f9bcb1c82ecba6e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ed2c8c2db252ccf2f905dd1056ab81b8c84ae0fcfcf82b3a1c441dd5fa6bf0b85c0e569024f24af3453b50f6b50de2cc49f180f9e7f4af89792d4e36b6fc63e
|
7
|
+
data.tar.gz: 9f38ffdbd97be6b5af71e3c8110420a37c0b4f2ad2fec4234d2aef89387228a7c72b769b13cec4aa8718becddac4ced33367d61d62b3591c9c805ec386db84a0
|
data/exe/eph_bpn
CHANGED
@@ -12,6 +12,10 @@ puts "TDB: #{e.tdb}" #=> TDB: 2016-07-23 00:00:00 +0000
|
|
12
12
|
puts " JD: #{e.jd}" #=> JD: 2457592.5
|
13
13
|
puts " JC: #{e.jc}" #=> JC: 0.16557152635181382
|
14
14
|
puts "EPS: #{e.eps}" #=> EPS: 0.40905500411767176
|
15
|
+
p e.r_bias # Rotation matrix for Bias
|
16
|
+
p e.r_prec # Rotation matrix for Precession
|
17
|
+
p e.r_nut # Rotation matrix for Nutation
|
18
|
+
p e.r_bias_prec # Rotation matrix for Bias & precession
|
15
19
|
p pos_g #=> [-0.50787065, 0.80728228, 0.34996714]
|
16
20
|
p pos_b #=> [-0.507870315369686, 0.8072824634004779, 0.34996720255697145]
|
17
21
|
p pos_p #=> [-0.5114180771311418, 0.8053955471104202, 0.34914730256926324]
|
data/lib/eph_bpn/compute.rb
CHANGED
@@ -107,7 +107,7 @@ module EphBpn
|
|
107
107
|
# @param: <none>
|
108
108
|
# @return: r (回転行列)
|
109
109
|
#=========================================================================
|
110
|
-
def
|
110
|
+
def comp_r_bias
|
111
111
|
r = r_x( -5.1 * Const::MAS2R)
|
112
112
|
r = r_y(-17.3 * Const::MAS2R, r)
|
113
113
|
r = r_z( 78.0 * Const::MAS2R, r)
|
@@ -116,45 +116,6 @@ module EphBpn
|
|
116
116
|
raise
|
117
117
|
end
|
118
118
|
|
119
|
-
#=========================================================================
|
120
|
-
# Bias + Precession 変換行列
|
121
|
-
#
|
122
|
-
# * IAU 2006 (Fukushima-Williams 4-angle formulation) 理論
|
123
|
-
#
|
124
|
-
# @param: <none>
|
125
|
-
# @return: r (変換行列)
|
126
|
-
#=========================================================================
|
127
|
-
def r_fw_iau_06
|
128
|
-
gamma = (-0.052928 + \
|
129
|
-
(10.556378 + \
|
130
|
-
( 0.4932044 + \
|
131
|
-
(-0.00031238 + \
|
132
|
-
(-0.000002788 + \
|
133
|
-
( 0.0000000260) \
|
134
|
-
* @jc) * @jc) * @jc) * @jc) * @jc) * Const::AS2R
|
135
|
-
phi = (84381.412819 + \
|
136
|
-
( -46.811016 + \
|
137
|
-
( 0.0511268 + \
|
138
|
-
( 0.00053289 + \
|
139
|
-
( -0.000000440 + \
|
140
|
-
( -0.0000000176) \
|
141
|
-
* @jc) * @jc) * @jc) * @jc) * @jc) * Const::AS2R
|
142
|
-
psi = ( -0.041775 + \
|
143
|
-
(5038.481484 + \
|
144
|
-
( 1.5584175 + \
|
145
|
-
( -0.00018522 + \
|
146
|
-
( -0.000026452 + \
|
147
|
-
( -0.0000000148) \
|
148
|
-
* @jc) * @jc) * @jc) * @jc) * @jc) * Const::AS2R
|
149
|
-
r = r_z(gamma)
|
150
|
-
r = r_x(phi, r)
|
151
|
-
r = r_z(-psi, r)
|
152
|
-
r = r_x(-@eps, r)
|
153
|
-
return r
|
154
|
-
rescue => e
|
155
|
-
raise
|
156
|
-
end
|
157
|
-
|
158
119
|
#=========================================================================
|
159
120
|
# precession(歳差)変換行列(J2000.0 用)
|
160
121
|
#
|
@@ -180,7 +141,7 @@ module EphBpn
|
|
180
141
|
# @param: <none>
|
181
142
|
# @return: r (変換行列)
|
182
143
|
#=========================================================================
|
183
|
-
def
|
144
|
+
def comp_r_prec
|
184
145
|
gamma = ((10.556403 + \
|
185
146
|
(0.4932044 + \
|
186
147
|
(-0.00031238 + \
|
@@ -209,13 +170,52 @@ module EphBpn
|
|
209
170
|
raise
|
210
171
|
end
|
211
172
|
|
173
|
+
#=========================================================================
|
174
|
+
# Bias + Precession 変換行列
|
175
|
+
#
|
176
|
+
# * IAU 2006 (Fukushima-Williams 4-angle formulation) 理論
|
177
|
+
#
|
178
|
+
# @param: <none>
|
179
|
+
# @return: r (変換行列)
|
180
|
+
#=========================================================================
|
181
|
+
def comp_r_bias_prec
|
182
|
+
gamma = (-0.052928 + \
|
183
|
+
(10.556378 + \
|
184
|
+
( 0.4932044 + \
|
185
|
+
(-0.00031238 + \
|
186
|
+
(-0.000002788 + \
|
187
|
+
( 0.0000000260) \
|
188
|
+
* @jc) * @jc) * @jc) * @jc) * @jc) * Const::AS2R
|
189
|
+
phi = (84381.412819 + \
|
190
|
+
( -46.811016 + \
|
191
|
+
( 0.0511268 + \
|
192
|
+
( 0.00053289 + \
|
193
|
+
( -0.000000440 + \
|
194
|
+
( -0.0000000176) \
|
195
|
+
* @jc) * @jc) * @jc) * @jc) * @jc) * Const::AS2R
|
196
|
+
psi = ( -0.041775 + \
|
197
|
+
(5038.481484 + \
|
198
|
+
( 1.5584175 + \
|
199
|
+
( -0.00018522 + \
|
200
|
+
( -0.000026452 + \
|
201
|
+
( -0.0000000148) \
|
202
|
+
* @jc) * @jc) * @jc) * @jc) * @jc) * Const::AS2R
|
203
|
+
r = r_z(gamma)
|
204
|
+
r = r_x(phi, r)
|
205
|
+
r = r_z(-psi, r)
|
206
|
+
r = r_x(-@eps, r)
|
207
|
+
return r
|
208
|
+
rescue => e
|
209
|
+
raise
|
210
|
+
end
|
211
|
+
|
212
212
|
#=========================================================================
|
213
213
|
# nutation(章動)変換行列
|
214
214
|
#
|
215
215
|
# @param: <none>
|
216
216
|
# @return: r (変換行列)
|
217
217
|
#=========================================================================
|
218
|
-
def
|
218
|
+
def comp_r_nut
|
219
219
|
dpsi_ls, deps_ls = compute_lunisolar
|
220
220
|
dpsi_pl, deps_pl = compute_planetary
|
221
221
|
dpsi, deps = dpsi_ls + dpsi_pl, deps_ls + deps_pl
|
data/lib/eph_bpn/ephemeris.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module EphBpn
|
2
2
|
class Ephemeris
|
3
|
-
attr_reader :tdb, :jd, :jc, :eps
|
3
|
+
attr_reader :tdb, :jd, :jc, :eps,
|
4
|
+
:r_bias, :r_prec, :r_nut, :r_bias_prec
|
4
5
|
include Compute
|
5
6
|
|
6
7
|
def initialize(tdb)
|
@@ -8,6 +9,10 @@ module EphBpn
|
|
8
9
|
@jd = gc2jd(@tdb) # TDB -> JD(ユリウス日)
|
9
10
|
@jc = jd2jc(@jd) # ユリウス世紀
|
10
11
|
@eps = compute_obliquity(@jc) # 平均黄道傾斜角
|
12
|
+
@r_bias = comp_r_bias # 回転行列(バイアス)
|
13
|
+
@r_prec = comp_r_prec # 回転行列(歳差)
|
14
|
+
@r_nut = comp_r_nut # 回転行列(章動)
|
15
|
+
@r_bias_prec = comp_r_bias_prec # 回転行列(バイアス&歳差)
|
11
16
|
end
|
12
17
|
|
13
18
|
#=========================================================================
|
@@ -17,7 +22,7 @@ module EphBpn
|
|
17
22
|
# @return: pos_b (適用後直角座標)
|
18
23
|
#=========================================================================
|
19
24
|
def apply_bias(pos)
|
20
|
-
return rotate(r_bias, pos)
|
25
|
+
return rotate(@r_bias, pos)
|
21
26
|
end
|
22
27
|
|
23
28
|
#=========================================================================
|
@@ -27,27 +32,27 @@ module EphBpn
|
|
27
32
|
# @return: pos_p (適用後直角座標)
|
28
33
|
#=========================================================================
|
29
34
|
def apply_prec(pos)
|
30
|
-
return rotate(r_prec, pos)
|
35
|
+
return rotate(@r_prec, pos)
|
31
36
|
end
|
32
37
|
|
33
38
|
#=========================================================================
|
34
|
-
#
|
39
|
+
# Nutation(章動) 適用
|
35
40
|
#
|
36
41
|
# @param: pos (適用前直角座標)
|
37
|
-
# @return:
|
42
|
+
# @return: pos_n (適用後直角座標)
|
38
43
|
#=========================================================================
|
39
|
-
def
|
40
|
-
return rotate(
|
44
|
+
def apply_nut(pos)
|
45
|
+
return rotate(@r_nut, pos)
|
41
46
|
end
|
42
47
|
|
43
48
|
#=========================================================================
|
44
|
-
#
|
49
|
+
# Bias + Precession(歳差) 適用
|
45
50
|
#
|
46
51
|
# @param: pos (適用前直角座標)
|
47
|
-
# @return:
|
52
|
+
# @return: pos_p (適用後直角座標)
|
48
53
|
#=========================================================================
|
49
|
-
def
|
50
|
-
return rotate(
|
54
|
+
def apply_bias_prec(pos)
|
55
|
+
return rotate(@r_bias_prec, pos) # IAU 2006 (Fukushima-Williams) 理論
|
51
56
|
end
|
52
57
|
end
|
53
58
|
end
|
data/lib/eph_bpn/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eph_bpn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- komasaru
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-09-
|
11
|
+
date: 2016-09-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|