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 )