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
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
_adjust, _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 included from Parts::Resource
#[], #^, _decode, _encode, _extract_prefix, _instance, _parse, _path_with_prefix, _replace_tags, _setup_, #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)
光行差 / 度
751 752 753 |
# File 'lib/when_exe/ephemeris.rb', line 751 def aberration @aberration end |
#luminosity ⇒ Numeric (readonly)
光度 / magnitude
755 756 757 |
# File 'lib/when_exe/ephemeris.rb', line 755 def luminosity @luminosity end |
Instance Method Details
#coords(t, base = nil) ⇒ When::Ephemeris::Coords
天体位置 (黄道座標)
765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 |
# File 'lib/when_exe/ephemeris.rb', line 765 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 |