Class: When::Ephemeris::CelestialObject
- Inherits:
-
BasicTypes::Object
- Object
- BasicTypes::Object
- When::Ephemeris::CelestialObject
- Includes:
- When::Ephemeris
- Defined in:
- lib/when_exe/ephemeris.rb
Overview
天体
天体の特性を定義する
Constant Summary
Constants included from When::Ephemeris
AU, AcS, BCENT, C0, CIRCLE, COS, COSL, COSLT, COST, DAY, DEG, EPOCH1800, EPOCH1900, EPOCH1975, EPOCH2000, FARAWAY, JCENT, JYEAR, Jupiter, LIN, Mars, Mercury, Neptune, P0B, P0L, P0P, P0dB, P0dL, P1B, P1L, P1R, P2B, P2L, P2Q, P2dL, P3L, P3Q, P4B, P4L, P4Q, P4dL, P5B, P5L, P5Q, P5dL, P5l, P5n, P5r, P5t, P6B, P6L, P6Q, P6dL, P6l, P6n, P6r, P6t, P7B, P7L, P7R, P8B, P8L, P8R, P9B, P9L, P9R, PSEC, Pluto, SIN, SINL, SINLT, SINT, Saturn, Uranus, Venus
Constants included from Parts::Resource
Parts::Resource::LabelProperty, Parts::Resource::Prefix, Parts::Resource::PrefixIndex, Parts::Resource::PrefixKeys, Parts::Resource::PrefixValues
Instance Attribute Summary collapse
-
#aberration ⇒ Numeric
readonly
光行差 / 度.
-
#luminosity ⇒ Numeric
readonly
光度 / magnitude.
Attributes inherited from BasicTypes::Object
Attributes included from Parts::Resource
#_pool, #child, #keys, #locale, #namespace
Instance Method Summary collapse
-
#coords(t, base = nil) ⇒ When::Ephemeris::Coords
天体位置 (黄道座標).
Methods included from When::Ephemeris
_rot, _to_p2, _to_p3, _to_r3, acos, asin, cosc, cosd, delta_e, delta_p, julian_century_from_2000, julian_year_from_1975, obl, polynomial, root, sinc, sind, tanc, tand, trigonometric
Methods inherited from BasicTypes::Object
Methods included from Parts::Resource
#[], #^, _extract_prefix, _instance, _parse, _path_with_prefix, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?
Methods included from Parts::Resource::Pool
#[], #[]=, #_pool, #_setup_, #pool_keys
Methods included from Parts::Resource::Synchronize
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class When::Parts::Resource
Instance Attribute Details
#aberration ⇒ Numeric (readonly)
光行差 / 度
714 715 716 |
# File 'lib/when_exe/ephemeris.rb', line 714 def aberration @aberration end |
#luminosity ⇒ Numeric (readonly)
光度 / magnitude
718 719 720 |
# File 'lib/when_exe/ephemeris.rb', line 718 def luminosity @luminosity end |
Instance Method Details
#coords(t, base = nil) ⇒ When::Ephemeris::Coords
天体位置 (黄道座標)
728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 |
# File 'lib/when_exe/ephemeris.rb', line 728 def coords(t, base=nil) t = +t target_coords = self._coords(t) return target_coords unless base base_coords = base._coords(t) differrence = target_coords - base_coords delta_phi = differrence.phi - base_coords.phi phi = differrence.phi theta = differrence.theta if @aberration && @aberration != 0 phi -= @aberration / 360 * cosc(differrence.phi - target_coords.phi) / target_coords.radius end if base.respond_to?(:aberration) phi += base.aberration / 360 / cosc(theta) * cosc(delta_phi) / base_coords.radius theta -= base.aberration / 360 * sinc(theta) * sinc(delta_phi) / base_coords.radius end Coords.polar(phi, theta, differrence.radius, differrence.c) end |