eph_bpn 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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