Jakobimatrix Tachymeter Numerisch teilweise fertig. Tabelle Beobachtungen muss noch Substituiert werden

This commit is contained in:
2025-12-15 11:30:13 +01:00
parent 4db713b2da
commit 669db5373f
10 changed files with 2765 additions and 49 deletions

57
Berechnungen.py Normal file
View File

@@ -0,0 +1,57 @@
import sympy as sp
class Berechnungen:
def __init__(self, a, b):
self.a_wert = a
self.b_wert = b
self.e_quadrat_wert = self.e_quadrat()
self.e_strich_quadrat_wert = self.e_strich_quadrat()
def e_quadrat(self):
return (self.a_wert**2 - self.b_wert**2) / self.a_wert **2
def e_strich_quadrat(self):
return (self.a_wert**2 - self.b_wert**2) / self.b_wert **2
def P(self, x, y):
return sp.sqrt(x**2 + y**2)
def hilfswinkel(self, z, x, y):
hw = sp.atan2(z * self.a_wert, self.P(x, y) * self.b_wert)
return hw
def B(self, z, x, y):
hilfswinkel = self.hilfswinkel(z, x, y)
B = sp.atan2((z + self.e_strich_quadrat_wert * self.b_wert * sp.sin(hilfswinkel) ** 3), (self.P(x, y) - self.e_strich_quadrat_wert * self.a_wert * sp.cos(hilfswinkel) ** 3))
return B
def L(self, x, y):
return sp.atan2(y, x)
def H(self, x, y, z):
B = self.B(z, x, y)
H = (self.P(x, y) / sp.cos(B)) - self.a_wert / (sp.sqrt(1 - self.e_quadrat_wert * sp.sin(B) ** 2))
return H
def geometrische_breite_laenge(self, dict_koordinaten):
for punktnummer, matrix in dict_koordinaten.items():
dict_koordinaten[punktnummer] = [matrix, self.B(matrix[2], matrix[0], matrix[1]), self.L(matrix[0], matrix[1])]
return dict_koordinaten
class Einheitenumrechnung:
def __init__(self):
pass
def mas_to_rad(mas):
umrechnungsfaktor = 1 / 1000 * 1 / 3600 * sp.pi / 180
grad = mas * umrechnungsfaktor
return grad
def mm_to_m(mm):
m = mm / 1000
return m
def ppb(ppb):
ppb *= 10 ** (-9)
return ppb