Method: When::TimeStandard::TemporalHourSystem#to_dynamical_time
- Defined in:
- lib/when_exe/timestandard.rb
#to_dynamical_time(time) ⇒ Numeric
temporal hour system を dynamical time に変換する
645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 |
# File 'lib/when_exe/timestandard.rb', line 645 def to_dynamical_time(time) noon, frac = When::TM::JulianDate._t_to_d(time).divmod(1) r, *p = case (frac * 4).floor when 3 ; [-1.5, [noon+1, -1],[noon+1, +1]] # morning when 0 ; [+0.5, [noon, -1],[noon, +1]] # afternoon else ; [-0.5, [noon, +1],[noon+1, -1]] # night end s, e = p.map {|v| When::TM::JulianDate._d_to_t(@formula.day_event(_to_dynamical_date(v[0]), v[1], When.Resource('_ep:Sun'), @height)) } s + (e - s) * (frac * 2 + r) end |