コード例 #1
0
ファイル: astro.py プロジェクト: rob-blackbourn/PyFinance
 def precession(cls, tee):
     """Return the precession at moment tee using 0,0 as J2000 coordinates.
     Adapted from "Astronomical Algorithms" by Jean Meeus,
     Willmann-Bell, Inc., 1991."""
     c = cls.julian_centuries(tee)
     eta = mod(poly(c, [0, secs(mpf(47.0029)), secs(mpf(-0.03302)), secs(mpf(0.000060))]), 360)
     cap_P = mod(poly(c, [mpf(174.876384), secs(mpf(-869.8089)), secs(mpf(0.03536))]), 360)
     p = mod(poly(c, [0, secs(mpf(5029.0966)), secs(mpf(1.11113)), secs(mpf(0.000006))]), 360)
     cap_A = cos_degrees(eta) * sin_degrees(cap_P)
     cap_B = cos_degrees(cap_P)
     arg = arctan_degrees(cap_A, cap_B)
 
     return mod(p + cap_P - arg, 360)
コード例 #2
0
ファイル: location.py プロジェクト: rob-blackbourn/PyFinance
 def refraction(self, tee):
     """Return refraction angle at location 'location' and time 'tee'."""
     h     = max(0, self.elevation)
     cap_R = 6.372E6
     dip   = arccos_degrees(cap_R / (cap_R + h))
     return angle(0, 50, 0) + dip + secs(19) * math.sqrt(h)