Class: Astronoby::Sun

Inherits:
Object
  • Object
show all
Defined in:
lib/astronoby/bodies/sun.rb

Instance Method Summary collapse

Constructor Details

#initialize(epoch:) ⇒ Sun

Source:

Title: Celestial Calculations
Author: J. L. Lawrence
Edition: MIT Press
Chapter: 6 - The Sun


11
12
13
# File 'lib/astronoby/bodies/sun.rb', line 11

def initialize(epoch:)
  @epoch = epoch
end

Instance Method Details

#ecliptic_coordinatesObject



15
16
17
18
19
20
21
22
# File 'lib/astronoby/bodies/sun.rb', line 15

def ecliptic_coordinates
  Coordinates::Ecliptic.new(
    latitude: Angle.zero,
    longitude: Angle.as_degrees(
      (true_anomaly + longitude_at_perigee).degrees % 360
    )
  )
end

#horizontal_coordinates(latitude:, longitude:) ⇒ Object



24
25
26
27
28
29
30
# File 'lib/astronoby/bodies/sun.rb', line 24

def horizontal_coordinates(latitude:, longitude:)
  time = Epoch.to_utc(@epoch)

  ecliptic_coordinates
    .to_equatorial(epoch: @epoch)
    .to_horizontal(time: time, latitude: latitude, longitude: longitude)
end