Class: When::Ephemeris::Sun

Inherits:
Datum show all
Extended by:
When::Ephemeris
Defined in:
lib/when_exe/ephemeris/sun.rb

Overview

The Sun

Constant Summary collapse

Radius =
696000.0
S0 =

太陽の中心差の位相

[356.531, 359.990504, -1.49416E-8]
S1 =

太陽の中心差の振幅

[  1.9159, -4.8E-5  , -1.44444E-9]

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

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

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

Class Method Summary collapse

Instance Method Summary collapse

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 inherited from Datum

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

Methods inherited from CelestialObject

#coords

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, #parent, #registered?, root_dir

Methods included from Parts::Resource::Pool

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

Methods included from Parts::Resource::Synchronize

#synchronize

Constructor Details

#initialize(*args) ⇒ Sun

オブジェクトの生成



148
149
150
151
152
153
154
155
156
157
# File 'lib/when_exe/ephemeris/sun.rb', line 148

def initialize(*args)
  options = [args.pop] if args[-1].kind_of?(Hash)
  surface_radius, aberration, luminosity, *rest = args
  surface_radius ||= Radius
  aberration     ||= 0.00000
  luminosity     ||= 4.58
  args  = [surface_radius, aberration, luminosity] + rest
  args += options if options
  super(*args)
end

Dynamic Method Handling

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

Class Method Details

.mean_longitude(t) ⇒ Numeric

平均黄経 / CIRCLE

Parameters:

Returns:



97
98
99
# File 'lib/when_exe/ephemeris/sun.rb', line 97

def mean_longitude(t)
  return trigonometric(julian_year_from_1975(+t), P3L, 0.0, 1) / 360.0 + 1974.0
end

.pi(t) ⇒ Numeric

距離 / AU

Parameters:

Returns:



86
87
88
# File 'lib/when_exe/ephemeris/sun.rb', line 86

def pi(t)
  return 10.0**(0.000030+trigonometric(julian_year_from_1975(+t), P3Q))
end

.true_longitude(t) ⇒ Numeric

視黄経 / CIRCLE

Parameters:

Returns:



73
74
75
76
77
# File 'lib/when_exe/ephemeris/sun.rb', line 73

def true_longitude(t)
  y = julian_year_from_1975(+t)
  return (sind(S0[0]+y*(S0[1]+y*S0[2]))*(S1[0]+y*(S1[1]+y*S1[2])) +
          trigonometric(y, P3L)) / 360.0 + 1974.0
end

Instance Method Details

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

位置 (黄道座標)

Parameters:

Returns:



109
110
111
# File 'lib/when_exe/ephemeris/sun.rb', line 109

def _coords(t)
  Coords.polar(0, 0, 0, 0)
end

#mean_longitude(t) ⇒ 0

平均黄経 / CIRCLE

Parameters:

Returns:

  • (0)


131
132
133
# File 'lib/when_exe/ephemeris/sun.rb', line 131

def mean_longitude(t)
  0
end

#mean_motion0

平均運動 / (DEG/YEAR)

Parameters:

Returns:

  • (0)


142
143
144
# File 'lib/when_exe/ephemeris/sun.rb', line 142

def mean_motion
  0
end

#true_longitude(t) ⇒ 0

視黄経 / CIRCLE

Parameters:

Returns:

  • (0)


120
121
122
# File 'lib/when_exe/ephemeris/sun.rb', line 120

def true_longitude(t)
  0
end