stud

study spacejunk
Log | Files | Refs | LICENSE

task1.py (830B) - Raw


      1 #!/usr/bin/python3
      2 
      3 from math import sin, cos, sqrt, e, log, radians, degrees
      4 
      5 
      6 def sinq(x):
      7     return sin(x)**2
      8 
      9 
     10 def sqr(x):
     11     return x**2
     12 
     13 
     14 # duota
     15 B = radians(13)
     16 
     17 # didysis pusašis
     18 a = 6378137
     19 
     20 # suspaudimas
     21 alpha = 1/298.25722
     22 
     23 # mažasis pusašis
     24 b = a*(1-alpha)
     25 
     26 # ekscentricitetas
     27 e2 = (a**2-b**2)/(a**2)
     28 
     29 # meridiano kreivumo spindulys
     30 M = a*(1-e2)/((1-e2*sinq(B))**3/2)
     31 
     32 # meridiano vertikalės kreivumo spindulys
     33 N = a/sqrt(1-e2*sinq(B))
     34 
     35 # vidutinis kreivumo spindulys
     36 R = sqrt(M*N)
     37 
     38 # lygiagretės spindulys
     39 r = N * cos(B)
     40 
     41 # Lygiagretės lanko ilgis metrais
     42 Sn = r/degrees(1)
     43 
     44 # Trapecijos plotas esant 1 radiano platumai
     45 P = sqr(b)/2 * ( sin(B)/(1-e2*sinq(B)) + 1/(2*e)*log( (1+e*sin(B))/(1-e*sin(B)) ) )
     46 
     47 g = globals()
     48 for v in ["b", "e2", "M", "N", "R", "r", "Sn", "P"]:
     49     print("%2s: %18.4f" % (v, g[v]))