eph_bpn 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,45 @@
1
+ module EphBpn
2
+ class Ephemeris
3
+ attr_reader :tdb, :jd, :jc, :eps
4
+ include Compute
5
+
6
+ def initialize(tdb)
7
+ @tdb = tdb # 太陽系力学時
8
+ @jd = gc2jd(@tdb) # TDB -> JD(ユリウス日)
9
+ @jc = jd2jc(@jd) # ユリウス世紀
10
+ @eps = compute_obliquity(@jc) # 平均黄道傾斜角
11
+ end
12
+
13
+ #=========================================================================
14
+ # Bias 適用
15
+ #
16
+ # @param: pos (適用前直角座標)
17
+ # @return: pos_b (適用後直角座標)
18
+ #=========================================================================
19
+ def apply_bias(pos)
20
+ #return rotate(r_generic, pos) # 一般的な理論
21
+ return rotate(r_fw_iau_06, pos) # IAU 2006 (Fukushima-Williams) 理論
22
+ end
23
+
24
+ #=========================================================================
25
+ # Precession(歳差) 適用
26
+ #
27
+ # @param: pos (適用前直角座標)
28
+ # @return: pos_p (適用後直角座標)
29
+ #=========================================================================
30
+ def apply_prec(pos)
31
+ return rotate(r_prec, pos)
32
+ end
33
+
34
+ #=========================================================================
35
+ # Nutation(章動) 適用
36
+ #
37
+ # @param: pos (適用前直角座標)
38
+ # @return: pos_n (適用後直角座標)
39
+ #=========================================================================
40
+ def apply_nut(pos)
41
+ return rotate(r_nut, pos)
42
+ end
43
+ end
44
+ end
45
+
@@ -0,0 +1,3 @@
1
+ module EphBpn
2
+ VERSION = "0.1.0"
3
+ end
data/lib/eph_bpn.rb ADDED
@@ -0,0 +1,15 @@
1
+ require 'date'
2
+ require "eph_bpn/version"
3
+ require "eph_bpn/argument"
4
+ require "eph_bpn/compute"
5
+ require "eph_bpn/consts"
6
+ require "eph_bpn/ephemeris"
7
+
8
+ module EphBpn
9
+ def self.new(arg)
10
+ arg ||= Time.now.strftime("%Y%m%d%H%M%S")
11
+ tdb = EphBpn::Argument.new(arg).get_tdb
12
+ return unless tdb
13
+ return EphBpn::Ephemeris.new(tdb)
14
+ end
15
+ end
metadata ADDED
@@ -0,0 +1,105 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: eph_bpn
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - komasaru
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-07-24 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.12'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.12'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
55
+ description: EphBpn is a ephemeris(Bias, Precession, Nutation) calculation tool.
56
+ email:
57
+ - masaru@mk-mode.com
58
+ executables:
59
+ - eph_bpn
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - ".gitignore"
64
+ - ".rspec"
65
+ - ".travis.yml"
66
+ - Gemfile
67
+ - Guardfile
68
+ - LICENSE.txt
69
+ - README.md
70
+ - Rakefile
71
+ - bin/console
72
+ - bin/setup
73
+ - eph_bpn.gemspec
74
+ - exe/eph_bpn
75
+ - lib/eph_bpn.rb
76
+ - lib/eph_bpn/argument.rb
77
+ - lib/eph_bpn/compute.rb
78
+ - lib/eph_bpn/consts.rb
79
+ - lib/eph_bpn/ephemeris.rb
80
+ - lib/eph_bpn/version.rb
81
+ homepage: https://github.com/komasaru/eph_bpn
82
+ licenses:
83
+ - MIT
84
+ metadata: {}
85
+ post_install_message:
86
+ rdoc_options: []
87
+ require_paths:
88
+ - lib
89
+ required_ruby_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ required_rubygems_version: !ruby/object:Gem::Requirement
95
+ requirements:
96
+ - - ">="
97
+ - !ruby/object:Gem::Version
98
+ version: '0'
99
+ requirements: []
100
+ rubyforge_project:
101
+ rubygems_version: 2.6.6
102
+ signing_key:
103
+ specification_version: 4
104
+ summary: Ephemeris(Bias, Precession, Nutation) calculation tool.
105
+ test_files: []