stud/I/Karto/assignment3/measure.py

235 lines
7.2 KiB
Python
Raw Permalink Normal View History

2019-11-18 11:36:19 +02:00
#!/usr/bin/env python3
2019-11-18 13:49:37 +02:00
from decimal import Decimal as Dec
2019-11-18 11:36:19 +02:00
from deg import Deg
2019-11-24 19:04:33 +02:00
from math import tan, pi, sqrt
2019-11-21 09:33:15 +02:00
2019-11-18 19:46:26 +02:00
def fmt(deg):
2019-11-18 13:49:37 +02:00
if deg > 180:
2019-11-18 19:46:26 +02:00
deg -= 360
elif deg < -180:
deg += 360
return "%12.7f" % deg
2019-11-18 13:49:37 +02:00
2019-11-21 09:04:44 +02:00
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
2019-11-18 13:49:37 +02:00
# 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')
2019-11-21 08:52:42 +02:00
Xcoords = Dec('17000')
Ycoords = Dec('26700')
2019-11-19 10:02:19 +02:00
# T1, T2
XT1 = Dec('16640.989')
YT1 = Dec('25379.137')
XT2 = Dec('17271.328')
YT2 = Dec('25325.608')
2019-11-19 10:02:19 +02:00
2019-11-18 11:36:19 +02:00
# Pataisos ATKARPOMS:
2019-11-18 13:49:37 +02:00
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')
2019-11-18 11:36:19 +02:00
# Pataisos KAMPAMS:
2019-11-18 13:49:37 +02:00
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')
2019-11-18 11:36:19 +02:00
2019-11-21 09:04:44 +02:00
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
2019-11-21 09:04:44 +02:00
2019-11-24 19:04:33 +02:00
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
2019-11-21 10:36:11 +02:00
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
)
2019-11-21 10:12:12 +02:00
2019-11-21 09:04:44 +02:00
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))
)