Class: When::Ephemeris::MeanLunation

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

Overview

Luni-Solar Calendar Formula for Mean Lunation Type

Direct Known Subclasses

ChineseTrueLunation

Constant Summary

Constants inherited from Formula

Formula::Bs, Formula::CYCLE_0M, Formula::CYCLE_1M, Formula::Sgn

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 collapse

Attributes inherited from Formula

#formula, #graha, #is_dynamical, #lat, #location, #time_standard

Attributes inherited from BasicTypes::Object

#label

Attributes included from Parts::Resource

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

Instance Method Summary collapse

Methods inherited from Formula

#_coords, #_to_seed_type, #day_event, #meridian_passage_of_moon, #meridian_passage_of_sun, #moon_noon, #moon_rise, #moon_set, #moon_visibility, #nearest_past, #sun_noon, #sun_set, #time_to_cn, #year_event

Methods included from When::Ephemeris

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

#method_missing, #method_missing_

Methods inherited from BasicTypes::Object

#tap

Methods included from Parts::Resource

#[], #^, _extract_prefix, _instance, _parse, _path_with_prefix, _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

Dynamic Method Handling

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

Instance Attribute Details

#day_epochNumeric (readonly)

Returns:



1729
1730
1731
# File 'lib/when_exe/ephemeris.rb', line 1729

def day_epoch
  @day_epoch
end

#denominatorNumeric (readonly)

統法

Returns:



1745
1746
1747
# File 'lib/when_exe/ephemeris.rb', line 1745

def denominator
  @denominator
end

#longNumeric (readonly)

計算の基準経度 / 度

Returns:



1717
1718
1719
# File 'lib/when_exe/ephemeris.rb', line 1717

def long
  @long
end

#lunation_lengthNumeric (readonly)

朔望月

Returns:



1741
1742
1743
# File 'lib/when_exe/ephemeris.rb', line 1741

def lunation_length
  @lunation_length
end

#month_epochNumeric (readonly)

計算の元期(月)

Returns:



1725
1726
1727
# File 'lib/when_exe/ephemeris.rb', line 1725

def month_epoch
  @month_epoch
end

#month_lengthNumeric (readonly)

恒星月

Returns:



1737
1738
1739
# File 'lib/when_exe/ephemeris.rb', line 1737

def month_length
  @month_length
end

#year_epochNumeric (readonly)

計算の元期(年)

Returns:



1721
1722
1723
# File 'lib/when_exe/ephemeris.rb', line 1721

def year_epoch
  @year_epoch
end

#year_lengthNumeric (readonly)

Returns:



1733
1734
1735
# File 'lib/when_exe/ephemeris.rb', line 1733

def year_length
  @year_length
end

Instance Method Details

#_mean_moon_(t) ⇒ Numeric Also known as: _true_moon_

月の平均黄経を返します。

Parameters:

  • t (Numeric)

    ユリウス日(Terrestrial Time)

Returns:



1761
# File 'lib/when_exe/ephemeris.rb', line 1761

def _mean_moon_(t) (t - @day_epoch) / @month_length + @month_epoch end

#_mean_sun_(t) ⇒ Numeric Also known as: _true_sun_

太陽の平均黄経を返します。

Parameters:

  • t (Numeric)

    ユリウス日(Terrestrial Time)

Returns:



1753
# File 'lib/when_exe/ephemeris.rb', line 1753

def _mean_sun_(t)  (t - @day_epoch) / @year_length + @year_epoch end

#sun_rise(sdn, height = nil) ⇒ Numeric

日の出の日時

Parameters:

  • sdn (Numeric)

    ユリウス日(Terrestrial Time)

  • height (Numeric) (defaults to: nil)

    観測地の高度(本クラスでは使用しない)

Returns:

  • (Numeric)

    日の出の日時のユリウス日



1770
1771
1772
# File 'lib/when_exe/ephemeris.rb', line 1770

def sun_rise(sdn, height=nil)
  return sdn.to_i - @long / 360.0 - 0.25
end