#!/usr/bin/env python3 from decimal import Decimal as Dec from deg import Deg from math import tan, pi, sqrt def fmt(deg): if deg > 180: deg -= 360 elif deg < -180: deg += 360 return "%12.7f" % deg def pr(deg): return 270 + deg def pv(deg): return 270 - deg def vp(deg): return 180 + deg def vs(deg): return 180 - deg def sv(deg): return 90 + deg def sr(deg): return 90 - deg def rs(deg): return deg def rp(deg): return 360 - deg # Sklypu pradiniu tasku (1 ir 15) koordinates: X1 = Dec('16639.290') Y1 = Dec('25500.960') X15 = Dec('17191.590') Y15 = Dec('25121.430') # Sklypu sujungimo tasko T3 koordinates: XT3 = Dec('16971.790') YT3 = Dec('26685.160') Xcoords = Dec('17000') Ycoords = Dec('26700') # T1, T2 XT1 = Dec('16640.989') YT1 = Dec('25379.137') XT2 = Dec('17271.328') YT2 = Dec('25325.608') # Pataisos ATKARPOMS: A = Dec('-2.207') B = Dec('1.999') C = Dec('4.838') D = Dec('2.862') E = Dec('-5.907') F = Dec('-3.744') G = Dec('-1.466') H = Dec('6.841') M = Dec('-4.824') # Pataisos KAMPAMS: K = Dec('-7.7422786') L = Dec('-6.6428275') N = Dec('-4.2872043') P = Dec('-3.1145084') R = Dec('-7.2564859') S = Dec('3.8874407') T = Dec('-8.7554531') L1L1 = Dec('125.829') + G L1L2 = Dec('81.682') + E L1L3 = Dec('61.206') + H L1L4 = Dec('121.055') + D L1L5 = Dec('79.892') + B L1L6 = Dec('159.299') + H L1L7 = Dec('76.500') + E L1L8 = Dec('51.091') + G L1L9 = Dec('93.765') + F L1L10 = Dec('58.926') + D L1L11 = Dec('79.061') + M L1L12 = Dec('121.209') + D L1L13 = Dec('94.071') + C L2L1 = Dec('205.221') + C L2L2 = Dec('122.820') + G L2L3 = Dec('178.657') + H L2L4 = Dec('116.987') + B L2L5 = Dec('84.793') + H L2L6 = Dec('138.291') + F L2L7 = Dec('85.607') + H L2L8 = Dec('114.589') + G L2L9 = Dec('79.210') + D # Drawing angles DK1K1 = pr(Deg.guess('84-03-08.3').frac + P) DK1K2 = rp(Deg.guess('112-58-25.4').frac + S) DK1K3 = vp(Deg.guess('54.3107235').frac + L) DK1K4 = pr(Deg.guess('84-33-44.2').frac + S) DK1K5 = pv(Deg.guess('7.8383177').frac + P) DK1K6 = vp(Deg.guess('23-15-32.7').frac + P) DK1K7 = pv(Deg.guess('126.2540802').frac + K) DK1K8 = pv(Deg.guess('205-29-57.8').frac + K) DK1K9 = rs(Deg.guess('101.7366025').frac + S) DK1K10 = sv(Deg.guess('160-23-45.2').frac + T) DK1K11 = pv(Deg.guess('79.8680017').frac + K) DK1K12 = vs(Deg.guess('52-28-42.4').frac + R) DK1K13 = sr(Deg.guess('109-01-49.8').frac + T) DK2K1 = vs(Deg.guess('84-00-34.4').frac + L) DK2K2 = rs(Deg.guess('76.1245808').frac + N) DK2K3 = pr(Deg.guess('54-13-28.3').frac + P) DK2K4 = rp(Deg.guess('182.7394778').frac + S) DK2K5 = sr(Deg.guess('162-45-25.7').frac + L) DK2K6 = pr(Deg.guess('60-41-55.2').frac + S) DK2K7 = rp(Deg.guess('69.4792556').frac + R) DK2K8 = rp(Deg.guess('130-50-06.1').frac + L) DK2K9 = vs(Deg.guess('84-08-54.3').frac + K) # Answer angles K1K1 = Deg.guess('84-03-08.3').frac + P K1K2 = Deg.guess('112-58-25.4').frac + S K1K3 = Deg.guess('54.3107235').frac + L K1K4 = Deg.guess('84-33-44.2').frac + S K1K5 = Deg.guess('7.8383177').frac + P K1K6 = Deg.guess('23-15-32.7').frac + P K1K7 = Deg.guess('126.2540802').frac + K K1K8 = Deg.guess('205-29-57.8').frac + K K1K9 = Deg.guess('101.7366025').frac + S K1K10 = Deg.guess('160-23-45.2').frac + T K1K11 = Deg.guess('79.8680017').frac + K K1K12 = Deg.guess('52-28-42.4').frac + R K1K13 = Deg.guess('109-01-49.8').frac + T K2K1 = Deg.guess('84-00-34.4').frac + L K2K2 = Deg.guess('76.1245808').frac + N K2K3 = Deg.guess('54-13-28.3').frac + P K2K4 = Deg.guess('182.7394778').frac + S K2K5 = Deg.guess('162-45-25.7').frac + L K2K6 = Deg.guess('60-41-55.2').frac + S K2K7 = Deg.guess('69.4792556').frac + R K2K8 = Deg.guess('130-50-06.1').frac + L K2K9 = Deg.guess('84-08-54.3').frac + K H1 = 4.82 SK1 = 41.08 A1 = H1 * tan(SK1 * pi / 180) H2 = 20.38 SK2 = 17.69 A2 = H2 * tan(SK2 * pi / 180) # Area P1_virsutine = Dec('63425.860') P2_apatine = Dec('56139.919') P3_virsutine = Dec('59232.387') P4_apatine = Dec('50411.889') def f2_v1(h, pv, pa): return h/3*(float(pv+pa)+sqrt(pv*pa)) def f3_v2(h, pv, pa): return h/2*float(pv+pa) def f4_v(v1, v2): return (v1 + v2) / 2 fig1_v1 = f2_v1(H1, P1_virsutine, P2_apatine) fig1_v2 = f3_v2(H1, P1_virsutine, P2_apatine) fig1_v = f4_v(fig1_v1, fig1_v2) fig2_v1 = f2_v1(H2, P3_virsutine, P4_apatine) fig2_v2 = f3_v2(H2, P3_virsutine, P4_apatine) fig2_v = f4_v(fig2_v1, fig2_v2) # Kainos rek_kaina = Dec('871.29') rek_plotas = Dec('97895.626') nauj_kaina = Dec('545.84') / 22 nauj_plotas = Dec('34469.766') ekspl_kaina = Dec('16.48') / 8 ekspl_plotas = Dec('22960.319') visa_kaina = ( rek_kaina * rek_plotas + nauj_kaina * nauj_plotas + ekspl_kaina * ekspl_plotas ) if __name__ == '__main__': print("""Sklypu pradiniu tasku (1 ir 15) koordinates: Atkarpos: 1L-1 = %7.3f""" % (Dec('125.829') + G) + """ 1L-2 = %7.3f""" % (Dec('81.682') + E) + """ 1L-3 = %7.3f""" % (Dec('61.206') + H) + """ 1L-4 = %7.3f""" % (Dec('121.055') + D) + """ 1L-5 = %7.3f""" % (Dec('79.892') + B) + """ 1L-6 = %7.3f""" % (Dec('159.299') + H) + """ 1L-7 = %7.3f""" % (Dec('76.500') + E) + """ 1L-8 = %7.3f""" % (Dec('51.091') + G) + """ 1L-9 = %7.3f""" % (Dec('93.765') + F) + """ 1L-10 = %7.3f""" % (Dec('58.926') + D) + """ 1L-11 = %7.3f""" % (Dec('79.061') + M) + """ 1L-12 = %7.3f""" % (Dec('121.209') + D) + """ 1L-13 = %7.3f""" % (Dec('94.071') + C) + """ 2L-1 = %7.3f""" % (Dec('205.221') + C) + """ 2L-2 = %7.3f""" % (Dec('122.820') + G) + """ 2L-3 = %7.3f""" % (Dec('178.657') + H) + """ 2L-4 = %7.3f""" % (Dec('116.987') + B) + """ 2L-5 = %7.3f""" % (Dec('84.793') + H) + """ 2L-6 = %7.3f""" % (Dec('138.291') + F) + """ 2L-7 = %7.3f""" % (Dec('85.607') + H) + """ 2L-8 = %7.3f""" % (Dec('114.589') + G) + """ 2L-9 = %7.3f""" % (Dec('79.210') + D) + """ Kampai: 1K-1 = %s""" % fmt(pr(Deg.guess('84-03-08.3').frac + P)) + """ 1K-2 = %s""" % fmt(rp(Deg.guess('112-58-25.4').frac + S)) + """ 1K-3 = %s""" % fmt(vp(Deg.guess('54.3107235').frac + L)) + """ 1K-4 = %s""" % fmt(pr(Deg.guess('84-33-44.2').frac + S)) + """ 1K-5 = %s""" % fmt(pv(Deg.guess('7.8383177').frac + P)) + """ 1K-6 = %s""" % fmt(vp(Deg.guess('23-15-32.7').frac + P)) + """ 1K-7 = %s""" % fmt(pv(Deg.guess('126.2540802').frac + K)) + """ 1K-8 = %s""" % fmt(pv(Deg.guess('205-29-57.8').frac + K)) + """ 1K-9 = %s""" % fmt(rs(Deg.guess('101.7366025').frac + S)) + """ 1K-10 = %s""" % fmt(sv(Deg.guess('160-23-45.2').frac + T)) + """ 1K-11 = %s""" % fmt(pv(Deg.guess('79.8680017').frac + K)) + """ 1K-12 = %s""" % fmt(vs(Deg.guess('52-28-42.4').frac + R)) + """ 1K-13 = %s""" % fmt(sr(Deg.guess('109-01-49.8').frac + T)) + """ 2K-1 = %s""" % fmt(vs(Deg.guess('84-00-34.4').frac + L)) + """ 2K-2 = %s""" % fmt(rs(Deg.guess('76.1245808').frac + N)) + """ 2K-3 = %s""" % fmt(pr(Deg.guess('54-13-28.3').frac + P)) + """ 2K-4 = %s""" % fmt(rp(Deg.guess('182.7394778').frac + S)) + """ 2K-5 = %s""" % fmt(sr(Deg.guess('162-45-25.7').frac + L)) + """ 2K-6 = %s""" % fmt(pr(Deg.guess('60-41-55.2').frac + S)) + """ 2K-7 = %s""" % fmt(rp(Deg.guess('69.4792556').frac + R)) + """ 2K-8 = %s""" % fmt(rp(Deg.guess('130-50-06.1').frac + L)) + """ 2K-9 = %s""" % fmt(vs(Deg.guess('84-08-54.3').frac + K)) )