stud

study spacejunk
Log | Files | Refs | LICENSE

measure.py (7409B) - Raw


      1 #!/usr/bin/env python3
      2 from decimal import Decimal as Dec
      3 from deg import Deg
      4 
      5 from math import tan, pi, sqrt
      6 
      7 def fmt(deg):
      8     if deg > 180:
      9         deg -= 360
     10     elif deg < -180:
     11         deg += 360
     12     return "%12.7f" % deg
     13 
     14 def pr(deg): return 270 + deg
     15 def pv(deg): return 270 - deg
     16 def vp(deg): return 180 + deg
     17 def vs(deg): return 180 - deg
     18 def sv(deg): return 90 + deg
     19 def sr(deg): return 90 - deg
     20 def rs(deg): return deg
     21 def rp(deg): return 360 - deg
     22 
     23 # Sklypu pradiniu tasku (1 ir 15) koordinates:
     24 X1 = Dec('16639.290')
     25 Y1 = Dec('25500.960')
     26 X15 = Dec('17191.590')
     27 Y15 = Dec('25121.430')
     28 
     29 # Sklypu sujungimo tasko T3 koordinates:
     30 XT3 = Dec('16971.790')
     31 YT3 = Dec('26685.160')
     32 
     33 Xcoords = Dec('17000')
     34 Ycoords = Dec('26700')
     35 
     36 # T1, T2
     37 XT1 = Dec('16640.989')
     38 YT1 = Dec('25379.137')
     39 XT2 = Dec('17271.328')
     40 YT2 = Dec('25325.608')
     41 
     42 # Pataisos ATKARPOMS:
     43 A = Dec('-2.207')
     44 B = Dec('1.999')
     45 C = Dec('4.838')
     46 D = Dec('2.862')
     47 E = Dec('-5.907')
     48 F = Dec('-3.744')
     49 G = Dec('-1.466')
     50 H = Dec('6.841')
     51 M = Dec('-4.824')
     52 
     53 # Pataisos KAMPAMS:
     54 K = Dec('-7.7422786')
     55 L = Dec('-6.6428275')
     56 N = Dec('-4.2872043')
     57 P = Dec('-3.1145084')
     58 R = Dec('-7.2564859')
     59 S = Dec('3.8874407')
     60 T = Dec('-8.7554531')
     61 
     62 L1L1  = Dec('125.829') + G
     63 L1L2  = Dec('81.682') + E
     64 L1L3  = Dec('61.206') + H
     65 L1L4  = Dec('121.055') + D
     66 L1L5  = Dec('79.892') + B
     67 L1L6  = Dec('159.299') + H
     68 L1L7  = Dec('76.500') + E
     69 L1L8  = Dec('51.091') + G
     70 L1L9  = Dec('93.765') + F
     71 L1L10 = Dec('58.926') + D
     72 L1L11 = Dec('79.061') + M
     73 L1L12 = Dec('121.209') + D
     74 L1L13 = Dec('94.071') + C
     75 L2L1  = Dec('205.221') + C
     76 L2L2  = Dec('122.820') + G
     77 L2L3  = Dec('178.657') + H
     78 L2L4  = Dec('116.987') + B
     79 L2L5  = Dec('84.793') + H
     80 L2L6  = Dec('138.291') + F
     81 L2L7  = Dec('85.607') + H
     82 L2L8  = Dec('114.589') + G
     83 L2L9  = Dec('79.210') + D
     84 
     85 # Drawing angles
     86 DK1K1  = pr(Deg.guess('84-03-08.3').frac + P)
     87 DK1K2  = rp(Deg.guess('112-58-25.4').frac + S)
     88 DK1K3  = vp(Deg.guess('54.3107235').frac + L)
     89 DK1K4  = pr(Deg.guess('84-33-44.2').frac + S)
     90 DK1K5  = pv(Deg.guess('7.8383177').frac + P)
     91 DK1K6  = vp(Deg.guess('23-15-32.7').frac + P)
     92 DK1K7  = pv(Deg.guess('126.2540802').frac + K)
     93 DK1K8  = pv(Deg.guess('205-29-57.8').frac + K)
     94 DK1K9  = rs(Deg.guess('101.7366025').frac + S)
     95 DK1K10 = sv(Deg.guess('160-23-45.2').frac + T)
     96 DK1K11 = pv(Deg.guess('79.8680017').frac + K)
     97 DK1K12 = vs(Deg.guess('52-28-42.4').frac + R)
     98 DK1K13 = sr(Deg.guess('109-01-49.8').frac + T)
     99 DK2K1  = vs(Deg.guess('84-00-34.4').frac + L)
    100 DK2K2  = rs(Deg.guess('76.1245808').frac + N)
    101 DK2K3  = pr(Deg.guess('54-13-28.3').frac + P)
    102 DK2K4  = rp(Deg.guess('182.7394778').frac + S)
    103 DK2K5  = sr(Deg.guess('162-45-25.7').frac + L)
    104 DK2K6  = pr(Deg.guess('60-41-55.2').frac + S)
    105 DK2K7  = rp(Deg.guess('69.4792556').frac + R)
    106 DK2K8  = rp(Deg.guess('130-50-06.1').frac + L)
    107 DK2K9  = vs(Deg.guess('84-08-54.3').frac + K)
    108 
    109 # Answer angles
    110 K1K1  = Deg.guess('84-03-08.3').frac + P
    111 K1K2  = Deg.guess('112-58-25.4').frac + S
    112 K1K3  = Deg.guess('54.3107235').frac + L
    113 K1K4  = Deg.guess('84-33-44.2').frac + S
    114 K1K5  = Deg.guess('7.8383177').frac + P
    115 K1K6  = Deg.guess('23-15-32.7').frac + P
    116 K1K7  = Deg.guess('126.2540802').frac + K
    117 K1K8  = Deg.guess('205-29-57.8').frac + K
    118 K1K9  = Deg.guess('101.7366025').frac + S
    119 K1K10 = Deg.guess('160-23-45.2').frac + T
    120 K1K11 = Deg.guess('79.8680017').frac + K
    121 K1K12 = Deg.guess('52-28-42.4').frac + R
    122 K1K13 = Deg.guess('109-01-49.8').frac + T
    123 K2K1  = Deg.guess('84-00-34.4').frac + L
    124 K2K2  = Deg.guess('76.1245808').frac + N
    125 K2K3  = Deg.guess('54-13-28.3').frac + P
    126 K2K4  = Deg.guess('182.7394778').frac + S
    127 K2K5  = Deg.guess('162-45-25.7').frac + L
    128 K2K6  = Deg.guess('60-41-55.2').frac + S
    129 K2K7  = Deg.guess('69.4792556').frac + R
    130 K2K8  = Deg.guess('130-50-06.1').frac + L
    131 K2K9  = Deg.guess('84-08-54.3').frac + K
    132 
    133 H1 = 4.82
    134 SK1 = 41.08
    135 A1 = H1 * tan(SK1 * pi / 180)
    136 
    137 H2 = 20.38
    138 SK2 = 17.69
    139 A2 = H2 * tan(SK2 * pi / 180)
    140 
    141 
    142 # Area
    143 P1_virsutine = Dec('63425.860')
    144 P2_apatine = Dec('56139.919')
    145 
    146 P3_virsutine = Dec('59232.387')
    147 P4_apatine = Dec('50411.889')
    148 
    149 def f2_v1(h, pv, pa):
    150     return h/3*(float(pv+pa)+sqrt(pv*pa))
    151 
    152 def f3_v2(h, pv, pa):
    153     return h/2*float(pv+pa)
    154 
    155 def f4_v(v1, v2):
    156     return (v1 + v2) / 2
    157 
    158 fig1_v1 = f2_v1(H1, P1_virsutine, P2_apatine)
    159 fig1_v2 = f3_v2(H1, P1_virsutine, P2_apatine)
    160 fig1_v = f4_v(fig1_v1, fig1_v2)
    161 
    162 fig2_v1 = f2_v1(H2, P3_virsutine, P4_apatine)
    163 fig2_v2 = f3_v2(H2, P3_virsutine, P4_apatine)
    164 fig2_v = f4_v(fig2_v1, fig2_v2)
    165 
    166 # Kainos
    167 
    168 rek_kaina = Dec('871.29')
    169 rek_plotas = Dec('97895.626')
    170 
    171 nauj_kaina = Dec('545.84') / 22
    172 nauj_plotas = Dec('34469.766')
    173 
    174 ekspl_kaina = Dec('16.48') / 8
    175 ekspl_plotas = Dec('22960.319')
    176 
    177 visa_kaina = (
    178         rek_kaina * rek_plotas +
    179         nauj_kaina * nauj_plotas +
    180         ekspl_kaina * ekspl_plotas
    181 )
    182 
    183 if __name__ == '__main__':
    184     print("""Sklypu pradiniu tasku (1 ir 15) koordinates:
    185     Atkarpos:
    186     1L-1  = %7.3f""" % (Dec('125.829') + G) + """
    187     1L-2  = %7.3f""" % (Dec('81.682') + E) + """
    188     1L-3  = %7.3f""" % (Dec('61.206') + H) + """
    189     1L-4  = %7.3f""" % (Dec('121.055') + D) + """
    190     1L-5  = %7.3f""" % (Dec('79.892') + B) + """
    191     1L-6  = %7.3f""" % (Dec('159.299') + H) + """
    192     1L-7  = %7.3f""" % (Dec('76.500') + E) + """
    193     1L-8  = %7.3f""" % (Dec('51.091') + G) + """
    194     1L-9  = %7.3f""" % (Dec('93.765') + F) + """
    195     1L-10 = %7.3f""" % (Dec('58.926') + D) + """
    196     1L-11 = %7.3f""" % (Dec('79.061') + M) + """
    197     1L-12 = %7.3f""" % (Dec('121.209') + D) + """
    198     1L-13 = %7.3f""" % (Dec('94.071') + C) + """
    199      
    200     2L-1 = %7.3f""" % (Dec('205.221') + C) + """
    201     2L-2 = %7.3f""" % (Dec('122.820') + G) + """
    202     2L-3 = %7.3f""" % (Dec('178.657') + H) + """
    203     2L-4 = %7.3f""" % (Dec('116.987') + B) + """
    204     2L-5 = %7.3f""" % (Dec('84.793') + H) + """
    205     2L-6 = %7.3f""" % (Dec('138.291') + F) + """
    206     2L-7 = %7.3f""" % (Dec('85.607') + H) + """
    207     2L-8 = %7.3f""" % (Dec('114.589') + G) + """
    208     2L-9 = %7.3f""" % (Dec('79.210') + D) + """
    209 
    210     Kampai:
    211     1K-1  = %s""" % fmt(pr(Deg.guess('84-03-08.3').frac + P)) + """
    212     1K-2  = %s""" % fmt(rp(Deg.guess('112-58-25.4').frac + S)) + """
    213     1K-3  = %s""" % fmt(vp(Deg.guess('54.3107235').frac + L)) + """
    214     1K-4  = %s""" % fmt(pr(Deg.guess('84-33-44.2').frac + S)) + """
    215     1K-5  = %s""" % fmt(pv(Deg.guess('7.8383177').frac + P)) + """
    216     1K-6  = %s""" % fmt(vp(Deg.guess('23-15-32.7').frac + P)) + """
    217     1K-7  = %s""" % fmt(pv(Deg.guess('126.2540802').frac + K)) + """
    218     1K-8  = %s""" % fmt(pv(Deg.guess('205-29-57.8').frac + K)) + """
    219     1K-9  = %s""" % fmt(rs(Deg.guess('101.7366025').frac + S)) + """
    220     1K-10 = %s""" % fmt(sv(Deg.guess('160-23-45.2').frac + T)) + """
    221     1K-11 = %s""" % fmt(pv(Deg.guess('79.8680017').frac + K)) + """
    222     1K-12 = %s""" % fmt(vs(Deg.guess('52-28-42.4').frac + R)) + """
    223     1K-13 = %s""" % fmt(sr(Deg.guess('109-01-49.8').frac + T)) + """
    224 
    225     2K-1  = %s""" % fmt(vs(Deg.guess('84-00-34.4').frac + L)) + """
    226     2K-2  = %s""" % fmt(rs(Deg.guess('76.1245808').frac + N)) + """
    227     2K-3  = %s""" % fmt(pr(Deg.guess('54-13-28.3').frac + P)) + """
    228     2K-4  = %s""" % fmt(rp(Deg.guess('182.7394778').frac + S)) + """
    229     2K-5  = %s""" % fmt(sr(Deg.guess('162-45-25.7').frac + L)) + """
    230     2K-6  = %s""" % fmt(pr(Deg.guess('60-41-55.2').frac + S)) + """
    231     2K-7  = %s""" % fmt(rp(Deg.guess('69.4792556').frac + R)) + """
    232     2K-8  = %s""" % fmt(rp(Deg.guess('130-50-06.1').frac + L)) + """
    233     2K-9  = %s""" % fmt(vs(Deg.guess('84-08-54.3').frac + K))
    234     )