Class: When::Ephemeris::VariableYearLengthMethod

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

Overview

Solar Calendar Formula for Variable Year Length Method

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

Parts::MethodCash::Escape

Constants included from Parts::Resource

Parts::Resource::LabelProperty

Instance Attribute Summary

Attributes inherited from Formula

#alt, #formula, #graha, #is_dynamical, #lat, #location, #long, #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_visibility, #moonrise, #moonset, #nearest_past, #sun_noon, #sunrise, #sunset, #thiti_range, #year_event

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

_setup_, escape, #method_missing, #method_missing_

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

Dynamic Method Handling

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

Instance Method Details

#cn_to_time_(cn, time0 = nil) ⇒ Numeric

周期番号 -> 日時

Parameters:

  • cn (Numeric)

    周期番号

  • time0 (Numeric) (defaults to: nil)

    日時の初期近似値

Returns:


1917
1918
1919
1920
# File 'lib/when_exe/ephemeris.rb', line 1917

def cn_to_time_(cn, time0=nil)
  t, n = (cn / 12.0 - @longitude_shift - @year_epoch).divmod(1)
  @day_epoch + @year_length * t - @year_delta * t * (t-1) + (@year_length - 2 * @year_delta * t) * n
end

#time_to_cn(t, cn0 = nil) ⇒ Numeric

日時 -> 周期番号

Parameters:

Returns:


1905
1906
1907
1908
# File 'lib/when_exe/ephemeris.rb', line 1905

def time_to_cn(t, cn0=nil)
  cn0 ||= (t.to_f - @day_epoch) / @year_length + @year_epoch + @longitude_shift
  root(cn0 * 12, t.to_f) {|cn| cn_to_time(cn) }
end