Class: When::Ephemeris::Sun

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

Overview

The Sun

Constant Summary collapse

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::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

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, #eclipse, #elongation, #equation_of_time

Methods inherited from CelestialObject

#coords

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) ⇒ Sun

オブジェクトの生成


144
145
146
147
148
149
150
151
152
153
# File 'lib/when_exe/region/sun.rb', line 144

def initialize(*args)
  options = [args.pop] if args[-1].kind_of?(Hash)
  surface_radius, aberration, luminosity, *rest = args
  surface_radius ||= 696000.0
  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:


93
94
95
# File 'lib/when_exe/region/sun.rb', line 93

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:


82
83
84
# File 'lib/when_exe/region/sun.rb', line 82

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

.true_longitude(t) ⇒ Numeric

視黄経 / CIRCLE

Parameters:

Returns:


69
70
71
72
73
# File 'lib/when_exe/region/sun.rb', line 69

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:


105
106
107
# File 'lib/when_exe/region/sun.rb', line 105

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

#mean_longitude(t) ⇒ 0

平均黄経 / CIRCLE

Parameters:

Returns:

  • (0)

127
128
129
# File 'lib/when_exe/region/sun.rb', line 127

def mean_longitude(t)
  0
end

#mean_motion0

平均運動 / (DEG/YEAR)

Parameters:

Returns:

  • (0)

138
139
140
# File 'lib/when_exe/region/sun.rb', line 138

def mean_motion
  0
end

#true_longitude(t) ⇒ 0

視黄経 / CIRCLE

Parameters:

Returns:

  • (0)

116
117
118
# File 'lib/when_exe/region/sun.rb', line 116

def true_longitude(t)
  0
end