mk_apos 0.1.3 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/lib/mk_apos/apos.rb +9 -2
- data/lib/mk_apos/compute.rb +14 -4
- data/lib/mk_apos/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 837c66b936249ba907cbe6718b49c249c88db3407bfcf0a95598bbe5e86d9be1
|
4
|
+
data.tar.gz: 28237ce6ea17a306c287fa22ae55618d5cf30d7d07d4bd73c797febddbcbc0c7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 62e2d6e5413d502778b9ba5ac9816f51b96f599b46964545508c2b9ade0c1ea12c0de15d65f080b235b66b3559f126d0daed8ddf66766b34bbb0c386f7802070
|
7
|
+
data.tar.gz: a8594715220b2a773b09d53b9dc5451e8d6c40211fa570a4c17da315de55667693d1e36d9eb88e8eee1bfa805a6470a69265963471f5ab5ff41d7e914f503ae2
|
data/lib/mk_apos/apos.rb
CHANGED
@@ -15,13 +15,19 @@ module MkApos
|
|
15
15
|
Const::BODIES.each { |k, v| @icrs_2[k] = get_icrs(v, @jd_tdb) }
|
16
16
|
# === 時刻 t2(= TDB) における地球と太陽・月の距離
|
17
17
|
@r_e = get_r_e
|
18
|
+
# === 太陽/月/地球の半径取得
|
19
|
+
e = EphJpl.new(@bin_path, 11, 3, @jd_tdb)
|
20
|
+
@asun = e.bin[:cvals][e.bin[:cnams].index("ASUN")]
|
21
|
+
@am = e.bin[:cvals][e.bin[:cnams].index("AM")]
|
22
|
+
@re = e.bin[:cvals][e.bin[:cnams].index("RE")]
|
18
23
|
end
|
19
24
|
|
20
25
|
#=========================================================================
|
21
26
|
# SUN
|
22
27
|
#
|
23
28
|
# @param: <none>
|
24
|
-
# @return: [lambda, beta, d]
|
29
|
+
# @return: [[lambda, beta, d], [alpha, delta, d], [apparent_radius, parallax]]
|
30
|
+
# (太陽視黄経、視黄緯、地心距離、視赤経、視赤緯、地心距離、視半径、視差))
|
25
31
|
#=========================================================================
|
26
32
|
def sun
|
27
33
|
return compute_sun
|
@@ -31,7 +37,8 @@ module MkApos
|
|
31
37
|
# MOON
|
32
38
|
#
|
33
39
|
# @param: <none>
|
34
|
-
# @return: [alpha, delta]
|
40
|
+
# @return: [[lambda, beta, d], [alpha, delta, d], [apparent_radius, parallax]]
|
41
|
+
# (月視黄経、視黄緯、地心距離、視赤経、視赤緯、地心距離、視半径、視差))
|
35
42
|
#=========================================================================
|
36
43
|
def moon
|
37
44
|
return compute_moon
|
data/lib/mk_apos/compute.rb
CHANGED
@@ -82,7 +82,7 @@ module MkApos
|
|
82
82
|
# 視黄経・視黄緯の計算(太陽)
|
83
83
|
#
|
84
84
|
# @param: <none>
|
85
|
-
# @return: [[視赤経, 視赤緯, 地心距離], [視黄経, 視黄緯, 地心距離]]
|
85
|
+
# @return: [[視赤経, 視赤緯, 地心距離], [視黄経, 視黄緯, 地心距離], [視半径, 視差]]
|
86
86
|
#=========================================================================
|
87
87
|
def compute_sun
|
88
88
|
# === 太陽が光を発した時刻 t1(JD) の計算
|
@@ -101,7 +101,12 @@ module MkApos
|
|
101
101
|
eq_pol_s = MkCoord.rect2pol(pos_sun_bpn)
|
102
102
|
ec_rect_s = MkCoord.rect_eq2ec(pos_sun_bpn, bpn.eps)
|
103
103
|
ec_pol_s = MkCoord.rect2pol(ec_rect_s)
|
104
|
-
|
104
|
+
# === 視半径/(地平)視差計算
|
105
|
+
radius = Math.asin(@asun / (eq_pol_s[2] * Const::AU / 1000))
|
106
|
+
radius *= 180 / Math::PI * 3600
|
107
|
+
parallax = Math.asin(@re / (eq_pol_s[2] * Const::AU / 1000))
|
108
|
+
parallax *= 180 / Math::PI * 3600
|
109
|
+
return [eq_pol_s, ec_pol_s, [radius, parallax]]
|
105
110
|
rescue => e
|
106
111
|
raise
|
107
112
|
end
|
@@ -110,7 +115,7 @@ module MkApos
|
|
110
115
|
# 視黄経・視黄緯の計算(月)
|
111
116
|
#
|
112
117
|
# @param: <none>
|
113
|
-
# @return: [[視赤経, 視赤緯, 地心距離], [視黄経, 視黄緯, 地心距離]]
|
118
|
+
# @return: [[視赤経, 視赤緯, 地心距離], [視黄経, 視黄緯, 地心距離], [視半径, 視差]]
|
114
119
|
#=========================================================================
|
115
120
|
def compute_moon
|
116
121
|
# === 月が光を発した時刻 t1(jd) の計算
|
@@ -129,7 +134,12 @@ module MkApos
|
|
129
134
|
eq_pol_m = MkCoord.rect2pol(pos_moon_bpn)
|
130
135
|
ec_rect_m = MkCoord.rect_eq2ec(pos_moon_bpn, bpn.eps)
|
131
136
|
ec_pol_m = MkCoord.rect2pol(ec_rect_m)
|
132
|
-
|
137
|
+
# === 視半径/(地平)視差計算
|
138
|
+
radius = Math.asin(@am / (eq_pol_m[2] * Const::AU / 1000))
|
139
|
+
radius *= 180 / Math::PI * 3600
|
140
|
+
parallax = Math.asin(@re / (eq_pol_m[2] * Const::AU / 1000))
|
141
|
+
parallax *= 180 / Math::PI * 3600
|
142
|
+
return [eq_pol_m, ec_pol_m, [radius, parallax]]
|
133
143
|
rescue => e
|
134
144
|
raise
|
135
145
|
end
|
data/lib/mk_apos/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mk_apos
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- komasaru
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: eph_bpn
|
@@ -154,7 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
version: '0'
|
155
155
|
requirements: []
|
156
156
|
rubyforge_project:
|
157
|
-
rubygems_version: 2.
|
157
|
+
rubygems_version: 2.7.7
|
158
158
|
signing_key:
|
159
159
|
specification_version: 4
|
160
160
|
summary: Apparent position calculation tool.
|