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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 82ade37ba8efd0aa1c294324fddc96d79229a5cf
4
- data.tar.gz: b4b1b3d03b1f41edc3f7596270100a1a88cc9f38
3
+ metadata.gz: 255f966f8773fae9d08e41c638c378c4c0c6ae28
4
+ data.tar.gz: 4dbae44ebd99bcac4fd65ca9f9bcb1c82ecba6e5
5
5
  SHA512:
6
- metadata.gz: 4c885105a0264105eb4ce7143e65f6a76894ebda64c1666cd0d75298d2fc2bc0bd9ab03581be55937d5a2028c1d6dc291d83ecffdfb6de1e4f48915f0df9a08f
7
- data.tar.gz: 9477203afe7ff658c6529fb2c00058cc553942cc746f8e0697c986754930aeb9b8c7ed771ef1b0a91cf44520762b77003135c026b3a99d2e615c92235f01e9db
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]
@@ -107,7 +107,7 @@ module EphBpn
107
107
  # @param: <none>
108
108
  # @return: r (回転行列)
109
109
  #=========================================================================
110
- def r_bias
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 r_prec
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 r_nut
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
@@ -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
- # Bias + Precession(歳差) 適用
39
+ # Nutation(章動) 適用
35
40
  #
36
41
  # @param: pos (適用前直角座標)
37
- # @return: pos_p (適用後直角座標)
42
+ # @return: pos_n (適用後直角座標)
38
43
  #=========================================================================
39
- def apply_bias_prec(pos)
40
- return rotate(r_fw_iau_06, pos) # IAU 2006 (Fukushima-Williams) 理論
44
+ def apply_nut(pos)
45
+ return rotate(@r_nut, pos)
41
46
  end
42
47
 
43
48
  #=========================================================================
44
- # Nutation(章動) 適用
49
+ # Bias + Precession(歳差) 適用
45
50
  #
46
51
  # @param: pos (適用前直角座標)
47
- # @return: pos_n (適用後直角座標)
52
+ # @return: pos_p (適用後直角座標)
48
53
  #=========================================================================
49
- def apply_nut(pos)
50
- return rotate(r_nut, pos)
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
@@ -1,3 +1,3 @@
1
1
  module EphBpn
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
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.2
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-01 00:00:00.000000000 Z
11
+ date: 2016-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler