Class: When::Ephemeris::Earth

Inherits:
Datum show all
Defined in:
lib/when_exe/region/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::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, #eclipse, #elongation, #equation_of_time, #mean_longitude, #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

#[], #^, _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

#synchronize

Constructor Details

#initialize(*args) ⇒ Earth

オブジェクトの生成



185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
# File 'lib/when_exe/region/sun.rb', line 185

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

地球の位置 (黄道座標)



168
169
170
171
172
173
# File 'lib/when_exe/region/sun.rb', line 168

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)



179
180
181
# File 'lib/when_exe/region/sun.rb', line 179

def mean_motion
  P3L[0][2]
end