Class: When::Ephemeris::Earth

Inherits:
Datum show all
Defined in:
lib/when_exe/ephemeris/sun.rb

Overview

The Earth

Direct Known Subclasses

JGD2000, Shadow

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::ConstList, Parts::Resource::ConstTypes, Parts::Resource::IRIDecode, Parts::Resource::IRIDecodeTable, Parts::Resource::IRIEncode, Parts::Resource::IRIEncodeTable, Parts::Resource::IRIHeader, Parts::Resource::LabelProperty

Instance Attribute Summary

Attributes inherited from Datum

#air, #axis, #dl, #first_day, #jsl, #jsn, #jsr, #jst, #last_day, #nn, #phi, #radius, #shape, #sid, #surface_radius, #theta, #zeros

Attributes inherited from CelestialObject

#aberration, #luminosity

Attributes inherited from BasicTypes::Object

#label

Attributes included from Parts::Resource

#_pool, #child, #keys, #locale, #namespace

Instance Method Summary collapse

Methods inherited from Datum

#apparent_luminosity, #apparent_radius, #axis_of_rotation, #elongation, #equation_of_time, #mean_longitude, #phase_of_eclipse, #true_longitude

Methods inherited from CelestialObject

#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

#[], #^, _abbreviation_to_iri, _decode, _encode, _extract_prefix, _instance, _instantiate, _parse, _path_with_prefix, _replace_tags, _setup_, _setup_info, _simplify_path, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #next, #parent, #prev, #registered?, root_dir

Methods included from Parts::Resource::Pool

#[], #[]=, #_pool, #_setup_, #pool_keys

Methods included from Parts::Resource::Synchronize

#synchronize

Constructor Details

#initialize(*args) ⇒ Earth

オブジェクトの生成



189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# File 'lib/when_exe/ephemeris/sun.rb', line 189

def initialize(*args)
  options = {
    'shape' => [0.998327112, +0.001676399, -0.000003519, -11.514/60.0],
    'sid'   => [6.697375, 2400.0513369, 0.0000259],
    'zeros' => {'Z'=>0, 'A'=>-0.58555, '0'=>-0.85255, 'T'=>-7.36111},
    'air'   => [10.0, 0.40, 20.0]
  }
  options.update(args.pop) if args[-1].kind_of?(Hash)
  surface_radius, aberration, luminosity, *rest = args
  surface_radius ||= 6378.14
  aberration     ||=    0.0056932
  luminosity     ||=   -3.50
  args = [surface_radius, aberration, luminosity] + rest + [options]
  super(*args)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class When::Parts::Resource

Instance Method Details

#_coords(t) ⇒ When::Ephemeris::Coords

地球の位置 (黄道座標)

Parameters:

Returns:



172
173
174
175
176
177
# File 'lib/when_exe/ephemeris/sun.rb', line 172

def _coords(t)
  t  = +t
  radius = Sun.pi(t)
  dl = 0.5 + @aberration / radius / 360 # 略算式に含まれる光行差をキャンセルする
  Coords.polar(Sun.true_longitude(t)+dl, 0, radius, Sun.mean_longitude(t)+dl)
end

#mean_motionNumeric

地球の平均運動 / (DEG/YEAR)

Returns:



183
184
185
# File 'lib/when_exe/ephemeris/sun.rb', line 183

def mean_motion
  P3L[0][2]
end