diverse Änderungen, Versuch der Lösung der zweiten GHA mit Louville
This commit is contained in:
@@ -10,7 +10,9 @@ from math import comb
|
||||
# Panou, Korakitits 2019
|
||||
|
||||
|
||||
def gha1_num(ell: ellipsoide.EllipsoidTriaxial, x, y, z, alpha0, s, num):
|
||||
def gha1_num(ell: ellipsoide.EllipsoidTriaxial, point, alpha0, s, num):
|
||||
phi, lamb, h = ell.cart2geod("ligas3", point)
|
||||
x, y, z = ell.geod2cart(phi, lamb, 0)
|
||||
values = ell.p_q(x, y, z)
|
||||
H = values["H"]
|
||||
p = values["p"]
|
||||
@@ -57,7 +59,7 @@ def checkLiouville(ell: ellipsoide.EllipsoidTriaxial, points):
|
||||
pass
|
||||
|
||||
|
||||
def gha1_ana(ell: ellipsoide.EllipsoidTriaxial, x, y, z, alpha0, s, maxM):
|
||||
def gha1_ana(ell: ellipsoide.EllipsoidTriaxial, point, alpha0, s, maxM):
|
||||
"""
|
||||
Panou, Korakitits 2020, 5ff.
|
||||
:param ell:
|
||||
@@ -69,6 +71,7 @@ def gha1_ana(ell: ellipsoide.EllipsoidTriaxial, x, y, z, alpha0, s, maxM):
|
||||
:param maxM:
|
||||
:return:
|
||||
"""
|
||||
x, y, z = point
|
||||
x_m = [x]
|
||||
y_m = [y]
|
||||
z_m = [z]
|
||||
@@ -78,7 +81,7 @@ def gha1_ana(ell: ellipsoide.EllipsoidTriaxial, x, y, z, alpha0, s, maxM):
|
||||
n = np.array([x / sqrtH,
|
||||
y / ((1-ell.ee**2) * sqrtH),
|
||||
z / ((1-ell.ex**2) * sqrtH)])
|
||||
u, v = ell.cart2para(x, y, z)
|
||||
u, v = ell.cart2para(np.array([x, y, z]))
|
||||
G = np.sqrt(1 - ell.ex**2 * np.cos(u)**2 - ell.ee**2 * np.sin(u)**2 * np.sin(v)**2)
|
||||
q = np.array([-1/G * np.sin(u) * np.cos(v),
|
||||
-1/G * np.sqrt(1-ell.ee**2) * np.sin(u) * np.sin(v),
|
||||
@@ -139,23 +142,33 @@ def gha1_ana(ell: ellipsoide.EllipsoidTriaxial, x, y, z, alpha0, s, maxM):
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
ell = ellipsoide.EllipsoidTriaxial.init_name("Eitschberger1978")
|
||||
# ell = ellipsoide.EllipsoidTriaxial.init_name("Eitschberger1978")
|
||||
ell = ellipsoide.EllipsoidTriaxial.init_name("BursaSima1980")
|
||||
ellbi = ellipsoide.EllipsoidTriaxial.init_name("Bessel-biaxial")
|
||||
re = ellipsoide.EllipsoidBiaxial.init_name("Bessel")
|
||||
x0 = 5672455.1954766
|
||||
y0 = 2698193.7242382686
|
||||
z0 = 1103177.6450055107
|
||||
alpha0 = wu.gms2rad([20, 0, 0])
|
||||
s = 500000
|
||||
num = 100
|
||||
werteTri = gha1_num(ellbi, x0, y0, z0, alpha0, s, num)
|
||||
print(aus.xyz(werteTri[-1][1], werteTri[-1][3], werteTri[-1][5], 8))
|
||||
print("Distanz Triaxial Numerisch", np.sqrt((x0-werteTri[-1][1])**2+(y0-werteTri[-1][3])**2+(z0-werteTri[-1][5])**2))
|
||||
# checkLiouville(ell, werteTri)
|
||||
werteBi = ghark.gha1(re, x0, y0, z0, alpha0, s, num)
|
||||
print(aus.xyz(werteBi[0], werteBi[1], werteBi[2], 8))
|
||||
print("Distanz Biaxial", np.sqrt((x0-werteBi[0])**2+(y0-werteBi[1])**2+(z0-werteBi[2])**2))
|
||||
|
||||
werteAna = gha1_ana(ell, x0, y0, z0, alpha0, s, 7)
|
||||
print(aus.xyz(werteAna[0], werteAna[1], werteAna[2], 8))
|
||||
print("Distanz Triaxial Analytisch", np.sqrt((x0-werteAna[0])**2+(y0-werteAna[1])**2+(z0-werteAna[2])**2))
|
||||
# Panou 2013, 7, Table 1, beta0=60°
|
||||
beta1 = wu.deg2rad(60)
|
||||
lamb1 = wu.deg2rad(0)
|
||||
beta2 = wu.deg2rad(60)
|
||||
lamb2 = wu.deg2rad(175)
|
||||
P1 = ell.ell2cart2(wu.deg2rad(60), wu.deg2rad(0))
|
||||
P2 = ell.ell2cart2(wu.deg2rad(60), wu.deg2rad(175))
|
||||
para1 = ell.cart2para(P1)
|
||||
para2 = ell.cart2para(P2)
|
||||
cart1 = ell.para2cart(para1[0], para1[1])
|
||||
cart2 = ell.para2cart(para2[0], para2[1])
|
||||
ell11 = ell.cart2ell2(P1)
|
||||
ell21 = ell.cart2ell2(P2)
|
||||
ell1 = ell.cart2ell2(cart1)
|
||||
ell2 = ell.cart2ell2(cart2)
|
||||
|
||||
c = 0.06207487624
|
||||
alpha0 = wu.gms2rad([2, 52, 26.2393])
|
||||
alpha1 = wu.gms2rad([177, 4, 13.6373])
|
||||
s = 6705715.1610
|
||||
pass
|
||||
|
||||
P2_num = gha1_num(ell, P1, alpha0, s, 1000)
|
||||
P2_ana = gha1_ana(ell, P1, alpha0, s, 70)
|
||||
pass
|
||||
Reference in New Issue
Block a user