Class: When::Ephemeris::Shadow

Inherits:
Earth show all
Defined in:
lib/when_exe/ephemeris/moon.rb

Overview

The Shadow of the Earth

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, PSEC, Pluto, SIN, SINL, SINLT, SINT, Saturn, Uranus, Venus

Constants included from Namespace

Namespace::DC, Namespace::DCQ, Namespace::DCT, Namespace::FOAF, Namespace::OWL, Namespace::RDF, Namespace::RDFC, Namespace::RDFS, Namespace::RSS, Namespace::XSD

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

#child, #keys, #locale, #namespace

Instance Method Summary collapse

Methods inherited from Earth

#mean_motion

Methods inherited from Datum

#apparent_luminosity, #axis_of_rotation, #elongation, #equation_of_time, #mean_longitude, #mean_motion, #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

#[], #^, _instance, _setup_, _setup_info, base_uri, #each, #enum_for, #hierarchy, #include?, #included?, #iri, #leaf?, #m17n, #map, #parent, #registered?, root_dir

Methods included from Parts::Resource::Pool

#[], #[]=, #_setup_

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:



309
310
311
312
313
314
# File 'lib/when_exe/ephemeris/moon.rb', line 309

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

#apparent_radius(t, base = nil) ⇒ Numeric

地球の影の視半径 / CIRCLE

Parameters:

Returns:



324
325
326
327
328
329
330
# File 'lib/when_exe/ephemeris/moon.rb', line 324

def apparent_radius(t, base=nil)
  t  = +t
  radius = Sun.pi(t) * AU
  (asin(surface_radius/Moon.pi(t)) -
   asin(Ephemeris::Sun::Radius/radius) +
   asin(surface_radius/radius)) * 1.02 / CIRCLE
end